Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Teljes a tanácstalanságom Arduino Micro ügyben. A példaprogram a következő. Két változót létrehozok. A setup-ban beállítom a kimeneteket. A loop-ban a sok felesleges for ciklussal időt húzok, és dolgoztatom a procit. Ez után lefuttatom a timerek beállítását. Majd megint időhúzás és timer beállítás. Az időhúzás azért kell, hogy kissé ritkábban állítsa a timereket és szkópon valamelyest követni tudjam. Olyan problémákba botlok, amit nem tudok hová tenni.
Ha a valtozo2 nevű változó int-ként van definiálva, akkor minden rendben, mindig szinkronban indulnak a timerek. (kis fázis ingadozással) Ha long-ként, akkor már a timer4 180 fokot hibádzik indulásnál, véletlen szerűen. A két csatolt videón látni. A kérdésem az, hogy mi ez? Értetlenül nézek. Azt már nem is merem írni, hogy ha a sok for ciklus helyett delay()-t használok késleltetésnek, akkor is szétfut a szinkron.
A hozzászólás módosítva: Aug 21, 2017
Ha teheted, Arduino nélkül próbáld ki a programod. Se bootloader, se Arduino IDE, használj mondjuk Atmel Studio-t, azt hiszem, Arduino-val fel lehet vele másik AVR-t programozni. Én is szívtam ezzel, a timer0-t akartam állítgatni, aztán mikor visszaírtam soros porton, hogt mi is lett beállítva, meglepődtem... Néhánt bit már be volt állítva (az Arduino tette). Lenulláztam előtte, így működött. Te is írasd vissza, mit sikerül és mi nem.
Szerintem túlcsordulásod van a várakozó ciklusban. Jézusom. 325x567 már maga 184000. Hogyan férne el int-ben? Aztán hozzáadsz meg 10000-ret. Majdnem 200000-rel számolsz, ide long kell, de a 325 és 567 elé is be kellene írnod ezt: (long), mert különben csak int-ként használja őket a fordító. Delay helyett jó lett volna egy ciklus, ami 1-től 14000-ig számol, ebbe beágyazva egy ugyanilyen, és így tovább, ameddig akarod. A hozzászólás módosítva: Aug 22, 2017
Tudom, hogy túlcsordul. De az nem is is igazán érdekes. A program részlet csak időhúzás. Fusidelay. Csak azt nem értem, hogy ha long változót használok, akkor miért nem megy a timer rendesen. A 0-ás timert hanyagolom most. A 4-est használom helyette. De valami nem oké. Mi köze van egy változónak a timerek helyes működéséhez. Ilyent én 328-nál és 2560-nál nem tapasztaltam. Bug, vagy ficsőr?
Az Atmel Studio sajnos nincsen Linuxra. A hozzászólás módosítva: Aug 22, 2017
Ha pl. egy tömböt túlírsz, akkor felülírhatsz egy olyan memóriarészt, ami másik változóhoz tartozik. Változónál ilyenről nincs szó, de hibás az egész fusi delay-ed. Ki kell javítani. A timerek regisztereit visszaküldted soros porton? Leellenőrizted? Mindent küldj vissza, lehet, hogy az a regiszter is változtatva van Arduino által, amelyikre nem is gondolsz.
Köszönöm az ötletet. A regiszterek kiíratása tényleg érdekes dolgokat mutatott. A regiszterek tartalma kis értékben változik. Viszont, néha, véletlen szerűen a kitöltési tényező értékével változik meg. Ilyenkor fázist vált a jel. De néha úgy is fázist vált, hogy a regiszter tartalma szerint nem kellene neki fázist váltania.
Érdekes, hogy amikor a regiszterek szerint vált fázist a jel, akkor mindegyik timer fázist vált, így a szkópon nincsen változás. Persze ezt úgy produkálja, hogy a fusi dolgokat száműztem. Helyette delayt használok. Innen azt hiszem, hogy feladom.
Köszi!
Sajnos nem fogalmaztam elég jól meg a dolgot. Sem c, sem cpp-t nem akartam írni. Csak egy könyvtárban van mondjuk 2 db ino fájl. Ha az egyikben írok egy függvényt, akkor tökéletesen az a másikból meg is hívható. A gondol csak az, hogy ha az egyiken setup() és a loop()-on kívül deffiniálok egy változót, vagy objektumot, akkor csak abból az ino-ból hivatkozhatok rá, amiben le van írva. A másikból nem tudtam. Vagy a két fájl összefűzésével lehet a gond (hogy később van deffiniálva) (Sajna olyat nem találtam, hogy én adhatnám meg, hogy melyiket és hol fűzze hozzá a másikhoz.), vagy valahogy ilyen esetben másként kellene hivatkozni a változókra. Az az érdekes, hogy függvények esetén meg tökéletesen meg. _2file.ino
a1.ino
A hozzászólás módosítva: Aug 22, 2017
De ino-ból csak 1 lehet! (az a főnök) A másiknak *.C-nek kel lennie.
És kel föléjük 1 *.h header is amiben publikussá teszed a függvényeidet, változóidat. Hogy mindenűt látható legyen, ahova be #include-olod. Ezt így kel csinálni, ahogy mutattam!
Köszi.
Azért gondoltam, hogy ino-ból is lehet több, mert mikor mondom, hogy új fájl neve, és csak egy nevet írok és nem teszem oda, hogy.h vagy .c, akkor alapban egy újabb .ino-t hoz létre, és még a függvények meg is hívhatók egymásból. Csak ugye #include nem használható rájuk, és innentől csak részlegesen volt jó. Amúgy azt próbáltam, hogy egy a.h hozok csak létre, és már akkor a változók és az értékek megadását is beette a fordító. De akkor a szerkesztő hülyesége, hogy ha szó szerint csak egy nevet adok (amit kér), akkor olyan fájlt hoz létre ami nem is teljesen jó a fordítónak. Köszi a segítséget. A hozzászólás módosítva: Aug 22, 2017
Nem hülye, a fordító!
Csak kicsit butább, mint a megszokót átlag. És nem kínál fel választási lehetőségeket. (És nem tudja kitalálni a gondolataidat!)
SIM800 térerő "nagyságát" szeretném elküldni SMS ben.
Elküldöm az AT paracsot, ezt kapom vissza: +CSQ: 6,0 OK Hogyan tudom ebből a stringből kivágni a : és , közti részt?
A hozzászólás módosítva: Aug 27, 2017
Kezd összeállni a projekt, de elakadtam megint.
Sleep-ben van az arduino, meg a SIM800 is. SMS-t küldök rá, elindul az interrupt, mind a kettő "normál" módba kerül. Utána ki szeretném olvasni a kapott SMS (az SMS kiolvasás és feldolgozás működik , ha nem interrup-ból megyek oda). Miért nem működik interrupt után? (ez majdnem költői kérdés) Tapasztal e valaki hasonlót? Hogyan tudok tesztelni SMS küldés nélkül?
Van egy EA W162-X3LW alfanumerikus LCD-m. A problémám vele az, hogy felcserélve írja ki a sorokat a képernyőre a beépített LiquidCrystal Library-vel. A HelloWorld példaprogramnál is. Az lcd.setCursor() nem segít, csak az oszlop értéknek engedelmeskedik. Tehát a HelloWorld példaprogramnál maradva, az első sorban jelenik meg a számláló, a másodikban a "hello, world!" felirat. Miért lehet ez?
Sziasztok!
Azért nyitottam ezt a témát, mert egyáltalán nem találtam az oldalon olyan topicot, ami kifejezetten ezzel a vezérlővel foglalkozna. Adott egy speeduino nevű motorvezérlő platform, Arduino Mega alapokkal ( bővebben itt : https://speeduino.com/wiki/index.php/Speeduino ) . Rengeteg támogatott funkcióval és beállítással rendelkezik a kütyü. Én egy zárt hurkú vezérlést szeretnék megoldani, bosch lsu 4.2 szélessávú lambda szondával, viszont a rendszer csak keskeny sávú o2 szenzorokat kezel. Lehet ugyan kapni hozzá vezérlőt, viszont szívesebben építenék egyet ( http://www.wide-band.com/product-p/apsx_d1diy.htm ) . Elképzelésem az, hogy egy arduino nano kezelné ezt a szondát, és továbbítaná a jelet a motorvezérlőnek, viszont nem vagyok tisztában vele, hogy mit is kell valójában látni a motorvezérlőnek, és ezt miből tudom kinyerni, illetve leprogramozni, ebben szeretném a segítségeteket kérni.
Szia!
Egy linket tudsz küldeni a használt lib-ről?
Csatoltam a libraryt. Végül megoldottam úgy, hogy az lcd.Setcursor() paranccsal felcseréltem a két sort. Az lcd.Setcursor(0, 0) a második sor elejére tette a cursort, az lcd.Setcursor(0, 1) pedig az első sor elejére. (Az lcd.home() is a második elejére teszi a kurzort.) Így legalább működik, de értetlenül állok előtte.
Annó én is használtam hasonló OLED kijelzőt, ott is volt hasonló tréfa. Rég volt, nem emlékszem pontosan de könnyen lehet, hogy a vezérlő nem 100 %-ig HD44780 kompatibilis, ezért eme eltérés. A könyvtár valószínűleg a szabvány HD44780 vezérlőhöz készült, azok mondhatni általánosak.
Csinált már valaki Arduinóval mikrohullámú sütő, vagy automata mosógép vezérlést? Esetleg látott ilyet a neten? Link is jó lenne. Köszi.
Én gondolkodtam egy mosógép vezérlésen, de a paraméterek beállítása miatt inkább az analóg módot választottam.
Én most egy drága, de döglött mikrósütő korszerűsítésén elmélkedem.
Végül is csak egy időzítő 0-30 percig és egy másik időzítő 30, vagy 60 másodperces aminél állítható a kitöltési idő. Pl. 50-50% ki-bekapcsolási idő a fél teljesítmény. Relés kimenet. A beállítás lehetne nyomógomb, vagy rotary encoder. A hozzászólás módosítva: Aug 29, 2017
Könnyű ujjgyakorlat
![]() A hozzászólás módosítva: Aug 29, 2017
Sziasztok!
Az ARDUINO UNO eszközt szeretem volna összekötni a számító géppel, de nem működik. Amikor rákötöm az USB-re nem ismeri fel az eszközt. Próbáltam a frissíteni, de a windowt nem csinálja meg a driver frissítést. A serial usb2.0- át keres. Az operációs rendszer WIN 7. Kipróbáltam régebbi (1.06) és új Arduino (1.8) szoftware-rel.Próbáltam az Arduino program lévő driverek is telepíteni, de semmi. Érdekes mert az eszközt a program látja, de a kapcsolat az gép és az eszköz között nincs meg... Mi lehet a hiba? Mit csináltam rosszul?
Itt fölöttem sárga szalagban :"A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)" Látod?
kÖSZI...
Igen beállítottam az eszközkezelőt és a COM portot is... A LED világít. Szóval áramot kap. A drivert telepítem...
Sziasztok. Olyan gondom lenne vettem három lcd-t.
Kettő 20×4 egy pedig 16×2. Mind i2c modullal szerelve. Nem bírok semmit ki íratni rájuk. Eddig amiket vettem mind simán működött. Mega 2560-ra kötöttem őket. Próbáltam több mega-val is eggyel sem megy. Annyi, hogy a 20×4 első és harmadik sorra végig fekete. Mi lehet a gond. Köszönöm |
Bejelentkezés
Hirdetés |