In questo articolo potrete imparare a utilizzare sensori analogici con Intel Galileo. Vi mostrerò come utilizzare un semplice sensore di sensore di pioggia e umidità del suolo.
Questo progetto può essere utilizzato in azienda: per prendere decisioni migliori su quando l'acqua colture, nonché molto utile disporre di informazioni sulla quantità di pioggia caduta, e il livello di umidità suolo.
Nonostante il fatto che ho usato nel progetto Galileo Intel, si potrebbe anche utilizzare lo stesso codice e la connessione con Arduino.
I componenti che ho usato:
- Intel Galileo - 1 pc.
- Layout digitare IB401 esperimenti con 400 punti e creste
- Tester di umidità - 1 pc.
- Sensore pioggia FC-37 - 1 PC.
Come funziona il sensore di umidità del suolo?
Tester di umidità è molto semplice.
Si misura la resistenza del suolo e la converte in tensione 0 e 5 V. Si può leggere questo valore tramite scheda Intel Galileo analogiche uscite.
Questo vi darà un intero 0-1024 nel codice.
Nella pagina delle informazioni del tester di umidità, si può vedere che il sensore vi darà il seguente output per il terreno asciutto, terreno umido e acqua:
- Il sensore nel terreno asciutto: 0 ~ 300
- Il sensore in un terreno umido: 300 ~ 700
- Il sensore in acqua: 700 ~ 950
Diverse piante necessitano di un livello di umidità. È possibile misurare in termini di valore di riferimento reale - e poi utilizzarlo nel progetto.
Come funziona il pluviometro?
Su tale sensore A è anche un semplice valore di tensione da 0 a 5 V. E si può leggere con uno degli ingressi analogici Intel Galileo vostra tavola.
I sensori hanno anche un'uscita digitale. Sarà alto quando il livello di umidità supera una certa soglia. È possibile controllare la soglia con il potenziometro integrato.
Ma dal momento che è facile da fare nel codice, è possibile ignorare questa conclusione e utilizzare solo l'uscita analogica del progetto.
Passo 1: Collegare i componenti
Collegare i fili di collegamento dal 5 V e GND da Galileo a due righe vuote nel layout.
Utilizzare i cavi di collegamento per collegare la VCC e GND dal sensore umidità del terreno a 5V e GND nel layout.
E collegare un ponticello dal contatto SIG umidità del terreno sensore al A0 terminale a bordo Intel Galileo.
Fare lo stesso con sensore pioggia: collegare la VCC e GND a 5V e terra sul layout.
E collegare A0 dal sensore pioggia A1 Galileo.
Collegare l'alimentazione della scheda Intel Galileo, e quando l'indicatore USB si illumina, collegare il cavo USB dal computer a Galileo.
Ora siete pronti per la programmazione.
Fase 2: Scarica il codice per leggere i valori dal sensore di umidità del suolo
Controllare il sensore di umidità del terreno scaricando il seguente codice:
int sensorPin = A0; // seleziona il pin di ingresso per il sensore
void setup () {
porta seriale // Inizializza
Serial.begin (9600);
}
void loop () {
// leggere i valori dal sensore
int = SensorValue analogRead (sensorPin);
// Visualizza il valore
Serial.println (SensorValue);
// ritardo di 200 ms.
ritardo (200);
}
Quindi toccare le dita per i due contatti del sensore per garantire che ci sia una reazione. Se si vede un cambiamento dei valori quando si tocca i due contatti, il che significa che tutto funzioni.
Fase 3: controllare il sensore pioggia
Ora modificare il codice al fine di verificare il pluviometro.
Utilizzare lo stesso codice come sopra, ma invece modificare la variabile sensorPin su A1. È possibile controllare il pluviometro, per esempio, con una spugna bagnata.
Fase 4. Unire il codice in uno
Infine, combinare tutti il codice di questi due sensori in un unico programma e rendere più piacevole uscita seriale:
int sensorPinSoil = A0; // PIN ingresso per sensore di umidità del terreno
int sensorPinRain = A1; // PIN ingresso per il sensore pioggia
void setup () {
Serial.begin (9600);
}
void loop () {
int = soilValue analogRead (sensorPinSoil);
int = rainValue analogRead (sensorPinRain);
// output ad un valore formato leggibile
Serial.print ( "sensore pioggia valore corrente");
Serial.println (rainValue);
Serial.print ( "valore attuale del suolo sensore di umidità");
Serial.println (soilValue);
Serial.println ( "");
ritardo (200);
}
Fatto! Test! E non dimenticare di iscriverti al mio feed RSS.