Seguimi su Youtubue
Iscriviti
Se desideri, puoi effettuare un'iscrizione gratuita al forum per entrare nella nostra community.
Accedi

Recuperare la parola d'ordine

Ricerca Avanzata
Pubblicità Google AdSense
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
I postatori più attivi del mese
Poderak
 
Ilfalco78
 

Azionare rele' o lampada con un sensore livello acqua

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso

Azionare rele' o lampada con un sensore livello acqua

Messaggio Da papat il Sab Feb 27, 2016 3:05 pm

Dovrei azionare un rele', lampada o altro con un sensore livello acqua,che appena raggiunge il sensore (100k),dovrebbe farli intervenire.Il codice che ho cercato invano di farlo funzionare e' questo:

Codice:
int rele;
int value;

void setup()
{
Serial.begin(9600);
}



void loop()
{
int sensorValue = analogRead(A0); //Legge il valore analogico
Serial.println(sensorValue); //Stampa a schermo il valore
delay(2000); //Attende due secondi
}
If (int Value=0;int Value<=100 )
{digitalWrite(rele,HIGH);}
Else
{digitalWrite(rele;LOW);}
pero' mi da' errore su if sempre expected ','  'or'.... before '<' token.Sara' ancora qualche parentesi o ; che ho saltato?.Vi ringrazio

papat
Maker

Messaggi Messaggi : 160
Crediti Crediti : 240
Reputazione Reputazione : 3
Data d'iscrizione Data d'iscrizione : 17.10.15
Età Età : 69
Località Località : montalbano ionico

Vedere il profilo dell'utente

Tornare in alto Andare in basso

Re: Azionare rele' o lampada con un sensore livello acqua

Messaggio Da Poderak il Sab Feb 27, 2016 9:35 pm


Ti ho spostato l'argomento in "Chiedi aiuto per Arduino".
Ciao @papat, hai combinato un bel pasticcio Very Happy. Non preoccuparti, è normale. Il codice corretto è questo:

Codice:
int rele=A0;
int value=0;

void setup()
{
pinMode(rele, OUTPUT);
Serial.begin(9600);
}



void loop()
{
value = analogRead(A0); //Legge il valore analogico
Serial.println(value); //Stampa a schermo il valore
delay(2000); //Attende due secondi

if (value>=100)
{
  digitalWrite(rele,HIGH);
}
else {
digitalWrite(rele, LOW);
}

}

Cerco di spiegarti dove hai sbagliato:

  1. Ricordati di inizializzare tutte le variabili e di assegnare il PIN corrispondete ai nomi. Nel tuo codice non avevi assegnato al nome "rele" il PIN A0. Inoltre non avevi inizializzato "value" a zero.
  2. Ricordati di impostare tutti i componenti del circuito nel codice. Il relè, dato che riceve un comando da Arduino, è un output e quindi in "void setup() {}" devi impostare, come ho fatto io, la seguente funzione:
    pinMode(rele, OUTPUT);

  3. Controlla le variabili che usi nel loop. L'Arduino purtroppo è senza cervello e dobbiamo dirgli completamente tutto in quanto non è in grado di interpretare da solo. Avevi usato variabili inesistenti (usa quelle che imposti all'inizio del programma Very Happy).
  4. Ricordati che le parentesi hanno un inizio ed una fine. Se le chiudi prima/dopo, potresti sballare l'intero programma.
  5. Ricordati che il Wiring è Case Sensitive. Scrivere in maiuscolo non è la stessa cosa di scrivere in minuscolo.
  6. Negli if va imposto una sola condizione. Se ne vuoi più di una, devi utilizzare gli && oppure ||.


Questi sono gli errori principali. Spero che in questo modo riesci a ricordarti di come fare per non sbagliare. Spero che ti sia utile Very Happy Very Happy

Se hai dubbi, chiedi pure, sono qui! Ciao!

Poderak
♔ Amministratore

Messaggi Messaggi : 4117
Crediti Crediti : 11595
Reputazione Reputazione : 185
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedere il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto


 
Permesso di questo forum:
Non puoi rispondere agli argomenti in questo forum