Questo è un modo:
#define ledPin 11
#define inPin 10
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(inPin, INPUT);
}
void loop() {
if (digitalRead(inPin) == HIGH) {
digitalWrite(ledPin, HIGH);
}
else {
digitalWrite(ledPin, LOW);
}
}
Potresti semplificare la condizione cosi:
if (digitalRead(inPin)) {
...
Omettendo il confronto con HIGH.
Un metodo ancora più sentetico potrebbe essere:
#define ledPin 11
#define inPin 10
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(inPin, INPUT);
}
void loop() {
if (digitalRead(inPin)) digitalWrite(ledPin, HIGH);
esle digitalWrite(ledPin, LOW);
}
Questo perché se l'istruzione da eseguire in un caso dell'IF è una sola e non usa serie di istruzioni puoi omettere le graffe.
Infine, sintetizzando ancora:
#define ledPin 11
#define inPin 10
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(inPin, INPUT);
}
void loop() {
digitalWrite(ledPin, digitalRead(inPin));
}
Così in colpo solo scrivi sul pin quello che leggi dall'altro pin...
Se tu volessi invertire la logica:
digitalWrite(ledPin, !digitalRead(inPin));