Arduino digitális bemenet

Ez a projekt egy példa az Arduino digitális bemenet kezelésére.
A bemenetet egy nyomógombbal aktiváljuk a kimenetet a szokásos Ledes visszajelzéssel ellenőrizhetjük. Lássuk mi kell az áramkörünkhöz:

        Arduino Uno R3
  • Usb kábel A – B típusú (az uno alapból tartalmaza).

  • Próbapanel

  • Összekötő vezetékek

  • 1db led (normál, diffuz, red, green vagy valami hasonló).

  • 1db 10kohm-os ellenállás

  • 1db 220-270 ohm-os ellenállás

  • 1db Nyomógomb


-

  1. Építsük meg az áramkört első lépésben a megadott kapcsolási rajz szerint.

Az áramkör:


- a LED pozitív lába kapcsolódik a 13-as kimenethez a negatív egy 220ohmos ellenálláson keresztül a gnd-hez

A nyomógomb 1-2-es és a 3-4-es érintkezője van párban. Beazonosítás: egyik irányban az
érintkezők távolsága nagyobb, ehhez tájolható a lábkiosztás.

Csatlakoztassuk a PC-hez az áramkört.

2. A teszt ketchet megtalálhatjuk az Arduino fejlesztőkörnyezet fájl főmenü /Minták /
02.Digital / Button almenü pontjában.
Nyissuk meg, a következő sketch tárul a szemünk elé:

/*
Button
gombnyomásra bekapcsolja a ledet
created 2005
by DojoDave <http://www.0j0.org>
modified 30 Aug 2011
by Tom Igoe

Ez program egy nyilvános forráskódú példa program

*/

// constansok állandók, itt értéket adunk nekik:
const int buttonPin = 2; // a kettes számú láb elnevezése
const int ledPin = 13; // a tizenhármas számú láb elnevezése

// változók meghatározása:
int buttonState = 0; // változó a nyomógomb értékének ellenőrzésére

void setup() {
// ledPint beállítjuk kimenetnek
pinMode(ledPin, OUTPUT);
// buttonPint beállítjuk bemenetnek
pinMode(buttonPin, INPUT);
}

void loop(){
// a nyomógomb értékének kiolvasása és a buttonState változóhoz rendelése
buttonState = digitalRead(buttonPin);

// a gomb megnyomásának elleörzése
// ha a buttonState állapota magas (benyomva a gomb)
if (buttonState == HIGH) {
// akkor a led kimenete bekapcsolva
digitalWrite(ledPin, HIGH);
}
else {
// különben a led kimenete kikapcsolva
digitalWrite(ledPin, LOW);
}
}

  1. Ellenőrzés, feltöltés, és már indulhat is a program.

Egy másik változat 2 nyomógombbal Simon Monk után:

Az A nyomógomb bekapcsolja a LEDet (+5V-ot ad az 5-ös kimenetre), a B gomb pedig ki-
kapcsolja.

Lássuk a feltöltendő sketch-et:

/*
Adafruit Arduino - Lesson 6. Inputs

*/
// változó nevek rendelése a kimenethez és a bemeneti lábakhoz
int ledPin = 5;
int buttonApin = 9;
int buttonBpin = 8;

byte leds = 0;

void setup()
{
pinMode(ledPin, OUTPUT); //változó beállítása kimenetnek
pinMode(buttonApin, INPUT_PULLUP); // változó beállítása bemenetnek
pinMode(buttonBpin, INPUT_PULLUP); // változó beállítása bemenetnek
}
// főciklus
void loop()
{
if (digitalRead(buttonApin) == LOW) // ha A nyomógomb értéke alacsony akkor
{
digitalWrite(ledPin, HIGH); // a LED kimenet magas, LED ON
}
if (digitalRead(buttonBpin) == LOW) //ha B nyomógomb értéke alacsony akkor
{
digitalWrite(ledPin, LOW); // a LED kimenet is alacsony, LED OFF
}
}


Ennyi a program, a következő sorhoz még tartozik némi magyarázat:
pinMode(buttonApin, INPUT_PULLUP);
Az INPUT_PULLUP a bemenetet felhúzza +5V-ra egy belső ellenálláson keresztül
így biztosítja a bemenet stabilitását, Ha a nyomógomb le van nyomva a bemenet 0V-ot
kap ezt érzékeli a futó sketch.


Ezt a projekt Simon Monk nyomán készült, az eredeti megtalálható a:

https://learn.adafruit.com oldalon.