Díl 3 - Ovládání relé + tlačítko.

08.10.2013 16:55

minulém díle jsme si ukázali blikání LED diodou a dnes si ukážeme, jak lze jednoduše ovládat externí zařízení.

Budeme potřebovat desku Arduino Uno(nebo Nano či Mega) a modul s jedním (nebo více) 5V relé. Pro majitele Arduina Nano bych doporučil ještě nějakou zkušeb ní desku (BreadBoard), do které si Arduino zasunete. A k BreadBoardu si raději pořiďte i propojovací drátky, potřebovat v budoucnu můžete jak samice tak samce.
Tyto věci bez problémů koupíte na tomto eshopu.
 
Začneme zapojením:
Modul relé má tři kontakty (nebo více, pokud máte více-reléový modul).
Kontakty:
  • napájení (+5V)
  • ovládací(datový) pin.
  • zem (GND)
 
 
Připojíme 5V z desky Arduina na napájecí pin relé modulu. Stejně tak propojíme GND na desce Arduina s tímto kontaktem na relé modulu. A použijeme (například) pin 3 na Arduinu a propojíme jej s datovým pinem na relé modulu.
 
Vše je hotovo a připraveno, zbývá jen napsat program.
 

Jak vidíte, program se velmi podobá programu z minulého dílu, takže nic složitého.
Výsledek je ten, že se vždy na 1 sekundu sepne relé a následně se na sekundu vypne.
Pokud na patřičné kontakty relé připojíme třeba světelný obvod, bude nám žárovka blikat v sekundovém intervalu, tak jako v minulém díle LED dioda. Rozdíl je ale hlavně v tom, že ovládané zařízení má svoje vlastní napájení, nezávislé na desce Arduino.
 
Využití je nasnadě, ale dám malý příklad:
Pokud si k této sestavě přikoupíte ještě (například)  Ethernetový Shield , můžete celé zařízení (s programem doplněným o potřebné funkce) připojit k internetu a "ono světlo/zařízení" ovládat třeba z druhého konce světa.
O Ethernetovém modulu si samozřejmě v budoucnu také něco povíme.
 
Málokdy ale budeme něco spínat v pravidelném intervalu. Spíše budeme potřebovat reagovat na nějaký podnět, ukážeme si tedy, jak to udělat, aby relé spínalo pouze při stisknutém (a podrženém) tlačítku.
 
Tlačítko si připojíme na pin č.2 Arduina.
(Malým trikem se dá použít tlačítko i bez pomocného rezistoru, ale tento postup si ukážeme jindy, není totiž úplně správný a "elektronicky" čistý.)
 
Správný postup je ten, že na jeden kontakt tlačítka přivedeme 5V z Arduina, a druhý kontakt tlačítka na pin č.2. Ještě ale dáme na pin 2 i právě pomocný rezistor a jeho druhý "konec" na GND. 
Nějakou větší sílu, já používám 10MOhm. (protože jich mám spousty)
Pin č.2 na Arduinu musíme tentokrát nastavit jako INPUT (vstupní).
A v programu potom jen kontrolujeme, zda je hodnota na pinu č.2 HIGH nebo LOW. (stisknuté/nestisknuté)
Při stavu HIGH sepneme relé, při LOW jej rozepneme.
K tomu budeme potřebovat znát nový příkaz a tím příkazem je "IF" (když).
Má jednoduchou syntaxi:  
(Podrobnější vysvětlení, příklady zápisu a popis naleznete přímo v referenci jazyka.)
 
if("podmínka") {
  //zde uvedené příkazy se vykonají, je-li splněna "podmínka"
} else {
  //zde uvedené příkazy se vykonají, není-li splněna "podmínka"
}
 
Hurá tedy na úpravu programu:
 

 
Za domácí úkol  se zamyslete nad tím, jak pomocí stisku tlačítka pouze změnit stav relé, tedy aby jeden stisk relé sepnul, druhý jej vypnul.
 

 

Zpět

Kontakt

Arduino-Home

© 2014 Všechna práva vyhrazena.

Tvorba webových stránek zdarmaWebnode