Table des matières:

Le réseau de capteurs agricoles : 6 étapes
Le réseau de capteurs agricoles : 6 étapes

Vidéo: Le réseau de capteurs agricoles : 6 étapes

Vidéo: Le réseau de capteurs agricoles : 6 étapes
Vidéo: Capteurs et logiciels d'analyse de données en agriculture de précision 2024, Juillet
Anonim
Le réseau de capteurs agricoles
Le réseau de capteurs agricoles

Un projet de Jackson Breakell, Tyler McCubbins et Jakob Thaler pour EF 230

L'agriculture est un facteur de production vital aux États-Unis. Les cultures peuvent être utilisées à des fins très diverses, allant des matières premières pour la production de vêtements, de produits pharmaceutiques et d'additifs alimentaires à la consommation directe des parties de la culture, le plus souvent les fruits en germination. La majorité des cultures aux États-Unis sont cultivées à l'extérieur, où les conditions météorologiques ni la température ne peuvent être contrôlées à grande échelle. Étant donné à quel point les conditions météorologiques défavorables peuvent affecter la croissance des cultures, affectant à leur tour l'économie des États-Unis, la surveillance des conditions d'un champ de culture devient vitale.

Notre dispositif, l'Agricultural Sensor Array, permet aux agriculteurs de surveiller l'état de parties présélectionnées de leur champ à l'aide de 4 capteurs: un capteur d'eau de pluie, un capteur d'humidité du sol, un capteur de température et un capteur photoélectrique. La combinaison de ces capteurs permet à un agriculteur de planifier adéquatement la production agricole de la saison, de s'adapter à trop peu ou trop de pluie, de mieux faire face aux catastrophes qui peuvent tuer les cultures et d'économiser du temps et des problèmes en prélevant des échantillons de sol et en utilisant un équipement de capteur plus coûteux. Dans ce Instructable, nous vous expliquerons le câblage et le codage derrière notre réseau de capteurs agricoles, afin que vous puissiez également créer le vôtre.

Étape 1: Rassemblez le matériel requis

Rassemblez le matériel requis
Rassemblez le matériel requis

Vous trouverez ci-dessous une liste du matériel requis dont vous aurez besoin pour commencer"

1. Carte Arduino, de préférence Arduino Uno

2. Planche à pain de base

3. 1x résistance de 220 ohms

4. Fils assortis de différentes couleurs

5. Câble micro USB vers USB

6. Haut-parleur montable sur carte

7. Capteur photoélectrique

8. Capteur de température

9. Capteur d'eau de pluie

10. Capteur d'humidité du sol

11. Ordinateur avec Matlab 2017 et Arduino Support Package installé (le package de support peut être trouvé sous Add-Ons)

Étape 2: câbler la carte et connecter

Câbler la carte et connecter
Câbler la carte et connecter

Commencez par câbler la carte comme indiqué ci-dessus ou de la manière qui vous convient le mieux. Il y a littéralement des manières illimitées de câbler la carte, donc la configuration exacte dépend vraiment de vous. Une fois la carte câblée, commencez à attacher vos capteurs. Les capteurs d'eau de pluie, d'humidité du sol et photoélectriques sont tous des sorties analogiques, alors assurez-vous qu'ils sont câblés dans la section d'entrée analogique de l'Arduino. Le capteur de température, en revanche, est une sortie numérique, alors assurez-vous qu'il est câblé dans une entrée numérique disponible sur votre Arduino. L'Arduino doit avoir des sorties pour 3,3 V et 5 V, alors assurez-vous que les capteurs sont connectés à des tensions avec lesquelles ils sont compatibles.

Après vous être assuré que la carte a été correctement câblée, branchez le câble Micro USB vers USB de votre ordinateur dans le port Micro USB de votre ordinateur et allumez votre Arduino. Ouvrez Matlab et, en vous assurant d'avoir installé le package de support Arduino sous Add-Ons, exécutez la commande "fopen(serial('nada'))", sans le ". Une erreur devrait apparaître et l'erreur devrait indiquer il y a un port disponible avec un numéro. Exécutez la commande "a=arduino('comx', 'uno')", où x est le numéro de votre port, pour mapper votre Arduino à un objet. La LED sur l'Arduino doit clignoter rapidement pour indiquer qu'il est connecté.

Étape 3: Coder les capteurs photoélectriques et de température

Coder les capteurs photoélectriques et de température
Coder les capteurs photoélectriques et de température

Avant de commencer à coder, notez où vos capteurs sont connectés sur l'Arduino, car cela sera important pour la commande readVoltage. Commencez votre code en définissant la variable lumière du soleil égale à la commande "readVoltage(a, 'X#')', où X# est le port auquel vous êtes connecté, et a appelle simplement l'Arduino que vous avez mappé à cette variable. Démarrez une instruction if, et définissez la première condition pour la lumière du soleil<3. Définissez la sortie comme "info. TOD='night'" pour afficher l'heure du jour en tant que structure, puis ajoutez une instruction else avec la sortie comme "info. TOD=' day'". Puisqu'il s'agit d'une instruction else, nous n'avons pas besoin d'une condition, car cela fonctionnera pour toutes les autres valeurs non définies dans l'instruction if. Assurez-vous de terminer votre instruction if avec une fin et passez à la programmation le capteur de température.

Définissez la variable thermo égale à une autre commande readVoltage, la commande étant "readVoltage(a, 'X#')". Dans notre cas, la température a dû être convertie d'unités de tension en Celsius, donc l'équation "tempC=(thermo-.5).*100" pour convertir de la tension en Celsius. Par souci de facilité, nous avons converti la température en degrés Celsius en degrés Fahrenheit, mais ceci est purement facultatif.

Code à des fins de collage

soleil=lectureVoltage(a, 'A1')si soleil<3

info. TOD='nuit'

autre

info. TOD='jour'

finir

thermo=lireTension(a, 'A3');

tempC=(thermo-0,5).*100;

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

Étape 4: Coder les capteurs d'eau de pluie et d'humidité du sol

Coder les capteurs d'eau de pluie et d'humidité du sol
Coder les capteurs d'eau de pluie et d'humidité du sol

Comme indiqué dans la dernière étape, assurez-vous de savoir sur quels ports vos capteurs sont branchés sur la carte Arduino, car cela rendra cette étape beaucoup moins frustrante. Commencez par le capteur d'eau de pluie et lancez une instruction if. Définissez la première condition pour "readVoltage(a, 'X#')>4", et réglez sa sortie sur "info. Rain='pas de précipitation". Ajoutez un elseif et définissez son conditionnel sur la commande readVoltage avant, mais définissez-le sur >2. Ajoutez un "&&" pour signifier une autre condition qui doit être remplie, et définissez-la sur une commande readVoltage comme précédemment, et définissez-la sur <=4. La sortie sera "info. Rain='misting'". Enfin, ajoutez un else et définissez sa sortie sur "info. Rain='downpour'". Vous devrez peut-être ajuster les valeurs des conditions en fonction de l'humidité ambiante de la pièce dans laquelle vous travaillez.

Ensuite, commencez le code du capteur d'humidité du sol et commencez par une instruction if. Définissez la condition de l'instruction if sur "readVoltage(a, 'X#')>4 et ajoutez la sortie "info.soil='dry'". Ajoutez une instruction elseif et, à l'aide de la commande readVoltage ci-dessus, définissez-la pour > 2. Ajoutez un "&&" et définissez une autre commande readVoltage pour <= 4. Définissez sa sortie sur "info.soil='optimal saturation'". Ajoutez une instruction else et définissez sa sortie sur "info.soil='flood' ", et n'oubliez pas d'ajouter une fin.

Code à des fins de collage

si readVoltage(a, 'A0')>4 info. Rain='pas de précipitation'

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

info. Rain='brume'

autre

info. Rain='averse'

finir

si readTension(a, 'A2')>4

info.sol='sec'

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

info.sol='saturation optimale'

autre

info.sol='inondation'

finir

Étape 5: Codage de sortie du haut-parleur et de la boîte de message

Codage de sortie du haut-parleur et de la boîte de message
Codage de sortie du haut-parleur et de la boîte de message

Les sorties de cet appareil peuvent varier considérablement, mais, dans ce cas, nous vous guiderons à travers une sortie de haut-parleur montée directement sur un appareil et une sortie de boîte de message pouvant être visualisée sur un ordinateur distant. Notre haut-parleur est conçu pour émettre différentes fréquences, inférieures signifiant pires, pour une température optimale des cultures, la lumière du soleil, l'humidité du sol et les précipitations. Commencez le code de sortie de votre haut-parleur par une instruction if et définissez sa condition sur la commande "readVoltage(a, 'X#')>4 || info.tempF=3 || readVoltage(a, 'A2')>2 && readVoltage(a, 'A0')<=4". Ajoutez la même commande playTone comme indiqué ci-dessus, mais changez 200 à 1000 pour produire une tonalité plus élevée et plus positive. Ensuite, ajoutez un else et ajoutez à nouveau la même commande playTone, mais changez 1000 à 1500. Ces tonalités variables indiquent la gravité de la situation sur le terrain. Assurez-vous d'ajouter une fin pour compléter votre instruction if.

Notre dernière section de code sera une sortie qui produira une boîte de message. Créez une chaîne en utilisant les marques ' entre parenthèses et convertissez les parties de votre structure en chaînes à l'aide de la commande "num2str(info.x)", où x est un nom de sous-structure dans la structure d'information. Utilisez "string newline" pour ajouter des nouvelles lignes dans votre boîte de message et tapez votre message sous forme de texte en utilisant les guillemets, en ajoutant la valeur réelle du champ dans la chaîne à l'aide de la commande num2str susmentionnée. Enfin, avec la chaîne définie, utilisez la commande "msgbox(string)" pour afficher les données sous forme de boîte de message sur votre moniteur.

Code à des fins de collage

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

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

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

autre

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

finir

string = ['La température est (deg F) ', num2str(info.tempF)]

string=[string newline 'Le sol est ', num2str(info.sol)]

string=[string newline 'Les précipitations extérieures sont ', num2str(info. Rain)]

string=[string newline 'L'heure du jour est ', num2str(info. TOD)]

msgbox(chaîne)

Étape 6: Conclusion

Conclusion
Conclusion

Alors que le monde continue de s'appuyer de plus en plus sur des alternatives synthétiques aux éléments précédemment récoltés dans les cultures, l'agriculture restera certainement un facteur pertinent et important de l'économie pendant longtemps. Une surveillance adéquate des terres agricoles est cruciale pour qu'un agriculteur tire le meilleur parti de sa récolte et, avec notre appareil, il est non seulement possible de surveiller l'ensemble des terres agricoles à distance, mais il est possible de le faire de manière économique et facile installer et de manière fiable. Nous espérons que ce guide s'est avéré informatif et facile à suivre, et nous espérons que l'appareil s'avérera utile pour la manière dont vous souhaitez l'implémenter ou l'expérimenter.

Bon codage, L'équipe des réseaux de capteurs agricoles

Conseillé: