Salve a tutti! Sono nuovo del forum ma è un po' di tempo che utilizzo Arduino per vari progetti. In questo momento sto cercando di realizzare una scheda che legga il segnale del mio apricancello (433.92MHz) e faccia accendere le luci del mio vialetto. Per leggere il segnale ho comprato questo ricevitore:
http://www.ebay.it/itm/151220225611?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649
Ho collegato l'uscita del ricevitore al mio oscilloscopio e ho visto che, oltre a ricevere in modo corretto il segnale del mio telecomando, riceve un'altra marea di segnali!
Lo sketch che ho scritto per memorizzare il codice e testarne la ricezione è questo:
int led = 13;
int rec = 12;
int data[52];
void setup() {
pinMode(led, OUTPUT);
pinMode(rec, INPUT);
Serial.begin(9600);
}
void loop() {
if (digitalRead(rec)==HIGH){
//digitalWrite(led, HIGH);
delayMicroseconds(200);
if (digitalRead(rec)==HIGH){
for(int i=0; i<=52; i++){
data[i] = digitalRead(rec);
delayMicroseconds(250);
}
}
for (int j=0; j <= 52; j++) {
Serial.print(data[j]);
Serial.print(" ");
}
Serial.println(" ");
// digitalWrite(led, LOW);
delay(100);
}
}
In questo modo mi vengono stampati sul SerialMonitor circa 100 segnali "indesiderati" in 5 minuti.
Volevo sapere se esiste qualche modo per diminuire il numero di segnali "indesiderati" ricevuti.
Ho pensato di risolvere il problema via software ma mi chiedevo se l'ATMega328 può lavorare ininterrottamente a questi ritmi senza danneggiarsi.
Ho già provato ad utilizzare la libreria VirtualWire ma senza nessun risultato.
Vi ringrazio molto per il vostro aiuto, senza questa comunità molti dei miei progetti sarebbero abortiti!!!