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Í LED NEBO ZÁSUVKY S MODULEM CC1101 433.92Mhz

Po prvních pokusech s moduly CC1101 433.92Mhz jsem se po čase rozhodl si vyzkoušet napsat program na jednoduché ovládání led diody tak aby jeden modul pravidelně vysílal hodnoty které se na druhém modulu vyhodnotí a tento pak bude pravidelně blikat led diodou. Po tomto programu a jeho odzkoušení jsem se rozhodl si napsat další program na zjištění číselných hodnot tlačítek na dálkovém ovladači pro bezdrátové zásuvky 433Mhz, a tyto pak ovládat dalším napsaným programem na zapínání a vypínání zásuvky. Pro ovládání jsem použil Arduino Nano které jsem pro testování osadil do Arduino IO shieldu, pro komunikaci mezi Arduino a modulem CC1101 jsem použit 8 – kanálový obousměrný převodník logických úrovní (5V – 3.3V) a pro napájení celé sestavy jsem použil vyrobený napájecí zdroj s výstupním napětím 8V pro napájení  Arduino Nano,  5V a 3.3V pro napájení převodníku a modulu CC1101. Uvedené přípravky rozšiřují zapojení uveřejněná v [1].