xmas69:
- Essendo le barriere ad infrarossi alimentate in maniera autonoma dall'arduino, ed avendo in genere un'uscita a relè (na o nc), mi pare evidente che queste non possono essere collegate direttamente all'ingresso digitale dell'arduino. Per ovviare a questo ho pensato di utilizzare lo SHIELD Arduino I/O (SHIELD ARDUINO - IN/OUT).
Ritenete sia una scelta corretta?
No.
Se vuoi usare il relè della cellula devi crearti un piccolo circuito che scatta alla chiusura o apertura del contatto.
Ad esempio puoi collegare il pin di arduino al comune della cellula con in serie una resistenza da 220 ohm, poi colleghi il NO a GND.
Attivi la pull-up interna e quando il contatto si chiude la tensione andrà a zero mettendo il pin in LOW.
Esempio di codice
#define Cellula1 7 // pin che riceve il comando dalla cellula
bool stato = HIGH;
void setup() {
pinMode(Cellula1, INPUT);
digitalWrite(Cellula1, HIGH); // Attiva pull-up
}
void loop( ){
stato = digitalRead(Cellula1); // leggi lo stato della cellula1
if ( stato == LOW) { // verifica se lo stato è basso
digitalWrite(13, HIGH); // accendi il led verde sul pin 13
}
else {
digitalWrite(13, LOW); // spegni il led
}
}
Per la precisione se ne parlato spesso in questo forum, dovresti fare una ricerca sull'argomento.