Lekce 8
Osmá lekce Arduino kurzu pro začátečníky: zapojíte otřesové (kuličkové) čidlo a necháte ho podle náklonu rozsvěcet a zhasínat LED. Ukážeme si zapojení, režim vstupu INPUT_PULLUP i kód do Arduino IDE – nakloníte čidlo a Arduino na to okamžitě zareaguje.
Popisek obrázku: otřesové čidlo připojíte jednou nožičkou na pin 2 a druhou na GND. Jako světlo poslouží vestavěná LED u pinu 13 přímo na desce Arduina, takže žádné další zapojení nepotřebujete.
| Komponenta | Arduino |
|---|---|
| Otřesové čidlo (1. nožička) | pin 2 |
| Otřesové čidlo (2. nožička) | GND |
| LED (vestavěná na desce) | pin 13 |
Otřesové čidlo je vlastně malý kuličkový spínač – uvnitř trubičky se pohybuje kovová kulička. Když čidlo nakloníte, kulička sjede dolů a spojí dva kontakty; jakmile zůstane mimo, kontakty se rozpojí. Pin 2 nastavíme do režimu INPUT_PULLUP, takže je standardně ve stavu „vysoko" a teprve sepnutí kuličkou ho stáhne dolů. Funkcí digitalRead Arduino tento stav přečte a podle toho rozsvítí nebo zhasne LED.
// Otřesové čidlo
// Zapíná a vypíná LED, když nakloníte čidlo.
// Email: podpora@laskakit.cz · Web: laskakit.cz
const int ledPin = 13; // číslo pinu LED
const int tiltPin = 2; // číslo pinu otřesového čidla
void setup() {
pinMode(ledPin, OUTPUT); // LED jako výstup
pinMode(tiltPin, INPUT_PULLUP); // otřesové čidlo jako vstup
}
void loop() {
int digitalVal = digitalRead(tiltPin); // přečíst stav čidla
delay(300); // počkat 300 ms
if (HIGH == digitalVal) { // čidlo není nakloněno
digitalWrite(ledPin, LOW); // vypnout LED
} else { // čidlo je nakloněno
digitalWrite(ledPin, HIGH); // zapnout LED
}
}
HIGH a LOW ve funkcích digitalWrite, případně otočit logiku podmínky.INPUT_PULLUP by navíc vstup „plaval" a hodnota by byla náhodná.delay(300) v kódu tomu pomáhá, klidně ji můžete prodloužit.QJak funguje otřesové (kuličkové) čidlo?