salve ragazzi volevo chiedervi una cosa io mi ritrovo un telecomando ad infrarossi che pilotava quegli elicotterini che vendono a 10/15€ regalo a mio nipote solo che l'elicottero non è infrangibile e mio nipote lo ha sbattuto su tutti i muri di casa quindi l'elicottero è disintegrato ma il telecomando è nuovo e funzionante.
premetto che sono nuovo di arduino e non ho ancora molta dimestichezza nel programmare ma grazie al forum e ad internet ho scritto questo codice per decodificare il segnale del telecomando
#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
void loop()
{
if (irrecv.decode(&results))
{
Serial.println(results.value, DEC);
irrecv.resume(); // Receive the next value
}
}
allora ho collegato il ricevitore infrarossi uscito in un kit che ho acquistato su internet con annesso telecomando tipo autoradio e provando con il telecomando uscito nel kit riesco ad decodificare il segnale mentre con telecomandi che ho per casa e il telecomando dell'ex elicottero mi escono solo tanti "zeri".
vorrei capire come fare per decodificare il segnale e poi usare il telecomando del'ex elicottero per far girare un motore o aumentare o diminuire l'intensità di un led!
grazie per l'aiuto
I telecomandi non funzionanti useranno codici (codifica) di trassmissione che non sono inseriti nella libreria.
Con quella libreria non puoi usarli.
Ciao Uwe
ha ho capito e non c'è nessun modo per decodificare il treno di inpulsi PWM che arrivano ad arduino e convertirli in un segnale che mi modula un uscita PWM?
Ragazzi ho trovato questo codice l'ho trasmesso ed effettivamente mi escono dei numeri ma non so assolutamente a cosa servono e a che si riferiscono potete aiutarmi ? tali nuneri possono servirmi al mio intento?
/*
* File....... IRanalyzer.pde
* Purpose.... Records up to 128 signal changes
* Author..... Walter Anderson
* E-mail..... wandrson@walteranderson.us
* Started.... 18 May 2007
* Updated.... 18 May 2007
*
*
*/
#include <avr/interrupt.h>
#include <avr/io.h>
#define TIMER_RESET TCNT1 = 0
#define SAMPLE_SIZE 64
int IRpin = 2;
unsigned int TimerValue[SAMPLE_SIZE];
char direction[SAMPLE_SIZE];
byte change_count;
long time;
void setup() {
Serial.begin(115200);
Serial.println("Analyze IR Remote");
TCCR1A = 0x00; // COM1A1=0, COM1A0=0 => Disconnect Pin OC1 from Timer/Counter 1 -- PWM11=0,PWM10=0 => PWM Operation disabled
// ICNC1=0 => Capture Noise Canceler disabled -- ICES1=0 => Input Capture Edge Select (not used) -- CTC1=0 => Clear Timer/Counter 1 on Compare/Match
// CS12=0 CS11=1 CS10=1 => Set prescaler to clock/64
TCCR1B = 0x03; // 16MHz clock with prescaler means TCNT1 increments every 4uS
// ICIE1=0 => Timer/Counter 1, Input Capture Interrupt Enable -- OCIE1A=0 => Output Compare A Match Interrupt Enable -- OCIE1B=0 => Output Compare B Match Interrupt Enable
// TOIE1=0 => Timer 1 Overflow Interrupt Enable
TIMSK1 = 0x00;
pinMode(IRpin, INPUT);
}
void loop()
{
Serial.println("Waiting...");
change_count = 0;
while(digitalRead(IRpin) == HIGH) {}
TIMER_RESET;
TimerValue[change_count] = TCNT1;
direction[change_count++] = '0';
while (change_count < SAMPLE_SIZE) {
if (direction[change_count-1] == '0') {
while(digitalRead(IRpin) == LOW) {}
TimerValue[change_count] = TCNT1;
direction[change_count++] = '1';
} else {
while(digitalRead(IRpin) == HIGH) {}
TimerValue[change_count] = TCNT1;
direction[change_count++] = '0';
}
}
Serial.println("Bit stream detected!");
change_count = 0;
time = (long) TimerValue[change_count] * 4;
Serial.print(time);
Serial.print("\t");
Serial.println(direction[change_count++]);
while (change_count < SAMPLE_SIZE) {
time = (long) TimerValue[change_count] * 4;
Serial.print(time);
Serial.print("\t");
Serial.println(direction[change_count-1]);
Serial.print(time);
Serial.print("\t");
Serial.println(direction[change_count++]);
}
Serial.println("Bit stream end!");
delay(2000);
}
ketrono:
Ragazzi ho trovato questo codice l'ho trasmesso ed effettivamente mi escono dei numeri ma non so assolutamente a cosa servono e a che si riferiscono potete aiutarmi ? tali nuneri possono servirmi al mio intento?