poniedziałek, 6 października 2014

Lekcja Nr 1. Diody LED włączane pilotem.

Zamiast wstępu. To jest mój pierwszy projekt, w którym wykorzystałem nabyte umiejętności dot. platformy Arduino. W tym roku, mój wnuk, rozpoczął naukę w renomowanym liceum ogólnokształcącym i pomyślałem sobie, że byłoby dobrze, gdyby pokierować jego zainteresowaniami w kierunku robotyki i mikro kontrolerów. W międzyczasie sam połknąłem bakcyla Arduino, i stąd ten Blog. Kieruję go zatem do dziadków i ojców, którzy chcą zaszczepić w młodzieży samodzielne myślenie, kreatywność i poszerzyć ich wiedzę o tematy nieporuszane w szkole. ARDUINO ŁĄCZY POKOLENIA!

Temat: diody LED włączane pilotem. Diody LED włączane odpowiednio przyciskami na pilocie 1, 2, 3 , 4 i 5.
Ta lekcja ma przygotować do zbudowania robota sterowanego pilotem. Podzespoły wykorzystane w tym projekcie znajdą swoje zastosowanie w kolejnych projektach.

Materiały:
1. Arduino Uno R3 (lub zamiennik)
2. Diody LED 5 mm, 5 szt. (mogą być różne kolory)
3. Pilot 














4. Moduł Odbiornika podczerwieni IR VS1838B














5. Koszyczek i 4 baterie 1.5 V (najlepiej z wtykiem DC 5.5/2.1)

Przed uruchomieniem sketcha należy skopiować bibliotekę IRemotes, którą można pobrać w tym miejscu:
IRemote - https://github.com/shirriff/Arduino-IRremote

Rozpakowany plik należy skopiować do: Katalog - Arduino > libraries > katalog powinien mieć nazwę IRemotes.

Poniższy sketch należy skopiować razem z katalogiem o tej samej nazwie do np.: Pulpit > Documents > Arduino > nasz katalog pt.: "Sterowanie_diodami_LED_pilotem_na_podczerwien". Po otwarciu Arduino IDE sketch pojawi się w zakładce Plik > Szkicownik. Reszta tak, jak na załączonej grafice.
Schemat połączeń Arduino i płytki stykowej.






















Sketch: Sterowanie_diodami_LED_na_podczerwien (skopiować tekst pomiędzy liniami poziomymi i wkleić w czysty nowy projekt Arduino>Plik>Nowy).
-----------------------------------------------------------------------------------------------------------------
/*
* IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv
* An IR detector/demodulator must be connected to the input RECV_PIN.
* Version 0.1 July, 2009
* Copyright 2009 Ken Shirriff
* http://arcfn.com
*/


#include <IRremote.h>

int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;


void setup()

{

Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
pinMode(2, OUTPUT);

pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);

}

int i1 = 0;
int i2 = 0;
int i3 = 0;
int i4 = 0;
int i5 = 0;


void loop() {

if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
Serial.println(results.value);
irrecv.resume(); // Receive the next value


//button 1
if(i1 == 0 && results.value == 16724175)

{

digitalWrite(6, HIGH);
i1 = 1;

}

else if(i1 == 1 && results.value == 16724175)

{

digitalWrite(6, LOW);
i1 = 0;

}

//button 2
else if(i2 == 0 && results.value == 16718055)

{

digitalWrite(5, HIGH);
i2 = 1;

}

else if(i2 == 1 && results.value == 16718055)

{

digitalWrite(5, LOW);
i2 = 0;

}

//button 3
else if(i3 == 0 && results.value == 16743045)

{

digitalWrite(4, HIGH);
i3 = 1;

}

else if(i3 == 1 && results.value == 16743045)

{

digitalWrite(4, LOW);
i3 = 0;

}

//button 4
else if(i4 == 0 && results.value == 16716015)

{

digitalWrite(3, HIGH);
i4 = 1;

}

else if(i4 == 1 && results.value == 16716015)

{

digitalWrite(3, LOW);
i4 = 0;

}

//button 5
else if(i5 == 0 && results.value == 16726215)

{

digitalWrite(2, HIGH);
i5 = 1;

}

else if(i5 == 1 && results.value == 16726215)

{

digitalWrite(2, LOW);
i5 = 0;

}

}

}

------------------------------------------------------------------------------------------------------
A oto efekt:

I to by było na tyle. Życzę udanego eksperymentowania.

Brak komentarzy:

Prześlij komentarz