Minden, ami elektronika

Elektronikával hobbi szinten foglalkozó oldal

Konstansok

2019. augusztus 23. 08:33 - raptor13

Leírás

A konstansok előre meghatározott kifejezések az arduino nyelven. Ezeket arra használják, hogy a programok könnyebben olvashatók legyenek.

A konstansokat csoportokba soroljuk:

Logikai szintek meghatározása: igaz és hamis (logikai állandó)

Két állandó van, amelyeket a logikai állapotok meghatározására használnak az arduino nyelven: igaz és hamis.

hamis (false)

a hamisat könnyebb a kettő közül meghatározni. a hamis értéke 0 (nulla).

igaz (true)

Az igaz értéket gyakran 1-nek definiálják, ami helyes, de a true definíciója szélesebb. Bármely olyan egész szám, amelynek az értéke nem nulla, logikai értelemben igaznak tekinthető. Tehát a -1, a 2 és a -200 is a logikailag igaz halmazba tartozik.

Vegye figyelembe, hogy az igaz és a hamis kifejezéseket mindig kisbetűvel kell írni, ellentétben a HIGH, LOW, INPUT és az OUTPUT kifejezésekkel.

Digitális lábak állapotának a meghatározása: MAGAS (HIGH) és ALACSONY (LOW)

A digitális lábak olvasáskor (bemenet) vagy íráskor (kimenet) azok csak két lehetséges értéket vehetnek fel, ez az ALACSONY és a MAGAS.

MAGAS

A MAGAS jelentése egy lábra vonatkoztatva kissé eltér attól függően, hogy a láb kimenetként vagy bemenetként van konfigurálva. Ha egy lábat bemenetként konfigurál a pinMode() segítségével, és a digitalRead()-el olvassa ki, az Arduino (ATmega) MAGAS szintet fog visszaadni, ha:

  • 3,0 V-nál nagyobb feszültség van a lábon (5 V-os alaplapok)
  • 2,0 V-nál nagyobb feszültség van a lábon (3,3 V-os alaplapok)

A lábakat, miután bemenetnek konfigurálta, magas szintre emelheti a digitalWrite() segítségével. Ezzel lehetővé teszi a belső 20K-os felhúzó-ellenállások használatát, amelyek a bemeneti lábakat magas értékre emeli, egészen addig, amíg egy külső áramkör le nem húzza a feszültségét. Ennek alternatívája lehet az INPUT_PULLUP() funkció, ami egy lépésben teszi meg ugyanezt.

Ha egy lábat a PINMode() funkcióval kimenetként konfigurál és a digitalWrite() utasítás segítségével MAGAS értékre állít, akkor a láb feszültsége a következőképpen alakul:

  • 5 V (5 V-os alaplapok)
  • 3,3 V (3,3 V-os alaplapok)

Ebben az állapotban képes arra, hogy áram folyjon a föld felé, pl egy áramkorlátozó ellenállással ellátott LED dióda világítani fog.

ALACSONY

Az alacsony jelentésének más jelentése van, ha a lábat kimenetként állította be és más, ha bemenetnek. Ha bemenetként konfigurálja, akkor a digitalRead() utasítás akkor ad vissza alacsony szintet, ha:

  • 1,5 V-nál kisebb feszültség van a lábon (5 V-os alaplapok)
  • 1,0 V-nál (kb.) kisebb feszültség van a lábon (3,3 V-os alaplapok)

Ha egy egy lábat kimenetként állít be, és a digitalWrite() segítségével alacsonyra állítja, akkor a lábon 0V (5 V és 3,3 V feszültségű alaplapok esetében is) feszültség lesz. Ebben az állapotban folyhat áram a láb felé (pl a láb és a tápfeszültség közé kötött ellenálás+LED diódán keresztül, amely ilyenkor világít).

A a pinMode() funkcióval meg tudjuk adni, hogy egy láb bemenet legyen (INPUT), bemenet, bekapcsolt felhúzó ellenállással (INPUT_PULLUP), vagy kimenet (OUTPUT).

Ha a láb bemenetként van beállítva:

Az Arduino (ATmega) lábai, ha bemenetként van konfigurálva a pinMode() paranccsal, akkor a bemeneti ellenállása kb 100 megaohm lesz. Ha erre egy kapcsolót köt rá, akkor a kapcsoló nyitott állapotában a láb "lebegni" fog, ebben az állapotban nem lesz stabil a láb állapota, 0 és 1-es értéket is adhat vissza. Ennek elkerülésére le- vagy felhúzó ellenállást kell az áramkörbe építeni, ami rögzíti a potenciált a kapcsoló nyitott állapotában. Akkora ellenállást kell választani (nagyságrendileg 10 kOhm), amelyen nem folyik számottevő áram. Erről további információkat talál a "Digital read serial" leckében.

Lehúzó ellenállás esetében a kapcsoló nyitott állapotában a bemenet alacsony szinten van és magas szintre vált, ha zárjuk a kapcsolót. Felhúzó ellenállás esetében ez pont fordítva alakul. Ezt figyelembe kell venni a vázlat írásakor.

Ha a láb bekapcsolt felhúzó ellenállással van bemenetként beállítva:

Az Arduino alaplapon található ATmega mikrovezérlőjének saját belső felhúzó ellenállása van (ellenállás, amely belsőleg csatlakozik az áramellátáshoz), amelyet be lehet kapcsolni. Ha inkább ezt kívánja használni a külső felhúzó ellenállások helyett, akkor kell használnia az INPUT_PULLUP argumentumot a pinMode() utasításnál.

Erről további információkat talál az "Input Pullup Serial" leckében.

Nagyon fontos: abban az esetben, ha az mikrovezérlő lábát bemenetként (INPUT vagy INPUT_PULLUP) konfigurálja, akkor el kell kerülnie, hogy a lábra negatív tápfeszültség, vagy a processzor tápfeszültségénél nagyobb feszültséget kapcsoljon, mert ez károsodást okozhat a mikrovezérlőben.

Kimenetként beállított lábak:

A PINMode()-dal limenetként konfigurált lábak alacsony impedanciájú állapotban vannak. Ez azt jelenti, hogy jelentős mennyiségű áramot szolgáltathatnak más áramköröknek. Az ATmega lábanként akár 40 mA (milliamper) áramot is képes elviselni. Ez hasznosá teszi őket a LED-ek táplálására, mivel a LED-ek általában kevesebb, mint 40 mA-t használnak. A 40 mA-nál nagyobb terhelésekhez (például motorokhoz) tranzisztorra vagy más külső áramkörre van szükség.

Nagyon fontos: a kimenetként beállított lábakat ne csatlakoztassa közvetlenül a negatív vagy a pozitív tápfeszültséghez, mert ez károsodást okozhat a mikrovezérlőben.

A beépített elemek meghatározása: LED_BUILTIN

A legtöbb Arduino alaplapon van egy olyan láb, ami egy előtét ellenállással egy LED diódára van kötve. A LED_BUILTIN annak a lábnak a száma, amely a kiválasztott alaplapon a LED-hez van kötve. Ez általában a 13. láb.

 

Lásd még

Lebegőpontos állandók

Egész konstans

Szólj hozzá!

A bejegyzés trackback címe:

https://electro.blog.hu/api/trackback/id/tr1115019470

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása