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Í VÍCE RELÉ S NEOPIXEL RGB ARDUINEM

Kamarád mi poprosil o pomoc s tím že v současnosti potřebuje v jednom projektu ovládat čtyři reléové moduly, kdy jeden obsahuje šestnáct relátek které zakoupil v [1] a již má hotovou část zapojení přípravku, s tím že časem by chtěl ovládání z PC „po otestování“, ovládat diody pomocí tabletu nebo chytrého telefonu. Na tento počet ovládání relé je potřeba 64 ovládacích pinů, což ani ARDUINO MEGA 2560 s potřebou dalších vstupů které budou potřeba není možné použít. Po návrzích s posuvnými registry kterých by bylo potřeba osm kusů a složitosti zapojení mi napadlo použít pásek NEOPIXEL  s RGB led diodami kdy na ovládání stačí jeden výstup z ARDUINA. Tak že pro pokusy co a jak půjde použít, jsem použil modul relátek osazený dvěma relátky, modul s MOSFET tranzistorem, Neopixel pásek s osmi RGB led diodami WS2812B, fototranzistor GL5528 a bluetooth JDY-33 pro komunikaci s tabletem chytrým telefonem vše zakoupené v [1]. Napsané programy jsou celkem dva jeden pouze pro ovládání Neopixel s osmi RGB led diodami, druhý pak umožňuje ovládat maximálně 255 RGB led použitých v Neopixel pásku. Oba programy umožňují ovládat libovolnou RGB diodu nebo více RGB led diod na Neopixel pásku včetně barev a dají se upravit dle potřeby. Přípravek může posloužit při vlastních pokusech s RGB LED Neopixel pásky a zároveň doplňuje články v [2]. Ovládání RGB diod je zde řešeno s ARDUINO NANO je možné použít i ARDUINO UNO. Programové ovládání RGB led diod na Neopixel pásku je dle požadavků kamaráda.