Scusa PaoloP ma non ho capito minimamente di cosa parli.
Che cosa non ho impostato?
in ogni caso ecco il codice completo che, giustamente, mi chiede Guglielmo:
byte SeConnesso = 0; //specifica se arduino è connesso al pc
void setup() {
Serial.begin(9600);
pinMode(12, OUTPUT); //diodo per ricezione dati dal pc
pinMode(8, INPUT); //serve per controllare l'apertura o la chiusura di un interruttore o relè esterno ad arduino
}
void loop () {
delay(150); //intervallo di 150 milli second
if (Serial.available()) { //se arrivano dati dal computer sulla usb-com3
byte DatiArrivo = Serial.read();
if (DatiArrivo =='1') { //il computer mi sta chiedendo se sono connesso. devo rispondere di si inviando un 1
delay (150); //aspetto 150milli secondi per non mandare in pappa il sistema
Serial.write('1'); //rispondo al computer che sono acceso
}
if (DatiArrivo =='2') {
digitalWrite(12,HIGH); //si accende il diodo di conferma dati ricevuti dal pc
delay (100);
}
if (DatiArrivo =='3') {
digitalWrite(12,LOW); // si spenge di diodo di segnalazione dati pc
delay (100);
}
}
// ora controllo che il relè esterno ad arduino non chiuda il circuito
if (digitalRead(8) ==HIGH){ //se il relè/pulsante chiude il circuito
Serial.write('chiuso'); //scrivo al pc che il relè ha chiuso il circuito
delay (50);
}
if (digitalRead(8) ==LOW){ //il relè ha aperto il circuito. condizione normale
Serial.write('aperto');
delay (50);
}
}
le modifiche fatte rispetto all'originale sull'arduino sono solo i commenti e di forma.
scusate la nabbaggine... sono nuovo di arduino, ed anche di c++ ma l'argomento è troppo interessante.
Ora provo a correggere il collegamento con la resistenza al led.
grazie ancora!