Banská Štiavnica, Slovenská Republika +421 948 156 987 info@netbis.sk
Slovak Czech English German

Prihlásenie

Dotácie

Ďakujem za Vaše príspevky. Budú použité na rozšírenie a stavbu koľajiska, taktiež nákup lokomotív, vlakov a iných doplnkov. Informácie o Vašej karte ani účte sa ku mne nedostanú, celé je to spravované cez PayPal, teda bezpečnosť zaručená. Ešte raz ďakujem



Diaľkové ovládanie pre arduino


Pre ovládanie koľajiska a príslušenstva je možné použiť rôzne ovládacie prvky. Od tlačítok a potenciometrov, až po efektné, ľahko vyhotoviteľné a cenovo dostupné diaľkové ovládanie. Preto lacné, pretože také ovládanie nie je nutné kupovať, použijete kľudne akékoľvek staršie diaľkové ovládanie z televízora, videa alebo akejkoľvek pokazenej alebo nepoužívanej elektroniky. 

Základ je jednoduchá schéma na pripojenie. Pri senzore diaľkového ovládača nie je písaný typ ani poradie zapojenia nožičiek, pretože výrobcov je viac a záleží iba na tom, aký prímač máte a použijete. Ja som použil prímač z pokazeného satelitného prímača a diaľkové ovládanie, ktoré som našiel na povale. Je totiž úplne jedno, že to nie je z toho istého kusu elektroniky, nakoľko kódy diaľkového budete aj tak zisťovať pomocou arduina. 

Pre funkčnosť si potrebujete stiahnuť knižnicu pre použitie s adruinom.  Stiahnete si ju tu. Pre zistenie kódov môžete použiť jednoduchý program:

 

#include <IRremote.h>

int RECV_PIN = 51;
int powpin = 53;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(powpin, OUTPUT);
digitalWrite(powpin, HIGH);
}

void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, DEC);
delay(100);
irrecv.resume(); // Receive the next value
}
}

 

Program vypíše na sériový port číselný kód stlačenej klávesy diaľkového ovládača v desiatkovej sústave. Tieto kódy si zapíšete, alebo uložíte a následne ich môžete použiť v programe cez podmienky. Jednoduché a efektné. 

Nasledovná ukážka popisuje jednoduchý príklad použitia diaľkového ovládača na použitie s relátkom. Relátko je programom nastavené na zapnutie. Delay(200) slúži na pauzu v prípade stlačenia tlačidla, pretože bez pauzy aspoň 200ms nám program môže zaznamenať stlačenie tlačítka diaľkového ovládača aj viac krát, čo môže byť nežiadúce.

 

#include <IRremote.h>

int RECV_PIN = 51;
int powpin = 53;

int relay = 35;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
irrecv.enableIRIn();
pinMode(powpin, OUTPUT);
digitalWrite(powpin, HIGH);
}

 

void loop() {
if (irrecv.decode(&results)) {
irrecv.resume(); 
}

if (results.value == 3269642295) {
digitalWrite (relay, HIGH);
delay(200);
results.value = 0;
}

}

 

Tento program je len na ukážku, je dostatočne jednoduchý a rozšíriť ako aj nastaviť funkcie si ho môžete podľa svojej fantázie a potreby. Ja osobne mám celé koľajisko ovládané aj pomocou diaľkového ovládania. Je to pohodlné, v prípade dobrých batérií reaguje takmer odkiaľkoľvek. Teda nemusím zakaždým utekať k ovládaciemu pultu. 

Marek Duda

 

 

 

Pre pridávanie komentárov sa prihláste prosím.

Marek Duda