Analóg komparátor

Előfordulhat olyan feladat, amikor analóg feszöltség értéktől függ programunk működése. Pl. szeretnénk riasztást küldeni egy bizonyos feszültségszint átlépésekor. Nem teljesen légből kapott példa a tápfeszültség figyelése. Ha lecsökken egy bizonyos feszültségszint alá, akkor szóljon a program a felhasználónak, hogy baj van stb. Természetesen megvalósítható ez úgy is, hogy folyamatosan mérjük…

olvasson tovább

ADC átalakító részletesen

Az ATMega328 található ADC átalakító és a hozzá kapcsolódó bemenet választó multiplexer többé-kevésbé egyszerű működésű része a vezérlőnek. Az Arduino környezetben a használat roppant egyszerű. Egy kicsit azért több van ebben a részegységben, mint amit elsőre látunk. Ezért kalandregényre ne számítsunk! Érdemes még elolvasni az analóg komparátorról szóló leírást is….

olvasson tovább

Az energiatakarékos üzemmódokról részletesen

———————————————————— Ebben a témakörben már született egy rövid leírás (megtekinthető itt), ami elegendő lehet azoknak, akik számára fontos, hogy elemről történő üzemeltetés alatt a vezérlő minél kevesebbet fogyasszon, de nem akarnak a részletekbe merüli. Ha nagyon leegyszerűsítjük a dolgot, akkor annyi a lényeg, hogy kiadható egy „sleep” assembly utasítás, minek…

olvasson tovább

EEPROM kezelése alacsony szinten

——————————————————————— Az ATMEga328 vezérlőben 1Kbyte EEPROM memóriát találunk. Ez roppant hasznos olyan adatok tárolására, melyeket szeretnénk a tápfeszültség kikapcsolásának ideje alatt is megőrizni. Az EEPROM működési elvéről itt található információ. Sajnos ennek a memória típusnak nagy hátránya, hogy az adatok írása rendkívül lassú, valamint az újra írások száma is erősen…

olvasson tovább

I2C kommunikáció mélységei

Tartalom: ——————————————————— Az I2C port a legkényelmesebb sok periféria használata esetén. A gyakorlatban szinte végtelen (128db) I2C kommunikációval működő eszközt csatlakoztathatunk a vezérlőnkhöz mindössze két jelvezeték használatával (nomeg a közös GND). Természetesen az egyre több eszköz egyre lassúbb kommunikációt eredményez, de a kényelemnek mindig van ára. Ugyanígy problémát okoz a…

olvasson tovább

SPI port alacsony szinten

Az SPI átvitel az egyik leggyorsabb kommunikációs forma a vezérlők illetve SPI porttal rendelkező eszközök között, épp ezért alap felszereltség a mikrovezérlők világában. Az SPI port működése könnyedén megvalósítható szoftveres úton is, ha netán egy vezérlőben kevésnek bizonyul a beépített hardveres SPI portok száma. Azonban szoftveres megoldás esetén az átvitel…

olvasson tovább

USART alacsony szinten

———————————————————————————— Bár nem szoktunk rá gondolni, de az egyik elsődleges kommunikációs lehetőség az Arduino világban a soros port (tudományos nevén USART). Elsődleges, mert akkor is használjuk, amikor nem is tudunk róla. A bootloadert is tartalmazó Arduino UNO vagy nano (és pesze a többi alaplap) minden programfeltöltéshez az USART-ot használja. Az…

olvasson tovább

Időzítők belső lelkivilága

Időzítőkről eddig nem sok szó esett. Leginkább azért, mert nem volt rá igazán szükségem. Most azonban több olyan program írásába is belekezdtem, amiket szinte lehetetlen az időzítők által generált megszakítások nélkül megoldani. Fogjunk hát hozzá, és ismerjük meg működésüket részletesen. A leírásban sokszor fogok a vezérlő belső regisztereire hivatkozni. Ezek…

olvasson tovább

Digitális ki és bemenetek kezelése alacsony szinten

Az Arduino környezetben nagyon kényelmesen használható függvényeket gyártottak számunkra, és ezek segítségével a kód könnyen olvasható és értelmezhető. Ezek a függvények elrejtik elölünk a vezérlő működését, ami egyszerűvé teszi a programozást. Azonban ennek ára van, hiszen a programkódunk – anélkül hogy erről tudnánk – lényegesen hosszabb és ezáltal a végrehajtás…

olvasson tovább