Ci sono riuscitooo!!! :-DDD
Alla fine sono tornato alle origini...ho lasciato perdere la IRremote e sono tornato ai dati inviati puri tramite la funzione creata "pulseIR".
Ecco il codice:
int IRledPin = 13; // LED connected to digital pin 13
void setup() {
pinMode(IRledPin, OUTPUT);
Serial.begin(9600);
}
void loop()
{
SendVentilatore();
SendVentilatore();
SendVentilatore();
SendVentilatore();
delay(5000); // accendi e spegni la luce ogni 5 secondi
}
// This procedure sends a 38KHz pulse to the IRledPin
// for a certain # of microseconds. We'll use this whenever we need to send codes
void pulseIR(long microsecs) {
// we'll count down from the number of microseconds we are told to wait
cli(); // this turns off any background interrupts
while (microsecs > 0) {
// 38 kHz is about 13 microseconds high and 13 microseconds low
digitalWrite(IRledPin, HIGH); // this takes about 3 microseconds to happen
delayMicroseconds(10); // hang out for 10 microseconds
digitalWrite(IRledPin, LOW); // this also takes about 3 microseconds
delayMicroseconds(10); // hang out for 10 microseconds
// so 26 microseconds altogether
microsecs -= 26;
}
sei(); // this turns them back on
}
void SendVentilatore() {
pulseIR(1320);
delayMicroseconds(310);
pulseIR(1320);
delayMicroseconds(320);
pulseIR(500);
delayMicroseconds(1160);
pulseIR(500);
delayMicroseconds(1160);
pulseIR(500);
delayMicroseconds(1160);
pulseIR(500);
delayMicroseconds(1160);
pulseIR(500);
delayMicroseconds(1160);
pulseIR(500);
delayMicroseconds(1160);
pulseIR(1320);
delayMicroseconds(320);
pulseIR(500);
delayMicroseconds(1160);
pulseIR(500);
delayMicroseconds(1160);
pulseIR(500);
delayMicroseconds(7820);
}
E con questo codice funziona!
Ora posso proseguire con il mio studio... ![]()