Analóg bemenet ledes kijelzéssel


A soros monitorral az analóg bemenetről érkező értékeket jeleníthetjük 
meg a pc-n. Az első részben erre nézzünk egy példát. A projektben a következő alkatrészeket használjuk:

  • Arduino Uno

  • Usb kábel

  • Próbapanel

  • Összekötő vezetékek

  • 8db 5mm-es led

  • 8db 270ohm-os ellenállás

  • 74HC595 shift regiszter

  • 10kohm-os potencia méter

A kód:
/*
Adafruit Arduino - Lesson 8. Analog Inputs
*/
int potPin = 0; //potPin változó 0-s lábhoz rendelve

void setup()
{
Serial.begin(9600); //9600bit/s-os soros port beállítása
}

void loop()
{
int reading = analogRead(potPin);//reading változóba olvassa a poti értékét
Serial.println(reading);//az érték pc-re küldése
delay(500);
}


A poti feszültségét digitális értéké alakítja és kiírja a soros monitorra. Az érték 0 és 1023 közt
esik(0V-5V). Ez így fog kinézni:

Ezt az analóg bemenetet hozzáadjuk a soros-párhuzamos átalakító kapcsolásunkhoz, így
egy 8 ledes kijelzőt kapunk amit a potinkkal vezérelhetünk.
Nézzük a kapcsolást:

A kód:

/*
Adafruit Arduino - Lesson 8. Analog Inputs - LEDs
*/
int potPin = 0;// a poti bemenete a 0-s pin
int latchPin = 5;
int clockPin = 6;//a shift regiszter kimenetei
int dataPin = 4;
int leds = 0; //leds változó létrehozása 0-s kezdőértékkel

void setup()
{
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT); //kimenetek beállítása
pinMode(clockPin, OUTPUT);
}

void loop()
{
int reading = analogRead(potPin);//reading változóba kerül a poti pillanatnyi értéke
int numLEDSLit = reading / 114; //1023 / 9

//numLedsLit változóba kerül a poti 114-el osztott értéke ami 9 értéket vehet fel 0-8 ledig
leds = 0;
for (int i = 0; i < numLEDSLit; i++)//ha i kisebb mint numLEDS változó akkor i értékét növeli
{
bitSet(leds, i); //leds-be kerül i értéke
}
updateShiftRegister();
}

void updateShiftRegister()
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, leds);// kírakja a kimenetre leds értékét
digitalWrite(latchPin, HIGH);
}

A poti segítségével bevitt feszültség nagyságát a ledek kijelzik, mint egy soros kijelző. Minél nagyobb a bevitt feszültség annál több led világít.

Jó szórakozást!