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

ROBOTICKÉ RAMENO

Stavebnice obsahuje všechny potřebné díly na sestavení robotnického ramene včetně spojovacího materiálu, pouze je nutné dokoupit čtyři kusy MIKRO SERV SG90. Dále je nutné dokoupit řídící jednotku já jsem použil domácí zásoby ARDUINO NANO a pro něho pak modul ARDUINO NANO IO SHIELD pro jednoduchost zapojení. Díly pro sestavení ramene jdou dobře tzv. vylamovat „vypadávají skoro sami. K servům pokud použijete nové tak doporučuji je před montáží odzkoušet zda jsou funkční v plném rozsahu tj. od 0° do 180°, po namontování a zjištění že servo nefunguje to pak opravdu dost zahýbá s nervy. 

Electronic TiltMaze

Cílem tohoto projektu je vytvoření jednoduchého ovládacího systému, který umožňuje naklápění dvou servomotorů pomocí analogového joysticku. Platforma řízená servomotory může simulovat pohyb například v ose X a Y — tedy naklánění doleva/doprava a dopředu/dozadu. Tento systém může sloužit jako základ pro různé aplikace:

- Manuální ovládání kamery nebo senzoru (např. na pohyblivé konstrukci nebo robotovi)
- Interaktivní ovládací panel pro školní projekty nebo herní ovladač