Čas a teplota na oled displeji
Tento projekt slouží k měření teploty, tlaku a času a k jejich zobrazení na OLED displeji. Současně data vypisuje na sériovou linku.
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 } }
Tento projekt slouží k měření teploty, tlaku a času a k jejich zobrazení na OLED displeji. Současně data vypisuje na sériovou linku.
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.