volevo un vostro aiuto:
ho progettato un piccolo arduino con un ricevitore ad IR di cui poter comandare delle luci tramite il telecomando della tv.
fin qui tutto oh.
vorrei comandare anche la tenda motorizzata: sale e scende.
con un comando tramite il tasto del T.C. si eccita un relè e parte la tenda, ma devo peterla temporizzare fino alla chiusura.
ho gia provato con dylay, ma nel tempo che la tenda scende o sale non posso fare altro e neppure bloccarla alla posizione desiderata.
qualcuno mi ha detto di millis. ma io non ho capito dove infilarli nel programma.
ne sarei molto grado del vostro aiuto.
dimenticavo :non sono un programmatore e non me la cavo per niente bene. il mio primo progettino.
questo e il progetto.
grazie attendo risposte.
- Codice: Seleziona tutto
#include <IRremote.h>
int RECV_PIN = 12;
int tendasuPin = 2;
int tendagiuPin = 3;
int luceAPin = 4;
int luceBPin = 5;
int luceCPin = 6;
int luceDPin = 7;
int luceEPin = 8;
int luceFPin = 9;
int luceGPin = 10;
int luceHPin = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(tendasuPin, OUTPUT);
pinMode(tendagiuPin, OUTPUT);
pinMode(luceAPin, OUTPUT);
pinMode(luceBPin, OUTPUT);
pinMode(luceCPin, OUTPUT);
pinMode(luceDPin, OUTPUT);
pinMode(luceEPin, OUTPUT);
pinMode(luceFPin, OUTPUT);
pinMode(luceGPin, OUTPUT);
pinMode(luceHPin, OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
long int decCode = results.value;
Serial.println(decCode);
switch (results.value) {
case -1524634562:
Serial.println("tendasu");
digitalWrite(tendasuPin, HIGH);
digitalWrite(tendagiuPin, LOW);
break;
case -932981048:
Serial.println("tendagiu");
digitalWrite(tendagiuPin, HIGH);
digitalWrite(tendasuPin, LOW);
break;
case 1976685926:
Serial.println("luceA");
digitalWrite(luceAPin, HIGH);
delay(400);
digitalWrite(luceAPin, LOW);
break;
case -451201714:
Serial.println("luceB");
digitalWrite(luceBPin, HIGH);
delay(400);
digitalWrite(luceBPin, LOW);
break;
case -520862424:
Serial.println("luceC");
digitalWrite(luceCPin, HIGH);
delay(400);
digitalWrite(luceCPin, LOW);
break;
case 1784778242:
Serial.println("luceD");
digitalWrite(luceDPin, HIGH);
delay(400);
digitalWrite(luceDPin, LOW);
break;
case -622165012:
Serial.println("luceE");
digitalWrite(luceEPin, HIGH);
delay(400);
digitalWrite(luceEPin, LOW);
break;
case 732942060:
Serial.println("luceF");
digitalWrite(luceFPin, HIGH);
break;
case -1256125018:
Serial.println("luceG");
digitalWrite(luceGPin, HIGH);
break;
case 298013739:
Serial.println("luceH");
digitalWrite(luceHPin, HIGH);
break;
case -314190012:
Serial.println("Stop");
digitalWrite(tendasuPin, LOW);
digitalWrite(tendagiuPin, LOW);
digitalWrite(luceAPin, LOW);
digitalWrite(luceBPin, LOW);
digitalWrite(luceCPin, LOW);
digitalWrite(luceDPin, LOW);
digitalWrite(luceEPin, LOW);
digitalWrite(luceFPin, LOW);
digitalWrite(luceGPin, LOW);
digitalWrite(luceHPin, LOW);
break;
default:
Serial.println("Waiting ...");
}
irrecv.resume(); // Receive the next value
}
}

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)
