anerDev
February 18, 2011, 10:30pm
1
Ciao a tutti !
Sono nuovo nel mondo arduino ... vorrei fare una cosa molto interessante:
Collegare un sensore IR, e tramite esso si possano comandare dei relè ...
Cioè se con il telecomando premo il tasto 1 apre un relè, se premo il tasto 2 apre un altro relè ...
Si può fare ?
Grazie a tutti !
uwefed
February 18, 2011, 11:28pm
2
sí.
guarda questa libreria:
Decodifica i segnali del telecomando.
Ciao Uwe
system
February 19, 2011, 10:23am
3
anerDev
February 19, 2011, 1:08pm
4
Grazie raga ! ora provo i vostri consiglio e vi faccio sapere ! grazie 1000
anerDev
February 19, 2011, 6:43pm
5
C'è un problema ... mi da il seguente errore:
sketch_feb19a.cpp: In function 'void loop()':
sketch_feb19a:38: error: 'irrecv' was not declared in this scope
sketch_feb19a:38: error: 'results' was not declared in this scope
cosa devo fare ?
leo72
February 19, 2011, 9:24pm
6
Pare tu non abbia copiato bene il codice.
anerDev
February 20, 2011, 9:37am
7
ho ho fatto copia ed incolla, ma questo errore lo fa con tutte e due le guide ! sarà forse che serve qualche libreria ?
perchè in questa guida A Multi-Protocol Infrared Remote Library for the Arduino dice che devo inserire dei file (contenuti in IRemote.zip) nel percorso arduino/hardware/libraries
ma non so qual è ! uso un mac ...
Grazie
leo72
February 20, 2011, 9:54am
8
la cartella in oggetto è quella che contiene l'eseguibile di Arduino. Trova dov'è e trovi anche l'altro percorso.
anerDev
February 21, 2011, 5:20pm
9
Ma in quale percorso si trova su Mac ?
leo72
February 21, 2011, 5:41pm
10
Io non conosco il Mac ma tu non conosci Google
Ho trovato questo:
For Mac users, go to your Applications folder, right click on the Arduino.app and select “Show Package Contents”. Then navigate through that to find the Library folder.
anerDev
February 21, 2011, 5:43pm
11
ahuuahhuahua Grazie 1000 ! Ma subito dopo che ho pubblicato il commento di prima, avevo fatto la stessa cosa ! hauhuahuahua
Grazie lo stesso !
anerDev
February 24, 2011, 9:19pm
12
Raga funziona !
Ho caricato tutto su Arduino, ho aperto il monitor, e quando premo il telecomando mi da questi valori:
1FE50AF
FFFFFFFF
1FED827
FFFFFFFF
1FEF807
1FE30CF
FFFFFFFF
1FEB04F
FFFFFFFF
1FE708F
FFFFFFFF
FFFFFFFF
1FEF00F
FFFFFFFF
ora come posso fare, ad esempio premo il tasto 1, che da valore 1FE50AF, a fare dare un valore alto ad una porta ?
tipo premo il tasto 1 ed apre un relè ???
Grazie !
if (valoreLetto == valoreCheTiInteressa){
digitalWrite(pinRele, HIGH);
}
anerDev
February 24, 2011, 10:12pm
14
Valore letto cosa intendi ?
Ecco qua il codice, puoi aggiustarlo ?
#include <IRremote.h>
int ledPin = 9;
int RECV_PIN = 8;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
pinMode(9, OUTPUT);
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume(); // Receive the next value
}
if (1FE50AF == 1FE50AF){
digitalWrite(9, HIGH);
}
}
anerDev:
Valore letto cosa intendi ?
per valoreLetto intendo i valori che leggi dal led ir e che per ora stai stampando a video.
anerDev:
Ecco qua il codice, puoi aggiustarlo ?
AHhahahahahHAHHahh no. Salvo dietro pagamento, ovvio
Altrimenti come pensi di imparare? inizia dando un'occhiata quì: http://arduino.cc/forum/index.php/topic,52637.0.html
anerDev
February 25, 2011, 12:32pm
16
Di programmare lo so fare, ma non capisco cosa intendi !!!
Quando apro il monitor di arduino, mi da tuti questi valori
1FE50AF
FFFFFFFF
1FED827
FFFFFFFF
1FEF807
1FE30CF
FFFFFFFF
1FEB04F
FFFFFFFF
1FE708F
FFFFFFFF
FFFFFFFF
1FEF00F
FFFFFFFF
ogni valore corrisponde ad un pulsante ... Ma non riesco ancora a capire cosa intendi con "valoreletto == Valorechetiinteressa " !!!!
Mi legge tutti i valori del telecomando, ma a ma servono specifici valori !!!!
anerDev
February 25, 2011, 1:42pm
17
Olè !!!
#include <IRremote.h>
int led1 = 12;
int led2 = 11;
int led3 = 10;
int led4 = 9;
int led5 = 8;
int RECV_PIN = 7;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, DEC);
if(results.value == 33480735)
digitalWrite(led1, HIGH);
delay(100);
digitalWrite(led1, LOW);
irrecv.resume();
if(results.value == 33444015)
digitalWrite(led2, HIGH);
delay(100);
digitalWrite(led2, LOW);
irrecv.resume();
if(results.value == 33478695)
digitalWrite(led3, HIGH);
delay(100);
digitalWrite(led3, LOW);
irrecv.resume();
if(results.value == 33486855)
digitalWrite(led4, HIGH);
delay(100);
digitalWrite(led4, LOW);
irrecv.resume();
if(results.value == 33435855)
digitalWrite(led5, HIGH);
delay(100);
digitalWrite(led5, LOW);
}
}