Reakčná hra pre dvoch hráčov – Arduino Uno
Reakčná hra pre dvoch hráčov na arduino UNO.
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
}
}
Reakčná hra pre dvoch hráčov na arduino UNO.
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].