Arduino LED semafor

LED semafor je jeden z jednodušších projektů, jak už je z názvu poznat, tak je to semafor vytvořený z LED diod.

Semafor bude fungovat tak že se po zmáčknutí tlačítka zapne červená pro auta a zelená pro chodce – a po chvíli se zase vrátí do původního stavu – toto se stane popořadě jako v normálním semaforu.

Použité součástky:

1)    arduino deska

2)    2x zelená LED

3)    2x červená LED

4)    1x žlutá LED

5)    1x tlačítko

6)    5x 220Ω rezistor (červená – červená – hnědá – zlatá)

7)    1x 10kΩ rezistor (hnědá – černá – oranžová – zlatá)

8)    kabely

Jak už jsem říkal, tak zapojení je velmi jednoduché, jediné, co je potřeba, je zapojit LEDky přes rezistory (220Ω) do pinů, aby fungoval program níže, je potřeba zapojit je takto: červená – auta = 2, žlutá – auta = 3, zelená – auta = 4, zelená – chodci = 7, červená – chodci = 6, a poté zapojit tlačítko – to se zapojuje stejně jako v arduino knížce – to znamená jedna strana do plusu (5v) a druhá do pinu a přes rezistor (10kΩ) do minusu – podle programu do pinu 5.

Program je také lehký – na začátku se piny 2, 3, 4, 6 a 7 nastaví na input a pin 5 na output, také se zapne autům zelená a chodcům červená, dále se pořád dokola kontroluje, jestli je v pinu pět elektřina (tlačítko je zmáčknuté) a pokud ano, tak se zapne sekvence semaforu.

int cervena = 2;  //pin 2 je červená
int zluta = 3;  //pin 3 je žlutá
int zelena = 4;  //pin 4 je zelená
int zelenaL = 7;  //pin 7 je zelená pro chodce
int cervenaL = 6;  //pin 6 je červená pro chodce
int tlacitko = 5;  //pin 5 je tlačítko

void setup() {
  pinMode(cervena, OUTPUT);  //červená je výstup
  pinMode(zluta, OUTPUT);  //žlutá je výstup
  pinMode(zelena, OUTPUT);  //zelená je výstup
  pinMode(zelenaL, OUTPUT);  //zelená pro chodce je výstup
  pinMode(cervenaL, OUTPUT);  //červená pro chodce je výstup
  pinMode(tlacitko, INPUT);  //tlačítko je vstup
  digitalWrite(zelena, HIGH);  //zapnout zelenou
  digitalWrite(cervenaL, HIGH);  //zapnout červenou chodcům
}

void loop() {
  if (digitalRead(tlacitko) == HIGH) {  //pokud je tlačítko zapnuté
    digitalWrite(zelena, LOW);  //vypnout zelenou
    digitalWrite(zluta, HIGH);  //zapnout žlutou
    delay(500);  //počkat 0.5 sekund
    digitalWrite(zluta, LOW);  //vypnout žlutou
    digitalWrite(cervena, HIGH);  //zapnout červenou
    delay(500);  //počkat 0.5 sekund
    digitalWrite(cervenaL, LOW);  //vypnout červenou pro chodce
    digitalWrite(zelenaL, HIGH);  //zapnout zelenou pro chodce
    delay(5000);  //počkat 5 sekund
    digitalWrite(zelenaL, LOW);  //vypnout zelenou pro chodce
    digitalWrite(cervenaL, HIGH);  //zapnout červenou pro chodce
    delay(500);  //počkat 0.5 sekund
    digitalWrite(zluta, HIGH);  //zapnout žlutou
    delay(500);  //počkat 0.5 sekund
    digitalWrite(cervena, LOW);  //vypnout červenou
    digitalWrite(zluta, LOW);  //vypnout žlutou
    digitalWrite(zelena, HIGH);  //zapnout zelenou
  }
}

Další podobné články

Ovládání teploty pomocí relé a senzoru DS18B20

Tento projekt umožňuje měřit teplotu pomocí senzoru DS18B20, zobrazit ji na I2C LCD displeji, a ovládat relé podle teplotních limitů. Relé bude aktivní, když je teplota mezi 0 a 22 stupni Celsia. Projekt může sloužit k ovládání topení, ventilace nebo jiného zařízení podle okolní teploty.