4. Analóg jel beolvasása és a soros monitor - Arduino és programozása

Keresés a weboldalon

Programozási alapismeretek
Tartalomhoz ugrás

Főmenü:

4. Analóg jel beolvasása és a soros monitor

Haladás
8. témakör: analóg jel feldolgozása
Az eddigiekben csak a digitális vezérléssel foglalkoztunk. A bevezetőben (2. témakör) foglalkoztunk az analóg jelek értelmezésével. Most megvizsgáljuk, hogy értelmezi és kezeli az arduino az analóg jelek beolvasását. Analóg jel olvasásához -a Mega típusnál- 16 csatorna (A0-A15) áll rendelkezésre.
Röviden nézzük át, hogy egy alapvetően digitális felépítésű processzor, hogy kezelhet analóg jelet. Használ egy analóg jelet digitálissá alakító áramkört, az analóg-digitális konvertert (ADC). Ide kattintva megtekinthető az ADC felépítése és működése. Az Arduino Mega ADC-je 10 bites, így 1024 lépésre (0-1023) bontja fel az analóg jelet.  Alapértelmezésben a referencia feszültsége az 5 V-s tápfeszültség. Használható egyéb referenciafeszültség is, például 3,3V-s, de lehet külső feszültségforrás is. Ezt szoftveresen lehet kiválasztani.
Az analóg jel beolvasását az analogRead(A0); ahol a zárójelek közé a beolvasó port számát kell írni. A fejlesztőpanelon erre a célra került fel 2 potméter, melynek értékeit az A0 és A1 portokon lehet beolvasni.
Példa
/* a deklarált változóba beolvassuk az A0 portra csatlakozó,
tápfeszültségre kapcsolódó pótméter csúszkáján megjelenő feszültséget*/
int potm = 0;
void setup() {
}
void loop() {
potm = analogRead (A0);/* a beolvasott és 0-1023 közé átkonvertált
aktuális feszültségérték átadása a "potm" változónak*/
}
A soros monitor
A korábbi foglalkozásokon már bemutattam a soros monitor hasznosságát (pl. kapcsoló kezelés), hiszen alkalmazásával, láthatóvá tehetők a program futása alatti események. Különösen hibás programfutáskor válik nagyon hasznossá ez a szolgáltatás, amikor programunk szintaktikailag jól fut, de mégsem az történik, amit elterveztünk. (szemantikai hiba). Több adat is megjeleníthető egyszerre, ha több Serial.println utasítást alkalmazunk különféle változók kiíratására.
A Serial utasítások a mikrovezérlő adatait olvassák vissza a számítógépbe, tehát valós képet adnak a futó folyamatról. A soros monitor nem indul automatikusan, az Arduino IDE  program "Eszközök" menüjében kell bekapcsolni, aminek hatására egy külön ablak jelenik meg a képernyőn, és karakteresen iratja ki a lekért adatokat.  
Példa
/* a deklarált változóba beolvassuk az A0 portra csatlakozó,
tápfeszültségre kapcsolódó pótméter csúszkáján megjelenő feszültséget*/
int potm = 0;
void setup() {
Seial.begin(9600); // soros monitor bekapcsolása és a sebesség beállítása
}
void loop() {
potm = analogRead (A0);/* a beolvasott és 0-1023 közé átkonvertált
aktuális feszültségérték átadása a "potm" változónak*/
Seial.println(potm);//potm változó érték kiíratása, adatonként soremeléssel
}
Az X-Y Plotter
A program soros szolgáltatásai között szerepel az X-Y plotter, amely szintén az "Eszközök" menüpont alatt található. A használt programverzióban együtt nem nem használható a két szolgáltatás, az X-Y Plotter csak akkor indítható, ha a Soros monitor bezárásra került. Arduino IDE 2,00 verziótól már együtt is használhatók!
Az X-Y plotter szolgáltatás hasonló a soros monitoréhoz, a soros monitor hívási utasításaival lehet indítani. A különbség amíg a soros monitor karakteresen, addig az X-Y plotter grafikusan ábrázol. Az előző példa látványosan jeleníti meg a fejlesztőpanel A0 portjára kötött potencióméter mozgatását.
Vissza a tartalomhoz | Vissza a főmenühöz