posjirka
Vytvořené odpovědi
-
AutorPříspěvky
-
posjirkaÚčastník
??? co tam chceš připojit na d2/3 ??
posjirkaÚčastníknepujde. LCD nemá komunikaci přes ISP a tak bude dělat nesymsly.
posjirkaÚčastníkrozhodně to jde. Ale né tak jak si představuješ. nevím o knihovně, která by dokázalo překecat LCD shield pro fungování přes pár pinů. To co čteš ( podle všeho používat pouze analogový piny) ukazuje spíš najiný přístup k LCD. využívá se tzv I2C/TWI sběrnice, která přes převodník komunikuje s LCD. použítá to na UNU piny A4/A5. Každopádně to nejde na tvém shieldu. musel bys udělat jiný shield. Koupit to jako shiel tuším nejde. jde koupit pouze moduly :
http://www.santy.cz/moduly-c22/arduino-lcd-1602-16×2-modul-shield-mega-nano-i2c-redukce-seriovy-serial-2560-i52/použití pinu 11/12/13 je pro isp komunikaci , která umožnujě až 3 zařízení na stejných pinech. fígl je v tom, že tyto piny jsou komunkační a zavolání, které zařízení se má používat se děje tak, že tyto zařízení mají vstupy CE na nějákém dalším pinu (každé zařízení jiný pin) a sepnutím toho pinu aktivuješ dané zařízení. To je ten pin 10 na ethernet shield. Tak fungují zařízení ISP, LCD display toto rozhraní nepoužívá a blokuje piny.
resumé:
1. budˇdáš LCD na jiné piny,nevím kolik jich máš ještě volných
2. dáš LCD na I2C sběrnici + A0 pro talčítka
3. použiješ jnou sběrnici než ethernet (RS485, Bluetooth, 1-wire – prostě něco co používá UART piny 0/1)v každém případě je na čase podívat se na Arduino MEGA, už jen pro volné piny.
posjirkaÚčastníka nepřemýšlel si o WIFI řešení.
posjirkaÚčastníka napadlo tě třeba udělat si programovací shield?
Já jsem jeden navrhoval pro děti do kroužku elektro. Programoval
ATTINY rady 85
Atmega 328P
měl slave ISP port pro přímé programování jiných desek
signalizaci TEST, HEART, PROG. ERROR.
Bohužel ho mám v PCB EXPRESS.posjirkaÚčastníkarduino může ungovat jako programator, ale ne tak, že vyhodiš původní procesor a dáš tam prázdný. Tak to opravdu nefunguje. Procesor má v e funkci arduina nahraný bootloader, který jej částečně řídí včetně progromování přes UART.
Stnadardně se totiž programuje přes ISP port a to ej to co ti dal BlindP.
To že originální čip dáš jinam bez oscilátou ti samozřejmě způsobí, že nebude fungovat. Každý procesor má tzv. fuse, které nastavují spoustu parametrů a jeden z nich je i jaký oscilátor se má použít a na jaké frekvenci. Ty „bez krystalu“ používají interní oscilátor , ael nejde odpojit krystal a čekat, že to bdeu fungovat. Bez přenastavení fuse to opravdu nejde.
Pořádně prostuduj ten první odkaz od BlindP a vyzkoušej … na tohle téma najdeš i pár vláken co se ptali jiní před tebou . hledat, hledat, zkoušet a hledat 🙂posjirkaÚčastníkvidím, že sis poradil sám, tak jen pro klid mojí duše:
zkus toto zapojení:
http://www.instructables.com/id/ARDUINO-SOLAR-CHARGE-CONTROLLER-Version-20/29.12.2016 v 23:16 odpověď na: Násypkometr – ukazatel množství uhlí v násypce u automatického kotle #9807posjirkaÚčastníkjen pro inspiraci:
http://www.hwkitchen.com/products/load-sensor-50kg/29.12.2016 v 23:09 odpověď na: Násypkometr – ukazatel množství uhlí v násypce u automatického kotle #9806posjirkaÚčastníkmyslím si, že to je možné ze 2 příčin:
1. snímá to uhelný prach
2. snímá ti odrazy od stěn násypky.
moc mě nenapdá jak to vyřešit. nejraději bych navrh řešní buˇb pomocí optických čidel ale ty se za chvilku zanesou). Druhá možnost mě napadá tlakové čidlo, ale to by moc spolehlivé nebylo. Možná použit něco jako váhu. čidl ase dají koupit zvláš´t a můžeš je použít jako podložky pod nožičky držáku:
https://create.arduino.cc/projecthub/team-arduinotronics/arduino-scale-b821aeposjirkaÚčastníkpro autonomní blikání )oscilátor) bych použil časovat timer1.
tady je tutorial použití včetně knihovny:
https://playground.arduino.cc/Code/Timer1hestli chceš jen nastavovat rychlost blikání tak bych použil místo otočného přepínače raděčji potenciometr. připojený na analogový vystup (v unu jich máš 6). Do pomocné proměnné třeba „oldPot“ by sis zavedl předchozí hodnotu potenciometru.
V každé smyčce loop() bys zkonstroloval jestli nové nastavení se liší od starého (analogRead(A0) != oldPot) a pokud ano tak si přenastav časovat Timer1.
Takže ve výsledku bys použil přepínač na volbu funkce (zvuk/automat) a potenciometr na nastavení rychlosti. U toho potenciometru jen pozor musíš to uědlat trochu hrubší krok, protože půspbí hodně prvků, které nastavení potenciometru ovlivňují (teplota okolí, stabilita referenčího napětí, odchylka LBA kroku, …).posjirkaÚčastníkten dotaz toho moc neřekne. Jaké používáš moduly pro komunikaci? Na jakou vzdálenost? kod programu by taky nebyl k zahození 🙂
Proč používáš Rs485? potřebuješ tahat kvanta dat nebo komunikuješ s jiným zařázením?
I2c je Arduinu blíž, i když má krátky dosah. Už před pár lety jsem měl myšlenku komunikovat pře one-Wire sběrnici. Jednoduchá, s dlouhým dosahem (i když né 1,2Km jak Rs485) a pro základní komunikaci je to bez problémů. Kolega řešil doma síť proopjení asi 3 arduin a nakonec to vyřešil pomocí SW seriových portů na 1 arduinu, které řídilo zbytek. Tochu těžkopádné, ale účelové.posjirkaÚčastníkna tlačítka se vykašli. použij přepínač (on/off) pro přepínání zváslosti na hudbě/oscilátor a pak otočný přepínač (ideálně BCD) pro přepínání předvoleb. BCD znamená, že jednotlivé polohy jsou řešeny binárně takže má třeba 16 poloh ,ale jen 4 kontakty. Třeba teto:
https://www.gme.cz/p-kdr10proč to udělat takto? ve smyčce loop() si nejdřív zjistíš, v jakém stavu je přepínač ovládání (hudba/oscilátor) a případně v jaké stavuje přepínač voleb (otočný) a podle toho dál pokračuješ ve smyčce.
Tím máš zajištěno, že to tak bude i po vypnutí napájení, navíc nemusíš obsluhovat přerušení tlačítkem. Vše ostatní už je stejně shodne.posjirkaÚčastníku 3d tiskárny bych se nebál napájení arduina, ale spíš ostatních komponekt (tisková hlava, motory,..) protože ty pojedou nejspíš přes limit svých možností (12V napájení). Arduino mby to mělo zvládnout, i když nevim jak máš napájené drivery motoru. Ve zkratce když tam bylo 12v/5A použij opět 12V a min. 5A. Tohle laborování kde ušetřit pár korun ta může stát celou tiskárnu.
posjirkaÚčastníkSoubor – Vlastnosti – Velikost fontu editoru
DEfaultně je tam nastaveno 12.posjirkaÚčastníkrozhodně se jedná o chybu bu´d v:
– nastavení rychlosti seriove linky
– nastavení serial monitoru (ukončovací znaky … NewLine, CR, …)
– knihovny SW seriové linky.Nejspáíš to bude to varinata 1 nebo 3. Dělá mi to taky u komunikace s GSM modulem a te´d jsem to na nějákou dobu odložil. mezitím jsem se dozvěděl, že SoftwareSerial není úplně ideální a je lepší použít její novější verzi/odnož.:
https://github.com/sirleech/NewSoftSerialzkus tuto knihovnu, nebo si sniž rychlost komunikaci na 9600 Bd (hlavně si to nastav na to LCD jinak je ti to prd platné. Otázka zní jestli to jde)
Jinak bys musel použít jinou desku (MEGA), která má 2 seriové linky (UART) přímo HW integrované v desce, takže nemuíš nic simulovat. Už hodně dlouho přemýšlím nad deskou METABOARD, která by měla být Arduino kmpatibilní (né 100%, protože má jiné zapojení ) a využívá V-USB pro programování a komunikaci, zatím co HW UART má volný pro jiné aplikace. Pro tebe by o bylo ideální řešení. Bohužel nemám vyzkoušeno 🙁
-
AutorPříspěvky