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