Egy második switch-case példa, amely bemutatja, hogyan kell különböző műveleteket végrehajtani a soros porton fogadott karakterek alapján.
Utolsó felülvizsgálat: 2022.02.04 16:50
Az if utasítás lehetővé teszi, hogy két diszkrét opció közül válasszon: IGAZ vagy HAMIS. Ha kettőnél több lehetőség van, használhat több if utasítást, vagy használhatja a switch utasítást. A Switch lehetővé teszi, hogy több különálló opció közül válasszon.
Hardver szükséglet
Arduino kártya
5 LED
5 220 ohm-os ellenállás
összekötő vezetékek
dugdosós próbapanel (breadboard)
Az áramkör
Öt LED csatlakozik a 2., 3., 4., 5. és 6. digitális kivezetésekhez 220 ohmos ellenálláson keresztül.
A vázlat működtetéséhez a kártyát csatlakoztatni kell a számítógéphez. Az Arduino IDE-ben nyissa meg a soros monitort, és küldje el az a, b, c, d vagy e karaktereket a megfelelő LED bekapcsolásához, vagy bármi mást a kikapcsoláshoz.

Vázlat

A kód
/*
Switch statement with serial input
A switch utasítás használatát mutatja be. A switch utasítás lehetővé teszi,
hogy egy változó diszkrét értékei közül válasszon. Olyan ez, mint az
if utasítások sorozata.
A vázlat működés közbeni megtekintéséhez nyissa meg a Soros monitort,
és küldjön el bármilyen karaktert. Az a, b, c, d és e karakterekre LED-ek
bekapcsolódnak. Minden más karakter kikapcsolja a LED-eket.
Az áramkör:
- öt LED a 2–6 digitális kivezetőkhöz csatlakoztatva 220 ohmos ellenálláson keresztül
created 1 Jul 2009
by Tom Igoe
Ez a kód nyilvános.
https://docs.arduino.cc/built-in-examples/control-structures/SwitchCase2
*/
void setup() {
// soros kommunikáció inicializálása:
Serial.begin(9600);
// a LED kivezetések inicializálása:
for (int thisPin = 2; thisPin < 7; thisPin++) {
pinMode(thisPin, OUTPUT);
}
}
void loop() {
// érzékelő olvasása:
if (Serial.available() > 0) {
int inByte = Serial.read();
// tegyen valamit a kapott karaktertől függően.
// ebben a példában azonban egyszeres idézőjeleket használ,
// hogy megmondja a vezérlőnek, hogy szerezze be a karakter
// ASCII-értékét. Például 'a' = 97, 'b' = 98,
// és így tovább:
switch (inByte) {
case 'a':
digitalWrite(2, HIGH);
break;
case 'b':
digitalWrite(3, HIGH);
break;
case 'c':
digitalWrite(4, HIGH);
break;
case 'd':
digitalWrite(5, HIGH);
break;
case 'e':
digitalWrite(6, HIGH);
break;
default:
// az összes LED kikapcsolása:
for (int thisPin = 2; thisPin < 7; thisPin++) {
digitalWrite(thisPin, LOW);
}
}
}
}
Tudj meg többet
További alapvető oktatóanyagokat a beépített példák részben talál.
Felfedezheti a nyelvi referenciát is, az Arduino programozási nyelv részletes gyűjteményét.