Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Ezt írd be a google-ba "230v dimmer arduino" és rengeteg megoldást találsz.
Üdv!
Találtam egy másikat is:pwm drimmer Bizonyára a kettő kapcsolás(triakos és mosfetes) teljesen eltér egymástól, de mégis milyen különbség tapasztalható, ha ohmos terheléssel terhelem mindkettőt? Melyik a kiszámíthatóbb? A másik kérdés: Ha a képen látható áramkörbe bekötök egy kuplungus varrógép motort, aminek a fordultszáma a kuplunk legyomásának erősségétől függ, és mondjuk felére csökkentem a kimeneti elektromosságot(elnézést tudatlanságomért,de mit is változtatunk ilyenkor ha változik a lámpa fényereje? A szinuszjel meredekségét? Nyújtottságát?) akkor ha tövig nyomom a kuplungot, akkor a fordulatszám is fele lesz körübelül? Köszönöm! A hozzászólás módosítva: Jan 1, 2017
Sziasztok. 2 kérdéssel fordulnék hozzátok. Az első: Attiny12 ic-t tudok-e UNO-n keresztül programozni? A másik: Találtam sok projectet 45-ös processzorral ( leginkább a "snowfall" nevű project fogott meg),viszont itthon csak a 12 és 13-as típusom van. Nem gond ha a programot erre viszem fel?
Hát csak meg ne rázzon az áram, kicsit még tanulgass inkább.
Ami instructables -en van az jó lehet motorra, csak ki kell próbálni, persze ha külső gerjesztésű kefés motorod van. A hozzászólás módosítva: Jan 2, 2017
Sziasztok!
Egy olyan gondom lenne a következő kóddal, hogy a "Tank" felirat és az alatta lévő " LcdBarGraph" nem a kijelző szélén kezdődik, hanem beljebb. Valaki tudna nekem segíteni, hogy mit rontottam el?
Az lcd.begin előzze meg az összes egyéb lcd-hivatkozást.
így gondoltad?
Csak szimulációt futtattál?
Nálam élőben a kódtól elvárt képet adja ( I2C-s kijelzővel, de az mindegy kell, hogy legyen) A hozzászólás módosítva: Jan 2, 2017
nem, fel is töltöttem de ugyan az mint szimulálva
Lehet, hogy nem állítod vissza a kurzort a törlés után?:
Én frissítenék nálam az : 1.6.10-es bevált.
De a kód végén ott van a kurzortörlés, pár hozzászólással előrébb feltettem az egész kódót.
Most szedem az 1.8-at az a legfrissebb, aztán próba cseresznye ![]()
Mintha olvastam volna valahol olyat, hogy bizonyos látszólag négy soros kijelzők valójában csak két sorosak, csak sortörés van...
Próbálj a 17.-ik oszlopba írni, úgy mi az eredmény?... A hozzászólás módosítva: Jan 3, 2017
A frissítés megoldotta a problémát, köszi a segítséget!!
![]()
A régi IDE nem jól kezelte az ilyen kód közben i változó helyfoglalásokat:
Mintha most is ezek után jeletkezet a hiba nálad? Jobb, ha ezeket a kódod elejére teszed a többi változó definiálások közé, kevésbé lesz töredezett a memória.
A frissítés után jól működik, minden a helyén van.
Bár folyamatosan fejlesztik az arduino IDEt, de még mindig nem tökéletes.
Ezt jelzik a sok panaszok, hogy hosszabb használat után egyes programok kiakadnak memoria szivárgás hibajelenséggel. Aminek általában ismeretlen az oka. Ezt megelőzendő, javasoltam az említett változó deklarációs változtatást. A hozzászólás módosítva: Jan 3, 2017
Azért ezekkel az új kiadásokkal csak óvatosan. Nálam, meg ahogy itt 1-2 embernek javasoltam, akik netes mintaprogramokat próbáltak, azoknál volt fordítási hiba a frissebb kiadásokkal leginkább az 1.6.x és felette. Nálam konkrétan egy saját program nem akart lefordulni, az 1.6.xes verzióba, de visszatéve az 1.5.7est, simán ment.
Ez tényleg így van,délután én is ilyen for-on belüli változóval kínlódtam,most kipróbáltam,a program elején definiálva lefordítja.Egyébként a laptopon 1.8 van win 10-el,az mindkét esetben jól fordít,az asztali gépen is 1.8 van,de XP-vel és csak elöl definiált változóval fordít.
A Mega hat megszakítás bemenetének van-e egymáshoz képest prioritása,vagy ezt a programban kell elintézni?Lehet-e egy megszakítást egy másikkal megszakítani?A megszakítás egyszerű függvény(neve a megszakítás utasításban),ami a loop-ba tér vissza?
Meg lehet szakítani az interruptot, de elég veszélyes, rosszul időzítve soha sem lépsz ki a megszakítás fv-ből. A megszakítás amikor életbe lép, akkor az aktuális programfutás megáll, bárhol is voltál, a uC megjegyzi ezt a pontot. Lefuttatja az interrupt függvényt, ha ez kész, visszatér oda, ahol volt, és minden megy tovább.
Ezek szerint,ha több interrupt van érvényesítve és az egyik éppen fut,ennek elején célszerű a többit letiltani?Így mindig annak van prioritása amelyik előbb lép be,ez kicsit fura,a régi It kontrollerekre emlékszem homályosan.Az említett rossz időzítés hogyan jöhet létre?
Automatikusan letiltódik minden más interrupt, ha egybe belépsz. Paranccsal ez a cli(). Ha az interrupt elején beírod, hogy sei(), akkor jöhet egy másik interrupt, amiben esetleg ismét engedélyezve van a megszakítás, még mielőtt végezne, bejön az első, amit megszakított, és így toväbb, amíg a stack túl nem csordul, vagy a memória elfogy.
Aki gyorsabb, az nyer. Minek várjunk a másodikra? Honnan tudjuk mikor fog bekövetkezni? Addigra lehet végez az előző. Interruptban pedig általában csak pár sornyi programot írunk, flag-et állítunk be, vagy ilyesmi. Bármi másnak tudnia kell ennyit várni! Ha jól tudom 12 órajel amíg belépünk az interruptba. Kiszámolhatod nagyjából, hogy egy 10 órajeles interrupt mennyi időt igényel, szinte semmit. Ennek így is kell lennie. Kivételes esetekben, mint pl. LED-mátrix meghajtása, sok időt elszöszölhetek az interrupton belül, de ezt figyelembe véve a loopban, baj nem történhet. Pl. amikor DS18b20-szal kellett kommunikálnom, és a kijelzőt is frissíteni, akkor olvastam ki a szenzor adatait, amikor a kijelző éppen váltott, tehát sötét volt. Így elkerültem a villogást. Vagy olyan ritkára időzítettem a lekérdezést, hogy ne legyen zavaró a kijelzésnél. OneWire kommunikációnál fontos az időzítés. Ha megzavarom a kommunikációt interruottal, hibás eredményt kapok. |
Bejelentkezés
Hirdetés |