Elágazások a programban – IF utasítás 08. GYAKORLAT Elágazások a programban – IF utasítás
Feladat Készítsen hardvert és írjon programot az Arduino 13. lábacskájára kötött LED vezérlésére. A vezérlést az A0 lábacskára csatlakoztatott potenciométer segítségével kell végezni. Amennyiben az A0 lábacskára csatlakoztatott feszültség meghalad egy előre definiált küszöböt, a 13. lábacskára csatlakoztatott LED be kell hogy kapcsoljon. Ha a feszültség a küszöb alatt van, a LED nem kell hogy világítson. A feszültségtől függően, a soros monitor-on (Serial Monitor) a (0, 1023) intervallumból kell hogy megjelenjen egy szám.
Hardver
Szoftver // These constants won't change: const int analogPin = A0; // pin that the sensor is attached to const int ledPin = 13; // pin that the LED is attached to const int threshold = 400; // an arbitrary threshold level that's in the range of the analog input void setup() { // initialize the LED pin as an output: pinMode(ledPin, OUTPUT); // initialize serial communications: Serial.begin(9600); } void loop() { // read the value of the potentiometer: int analogValue = analogRead(analogPin); // if the analog value is high enough, turn on the LED: if (analogValue > threshold) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); // print the analog value: Serial.println(analogValue); delay(1); // delay in between reads for stability
Programkód elemzése const int analogPin = A0; // a labacska amelyikre a potenciometer van kapcsolva const int ledPin = 13; // a labacska amelyikre a LED van kapcsolva const int threshold = 400; // kuszob, erteke 0 es 1023 kozott mozog. A feszultseg az A0-n 0V es 5V // kozott valtozhat, az A0-hoz 10 bites A/D atalakito van // kapcsolva, ezert a bemeneti feszultsegtol fuggoen a // bemeneten az ertek 0 es 1023 kozott mozog void setup() { pinMode(ledPin, OUTPUT); // 13. labacska kimenet Serial.begin(9600); // soros kommunikacio inicializalasa } int analogValue = analogRead(analogPin); // potenciometer ertekenek leolvasasa if (analogValue > threshold) { // ha az ertek nagyobb a kuszobnel bekapcsol a LED digitalWrite(ledPin, HIGH); } else { // ellenkezo esetben a LED nem kapcsol be digitalWrite(ledPin, LOW); Serial.println(analogValue); // analog ertek kiirasa a soros monitorra
Az elkészített projekt
Önálló feladat Csatlakoztasson 4 LED-et a mikrovezérlő 2, 3, 4 és 5-ös számú lábacskáira és írjon programot hogy a potenciométer segítségével lehessen vezérelni hogy melyik LED legyen bekapcsolva. A 0-255 intervallumra az 1. LED világít, a 256-511 intervallumra a 2. LED világít, az 512-767 intervallumra a 3. LED világít, és a 768-1023 intervallumra a 4. LED világít. A soros monitoron meg kell jeleníteni hogy melyik LED világít.