Eğitimler
SwitchCase2
Bir if ifadesi, iki ayrık seçenek arasından seçim yapmanızı sağlar: TRUE veya FALSE. İkiden fazla seçenek olduğunda, birden fazla if ifadesi kullanabilir veya switch ifadesini kullanabilirsiniz. Anahtar, çeşitli ayrık seçenekler arasından seçim yapmanızı sağlar.
Bu eğitimde, seri olarak alınan bir veri baytına dayalı olarak birkaç farklı LED'den birini açmak için anahtarın nasıl kullanılacağı gösterilmektedir. Çizim seri girişi dinler ve a, b, c, d veya e karakterleri için farklı bir LED'i açar.
Gerekli Donanım
- Arduino veya Genuino Kurulu
- 5 LED
- 5220 ohm direnç
- bağlantı telleri
- breadboard
Devre
220 ohm direnç ile seri olarak 2, 3, 4, 5 ve 6 numaralı dijital pimlere beş LED bağlanır.
Bu çizimin çalışması için kartınızın bilgisayarınıza bağlı olması gerekir. Arduino IDE'de seri monitörü açın ve ilgili LED'i yakmak için a, b, c, d veya e karakterlerini veya kapatmak için başka bir şeyi gönderin.
büyütmek için resme tıklayın
Şematik
büyütmek için resme tıklayın
Kod
Switch statement with serial input
Demonstrates the use of a switch statement. The switch statement allows you
to choose from among a set of discrete values of a variable. It's like a
series of if statements.
To see this sketch in action, open the Serial monitor and send any character.
The characters a, b, c, d, and e, will turn on LEDs. Any other character will
turn the LEDs off.
The circuit:
- five LEDs attached to digital pins 2 through 6 through 220 ohm resistors
created 1 Jul 2009
by Tom Igoe
This example code is in the public domain.
http:egitim.aspx?e=SwitchCase2
*/
void setup() {
// initialize serial communication:
Serial.begin(9600);
// initialize the LED pins:
for (int thisPin = 2; thisPin < 7; thisPin++) {
pinMode(thisPin, OUTPUT);
}
}
void loop() {
// read the sensor:
if (Serial.available() > 0) {
int inByte = Serial.read();
// do something different depending on the character received.
// The switch statement expects single number values for each case; in this
// example, though, you're using single quotes to tell the controller to get
// the ASCII value for the character. For example 'a' = 97, 'b' = 98,
// and so forth:
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:
// turn all the LEDs off:
for (int thisPin = 2; thisPin < 7; thisPin++) {
digitalWrite(thisPin, LOW);
}
}
}
}
See Also
- serial.begin()
- serial.read()
- serial.available()
- switch() case
- digitalWrite()
- Arrays- Loop için bir dizinin nasıl kullanılacağını gösteren bir varyasyon.
- ForLoopIteration- for döngüsü ile birden fazla LED'i kontrol edin.
- IfStatementConditional- Giriş koşullarını değiştirmek için çıkış koşullarını değiştirmek üzere bir 'if deyimi' kullanın.
- switchCase- Farklı sayıda değer arasında seçim yapma.
- WhileStatementConditional- Bir düğme okunurken bir sensörü kalibre etmek için while döngüsü nasıl kullanılır?