Introduction: 4. Ruleta S Ř-duino
Ahoj, dneska si uděláme hru, která kromě programování a zapojení bude potřebovat i špetku vaší kreativity. Řeč je o ruletě. Hlavní myšlenkou bude vytvořit kolečko LEDek, kde každá LEDka bude mít svůj význam. Po stisknutí tlačítka pak postupně začnou problikávat po sobě jdoucí LEDky, než se světlo na jedné z nich zastaví a ta zabliká. Co každá LEDka znamená, už nechám na vaší představivosti.
Supplies
Step 1: Tlačítko
Tlačítko je pasivní elektrická součástka, která po stisknutí spojí obvod a umožní průchod elektrického proudu skrz tlačítko. Můžeme si ho představit jako lávku na laně, která přemosťuje dvě cesty. Poté, co tlačítko stiskneme, "lávka" se sníží, a "cestující" (elektřina) tak po ní mohou přejít.
Pro lepší představu se můžete podívat na obrázek s bílým pozadím, černými čarami a kruhy. Toto je způsob, jak se tlačítko zobrazuje na schématech elektrických obvodů, a přijde mi, že celkem dobře popisuje jeho fungování.
Jedna věc, na kterou si dát pozor, je, že naše tlačítka mají čtyři nožičky, z nichž dvě jsou vždy propojené v páru. Na obrázku s černou a červenou čárou je naznačeno, které dvě nožičky jsou vždy propojeny, a chceme-li, aby nám proud procházel z červené čáry na černou, pak musíme tlačítko stisknout. Pomůckou nám může být, že vždy jsou propojené nožičky, které jsou přímo naproti sobě.
V sadě vždy dodáváme pět tlačítek s hmatníky (ty barevné čepičky), jež jdou na tlačítko nasadit pro pohodlnější používání.
Step 2: Zapojení
Zapojte svoji stavebnici podle obrázku.
(šedé čáry pouze značí kudy vedou nožičky rezistorů)
Step 3: Kód
Budeme používat ArduinoIDE. Než však začneme psát kód, budeme muset nastavit některé věci.
Nyní připojte desku k počítači, klikněte na nápis "Tools" na vrchní liště aplikace, vyberte "Board" a následně klikněte na "Arduino Uno". Dále opět klikněte na "Tools", poté na "Port" a vyberte z nabízených možností port, na kterém je připojena vaše deska. Pokud nevíte na kterém portu je vaše deska připojena tak se nebojte vyzkoušet všechny možnosti :D
A nyní již pojďme psát kód:
(Vše napsáno po "//" nebo vepsané mezi "/* */" je comment. To znamená že se nejedná o kód ale o text napsaný, aby vám pomohl kódu porozumět. Zkuste si je přečíst a pokusit se pochopit co se v kódu děje.)
// Přidáme knihovnu pro ovládání Arduina pro možnost použití kódu na platformě PlatformIO
#include <Arduino.h>
// Definujeme si proměnou uchovávající na které LEDce jsme
int aktPos = 2;
/*
* Tato metoda je zahájena jako první aby vše nastavila
*/
void setup(){
// Nastavíme si PINy LEDek na výstup
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
// Nastavíme sí PIN tlačítka na vstup
pinMode(8, INPUT);
// Rozsvítíme si první LEDku
digitalWrite(aktPos, HIGH);
}
/*
* Tato metoda je zahájena jako druhá a opakuje se do nekonečna
*/
void loop(){
// Pokud je tlačítko zmáčknuto tak se ruleta "roztočí"
if(digitalRead(8) == HIGH)
{
// Nastavíme si náhodnost
randomSeed(millis());
// Budeme se "točit" mezi LEDkami než uděláme 3 kolečka + náhodný počet LEDek menší nebo roven 3 kolečkám
for(int i = 1; i <= 18 + random(1, 19); i++)
{
// Zhasneme aktuální LEDku a rozsvítíme další v pořadí
digitalWrite(aktPos, LOW);
aktPos++;
if(aktPos > 7)
aktPos = 2;
digitalWrite(aktPos, HIGH);
delay(200);
}
// Poslední LEDka 3-krát blikne
for(int i = 1; i >= 3; i++)
{
digitalWrite(aktPos, HIGH);
delay(200);
digitalWrite(aktPos, LOW);
delay(200);
}
}
}
Nyní klikněte na "Upload" (ikona šipečky) a máte hotovo :D





