Sommario:

L'array di sensori agricoli: 6 passaggi
L'array di sensori agricoli: 6 passaggi

Video: L'array di sensori agricoli: 6 passaggi

Video: L'array di sensori agricoli: 6 passaggi
Video: Monitoraggio dei campi con i Sensori - xFarm Tutorial #7 [ITA] 2024, Novembre
Anonim
La serie di sensori agricoli
La serie di sensori agricoli

Un progetto di Jackson Breakell, Tyler McCubbins e Jakob Thaler per EF 230

L'agricoltura è un fattore di produzione vitale negli Stati Uniti. Le colture possono essere utilizzate per un'ampia varietà di scopi diversi, che vanno dalle materie prime per la produzione di abbigliamento, prodotti farmaceutici e additivi alimentari al consumo diretto delle parti della coltura, il più delle volte il frutto in germinazione. La maggior parte delle colture negli Stati Uniti viene coltivata all'aperto, dove le condizioni meteorologiche o la temperatura non possono essere controllate su larga scala. Considerato il modo in cui le condizioni meteorologiche avverse possono influenzare la crescita dei raccolti, influenzando a loro volta l'economia degli Stati Uniti, il monitoraggio delle condizioni di un campo coltivato diventa vitale.

Il nostro dispositivo, l'Agricultural Sensor Array, consente agli agricoltori di monitorare le condizioni di parti preselezionate del loro campo utilizzando 4 sensori: un sensore di acqua piovana, un sensore di umidità del suolo, un sensore di temperatura e un sensore fotoelettrico. La combinazione di questi sensori consente a un agricoltore di pianificare adeguatamente la produzione stagionale del raccolto, regolare la pioggia o l'eccessiva, affrontare meglio i disastri che possono uccidere i raccolti e risparmiare tempo e fatica dal prelievo di campioni di terreno e dall'utilizzo di apparecchiature di sensori più costose. In questo Instructable, ti guideremo attraverso il cablaggio e la codifica dietro il nostro array di sensori agricoli, in modo che anche tu possa crearne uno tuo.

Passaggio 1: raccogliere i materiali necessari

Raccogliere i materiali necessari
Raccogliere i materiali necessari

Di seguito è riportato un elenco dei materiali necessari per iniziare"

1. Scheda Arduino, preferibilmente Arduino Uno

2. Tagliere di base

3. 1x resistenza da 220 ohm

4. Fili assortiti di diversi colori

5. Cavo da micro USB a USB

6. Altoparlante montabile su scheda

7. Sensore fotoelettrico

8. Sensore di temperatura

9. Sensore di acqua piovana

10. Sensore di umidità del suolo

11. Computer con Matlab 2017 e pacchetto di supporto Arduino installati (il pacchetto di supporto può essere trovato in Add-Ons)

Passaggio 2: cablare la scheda e connettersi

Collega la scheda e connetti
Collega la scheda e connetti

Inizia collegando la scheda come mostrato sopra o in qualsiasi modo ti si adatti meglio. Ci sono modi letteralmente illimitati in cui la scheda può essere cablata, quindi la configurazione esatta dipende da te. Dopo che la scheda è stata cablata, inizia a collegare i sensori. L'acqua piovana, l'umidità del suolo e i sensori fotoelettrici sono tutte uscite analogiche, quindi assicurati che siano collegati alla sezione di ingresso analogico di Arduino. Il sensore di temperatura, d'altra parte, è un'uscita digitale, quindi assicurati che sia collegato a un ingresso digitale disponibile sul tuo Arduino. L'Arduino dovrebbe avere uscite per 3.3v e 5v, quindi assicurati che i sensori siano collegati a tensioni con cui sono compatibili.

Dopo esserti accertato che la scheda sia stata cablata correttamente, collega il cavo da Micro USB a USB dal tuo computer alla porta Micro USB del tuo computer e accendi Arduino. Apri Matlab e, assicurandoti di aver installato Arduino Support Package in Add-Ons, esegui il comando "fopen(serial('nada'))", senza ". Dovrebbe apparire un errore e l'errore dovrebbe dire c'è una comport disponibile con un numero. Esegui il comando "a=arduino('comx', 'uno')", dove x è il numero della tua comport, per mappare il tuo Arduino su un oggetto. Il LED su Arduino dovrebbe lampeggiare rapidamente per indicare che è collegato.

Passaggio 3: codificare i sensori fotoelettrici e di temperatura

Codificare i sensori fotoelettrici e di temperatura
Codificare i sensori fotoelettrici e di temperatura

Prima di iniziare a codificare, prendi nota di dove sono collegati i tuoi sensori su Arduino, poiché questo sarà importante per il comando readVoltage. Inizia il tuo codice impostando la variabile luce solare uguale al comando "readVoltage(a, 'X#')', dove X# è la porta a cui sei connesso e a sta semplicemente chiamando l'Arduino che hai mappato su quella variabile. Avvia un'istruzione if e imposta la prima condizione per la luce del sole<3. Imposta l'output come "info. TOD='night'" per visualizzare l'ora del giorno come struttura, quindi aggiungi un'istruzione else con l'output come "info. TOD=' day'". Poiché questa è un'istruzione else, non abbiamo bisogno di una condizione, poiché funzionerà per tutti gli altri valori non definiti nell'istruzione if. Assicurati di completare l'istruzione if con una fine e passa alla programmazione il sensore di temperatura.

Impostare la variabile termo uguale a un altro comando readVoltage, il comando è "readVoltage(a, 'X#')". Nel nostro caso, la temperatura doveva essere convertita da unità di tensione a Celsius, quindi l'equazione "tempC=(thermo-.5).*100" per convertire dalla tensione a Celsius. Per semplicità, abbiamo convertito la temperatura in gradi Celsius in Fahrenheit, ma questo è puramente facoltativo.

Codice per incollare

luce solare=letturaTensione(a, 'A1')se luce solare<3

info. TOD='notte'

altro

info. TOD='giorno'

fine

termo=letturaTensione(a, 'A3');

tempC=(termo-.5).*100;

info.tempF=(9/5.*tempC)+32

Passaggio 4: codificare i sensori di umidità dell'acqua piovana e del suolo

Codifica i sensori dell'acqua piovana e dell'umidità del suolo
Codifica i sensori dell'acqua piovana e dell'umidità del suolo

Come affermato nell'ultimo passaggio, assicurati di sapere a quali porte sono collegati i tuoi sensori sulla scheda Arduino, poiché renderà questo passaggio molto meno frustrante. Inizia con il sensore dell'acqua piovana e avvia un'istruzione if. Imposta la prima condizione per "readVoltage(a, 'X#')>4" e imposta il suo output su "info. Rain='no precipitation". Aggiungi un elseif e imposta il suo condizionale sul comando readVoltage prima, ma impostalo su >2. Aggiungi un "&&" per indicare un'altra condizione che deve essere soddisfatta e impostalo su un comando readVoltage come prima e impostalo su <=4. L'output sarà "info. Rain='misting'". Infine, aggiungi un altro e imposta il suo output su "info. Rain='downpour'". Potrebbe essere necessario regolare i valori per le condizioni in base all'umidità ambientale della stanza in cui si lavora.

Quindi, inizia il codice per il sensore di umidità del suolo e inizia con un'istruzione if. Imposta la condizione dell'istruzione if su "readVoltage(a, 'X#')>4 e aggiungi l'output "info.soil='dry'". Aggiungi un'istruzione elseif e, utilizzando il comando readVoltage sopra, impostala per > 2. Aggiungi un "&&" e imposta un altro comando readVoltage per <= 4. Imposta il suo output su "info.soil='saturazione ottimale'". Aggiungi un'istruzione else e imposta il suo output su "info.soil='flood' ", e non dimenticare di aggiungere una fine.

Codice per incollare

if readVoltage(a, 'A0')>4 info. Pioggia='nessuna precipitazione'

elseif readVoltage(a, 'A0')>2 && readVoltage(a, 'A0')<=4

info. Rain='appannamento'

altro

info. Rain='acquazzone'

fine

se readVoltage(a, 'A2')>4

info.soil='secco'

elseif readVoltage(a, 'A2')>2 && readVoltage(a, 'A0')<=4

info.soil='saturazione ottimale'

altro

info.soil='inondazione'

fine

Passaggio 5: codifica dell'output dell'altoparlante e della casella di messaggio

Codifica dell'uscita dell'altoparlante e della casella di messaggio
Codifica dell'uscita dell'altoparlante e della casella di messaggio

Le uscite per questo dispositivo possono variare notevolmente, ma, in questo caso, ti guideremo attraverso un'uscita per altoparlanti montata direttamente su un dispositivo e un'uscita per casella di messaggio che può essere visualizzata su un computer remoto. Il nostro altoparlante è progettato per emettere frequenze diverse, significato più basso peggio, per una temperatura ottimale del raccolto, luce solare, umidità del suolo e precipitazioni. Inizia il codice di uscita dell'altoparlante con un'istruzione if e imposta la sua condizione sul comando "readVoltage(a, 'X#')>4 || info.tempF=3 || readVoltage(a, 'A2')>2 && readVoltage(a, 'A0')<=4". Aggiungi lo stesso comando playTone come mostrato sopra, ma cambia da 200 a 1000 per produrre un tono più alto e più positivo. Quindi, aggiungi un altro e aggiungi di nuovo lo stesso comando playTone, ma cambia 1000 in 1500. Questi toni variabili indicano la gravità della situazione del campo. Assicurati di aggiungere una fine per completare l'istruzione if.

La nostra sezione finale di codice sarà un output che produce una finestra di messaggio. Crea una stringa usando i segni ' tra parentesi e converti le parti della tua struttura in stringhe usando il comando "num2str(info.x)", dove x è un nome di sottostruttura nella struttura info. Usa "string newline" per aggiungere newline nella tua casella di messaggio e digita il tuo messaggio nel testo usando le virgolette, aggiungendo il valore effettivo del campo nella stringa usando il sopracitato comando num2str. Infine, con la stringa definita, usa il comando "msgbox(string)" per visualizzare i dati come una finestra di messaggio sul tuo monitor.

Codice per incollare

se readVoltage(a, 'A2')>4 || info.tempF<32 playTone(a, 'D9', 200, 1)

altrimenti se la luce del sole>=3 || readVoltage(a, 'A2')>2 && readVoltage(a, 'A0')<=4

playTone(a, 'D9', 1000, 3)

altro

playTone(a, 'D9', 1500, 5)

fine

string = ['La temperatura è (gradi F) ', num2str(info.tempF)]

string=[string newline 'Il terreno è ', num2str(info.soil)]

string=[string newline 'Le precipitazioni esterne sono ', num2str(info. Rain)]

string=[string newline 'L'ora del giorno è ', num2str(info. TOD)]

msgbox (stringa)

Passaggio 6: conclusione

Conclusione
Conclusione

Mentre il mondo continua a fare sempre più affidamento su alternative sintetiche agli elementi precedentemente raccolti dalle colture, l'agricoltura rimarrà sicuramente un fattore rilevante e importante dell'economia per molto tempo. Monitorare adeguatamente i terreni agricoli è fondamentale per un agricoltore per ottenere il massimo dal suo raccolto e, con il nostro dispositivo, non solo è possibile monitorare l'intero terreno agricolo da remoto, ma è possibile farlo in modo economico, facile da installare e modo affidabile. Ci auguriamo che questa guida si sia rivelata informativa e facile da seguire, e speriamo che il dispositivo si dimostri utile in qualsiasi modo desideri implementarlo o sperimentarlo.

Codifica felice, Il team di array di sensori agricoli

Consigliato: