Prova sketch

Ragazzi per far funzionare un rele' comandato da un potenziometro (entrata analogica,commutazione in digitale,apertura o chiusura rele'),dato un certo valore di soglia,ad esempio,a 1023 deve aprire,a 0 deve chiudere,va bene questo sketch? (sono ancora poco pratico :grin: )

onst short potentiometer = 0;
const short relais = 13;

void setup() {
pinMode(relais, OUTPUT);
Serial.begin(9600);
}
void loop() {
  Serial.print("Lettura: ");
Serial.print(map(analogRead(potentiometer),0,1023,0,5));
Serial.println(" V");
delay(100);
}

const short potentiometer = 0;
const short relais = 13;
int soglia = 300;
void setup() {
	pinMode(relais, OUTPUT);
}
void loop() {
if (analogRead(sensore) > soglia)
digitalWrite(relais,LOW);
else
digitalWrite(relais,HIGH);
}

Con eventuali errori,sareste cosi' gentili da correggerlo? Greazie mille :slight_smile:

const short potentiometer = 0;
const short relais = 13;

Le due assegnazioni in Loop vanno eliminate, poiché le due variabili sono già state dichiarate a livello globale.

int soglia = 300;

La dichiarazione in Loop è meglio sia di tipo globale.

map(analogRead(potentiometer),0,1023,0,5))

La funzione map restituisce solo 6 valori (0, 1, 2, 3, 4, 5) poiché restituisce solo interi: meglio usare un float od un double ed operare una conversione del tipo valore = analogRead(potentiometer) * 5.0 / 1024;