Sommario:
- Passaggio 1: raccogliere i materiali necessari
- Passaggio 2: cablare la scheda e connettersi
- Passaggio 3: codificare i sensori fotoelettrici e di temperatura
- Passaggio 4: codificare i sensori di umidità dell'acqua piovana e del suolo
- Passaggio 5: codifica dell'output dell'altoparlante e della casella di messaggio
- Passaggio 6: conclusione
Video: L'array di sensori agricoli: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
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
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
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
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
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
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
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:
Array LED fai-da-te (usando Arduino): 7 passaggi
Array LED fai-da-te (usando Arduino): INTRO: Hai mai desiderato realizzare un progetto semplice che faccia sembrare i LED in movimento? No? È quello che pensavo. Bene, se hai mai desiderato realizzare qualcosa di simile, sei nel posto giusto
Array di pannelli solari con modulo MPPT cinese: 11 passaggi
Array di pannelli solari con modulo MPPT cinese: una breve descrizione della mia opinione su come far funzionare bene i pannelli solari, e piuttosto a buon mercato … Non garantisco assolutamente nessuno dei contenuti, potrebbero essere solo le divagazioni di un pazzo, infatti Sospetto fortemente che lo siano… Alcune immagini sono state
Somma ricorsiva di un array in Java: 9 passaggi
Somma ricorsiva di un array in Java: la ricorsione è una procedura molto utile ed efficiente in termini di tempo che può risolvere rapidamente un problema con pochissimo codice. La ricorsione coinvolge il metodo che crei chiamando se stesso abbreviando il problema originale. Per questo esempio, sommeremo un array di
Antenna trasmettitore FM a bassa potenza da tubi agricoli: 8 passaggi (con immagini)
Antenna trasmettitore FM a bassa potenza da tubi agricoli: costruire un'antenna trasmettitore FM non è così difficile; ci sono un sacco di disegni là fuori. Volevamo realizzare un design con parti che potevi ottenere quasi ovunque nel mondo per un set di quattro (presto 16!) community station che abbiamo avviato nel nord Uganda
Robot Line Following basato su PID con array di sensori POLOLU QTR 8RC: 6 passaggi (con immagini)
Robot che segue la linea basato su PID con array di sensori PID QTR 8RC: Ciao! questo è il mio primo articolo su istruttori, e oggi ti porterò lungo la strada e spiegherò come costruire una linea basata su PID che segue il robot usando QTR-8RC array di sensori. Prima di passare alla costruzione del robot, dobbiamo capire