Tabla de contenido:

La matriz de sensores agrícolas: 6 pasos
La matriz de sensores agrícolas: 6 pasos

Video: La matriz de sensores agrícolas: 6 pasos

Video: La matriz de sensores agrícolas: 6 pasos
Video: ¿Cómo automatizar un sistema de producción agrícola utilizando un arduino MKR GSM 1400 y Blynk ? 2024, Mes de julio
Anonim
La matriz de sensores agrícolas
La matriz de sensores agrícolas

Un proyecto de Jackson Breakell, Tyler McCubbins y Jakob Thaler para EF 230

La agricultura es un factor vital de producción en los Estados Unidos. Los cultivos se pueden utilizar para una amplia variedad de propósitos diferentes, que van desde materias primas para la producción de ropa, productos farmacéuticos y aditivos alimentarios hasta el consumo directo de las partes del cultivo, con mayor frecuencia la fruta en germinación. La mayoría de los cultivos en los Estados Unidos se cultivan al aire libre, donde las condiciones climáticas y la temperatura no se pueden controlar a gran escala. Dado cómo las condiciones climáticas drásticamente adversas pueden afectar el crecimiento de los cultivos, lo que a su vez afecta la economía de los Estados Unidos, monitorear las condiciones de un campo de cultivo se vuelve vital.

Nuestro dispositivo, el Agricultural Sensor Array, permite a los agricultores monitorear la condición de partes preseleccionadas de su campo usando 4 sensores: un sensor de agua de lluvia, un sensor de humedad del suelo, un sensor de temperatura y un sensor fotoeléctrico. La combinación de estos sensores permite a un agricultor planificar adecuadamente la producción de la cosecha de la temporada, ajustar la cantidad de lluvia o demasiada lluvia, lidiar mejor con los desastres que pueden matar los cultivos y ahorrar tiempo y problemas al tomar muestras de suelo y usar equipos de sensores más costosos. En este Instructable, lo guiaremos a través del cableado y la codificación detrás de nuestra matriz de sensores agrícolas, para que usted también pueda hacer la suya propia.

Paso 1: Reúna los materiales necesarios

Reúna los materiales necesarios
Reúna los materiales necesarios

A continuación se muestra una lista de los materiales requeridos que necesitará para comenzar"

1. Placa Arduino, preferiblemente Arduino Uno

2. Placa de pruebas básica

3. 1x resistencia de 220 ohmios

4. Cables surtidos de diferentes colores

5. Cable micro USB a USB

6. Altavoz para montar en placa

7. Sensor fotoeléctrico

8. Sensor de temperatura

9. Sensor de agua de lluvia

10. Sensor de humedad del suelo

11. Computadora con Matlab 2017 y el paquete de soporte de Arduino instalados (el paquete de soporte se puede encontrar en Complementos)

Paso 2: cablee la placa y conecte

Cablee la placa y conecte
Cablee la placa y conecte

Comience por cablear la placa como se muestra arriba, o de la manera que mejor se adapte a sus necesidades. Hay literalmente formas ilimitadas de conectar la placa, por lo que la configuración exacta depende de usted. Una vez que la placa esté conectada, comience a conectar sus sensores. Los sensores de agua de lluvia, humedad del suelo y fotoeléctricos son salidas analógicas, así que asegúrese de que estén conectados a la sección de entrada analógica del Arduino. El sensor de temperatura, por otro lado, es una salida digital, así que asegúrese de que esté conectado a una entrada digital disponible en su Arduino. El Arduino debe tener salidas para 3.3v y 5v, así que asegúrese de que los sensores estén conectados a voltajes con los que sean compatibles.

Una vez que esté seguro de que la placa se ha conectado correctamente, conecte el cable Micro USB a USB de su computadora al puerto Micro USB de su computadora y encienda su Arduino. Abra Matlab y, asegurándose de haber instalado el paquete de soporte de Arduino en Add-Ons, ejecute el comando, "fopen (serial ('nada'))", sin el ". Debería aparecer un error, y el error debería indicar si hay un comport disponible con un número. Ejecute el comando "a = arduino ('comx', 'uno')", donde x es el número de su comport, para mapear su Arduino a un objeto. El LED en el Arduino debe parpadear rápidamente para indicar que está conectado.

Paso 3: codifique los sensores fotoeléctricos y de temperatura

Codifique los sensores fotoeléctricos y de temperatura
Codifique los sensores fotoeléctricos y de temperatura

Antes de comenzar a codificar, tome nota de dónde están conectados sus sensores en el Arduino, ya que esto será importante para el comando readVoltage. Comience su código estableciendo la luz solar variable igual al comando "readVoltage (a, 'X #') ', donde X # es el puerto al que está conectado, y a simplemente está llamando al Arduino que asignó a esa variable. Inicie una declaración if, y establezca la primera condición para la luz solar <3. Establezca la salida como "info. TOD = 'noche'" para generar la hora del día como una estructura, y luego agregue una instrucción else con la salida como "info. TOD = ' day '". Dado que esta es una instrucción else, no necesitamos una condición, ya que funcionará para todos los demás valores no definidos en la instrucción if. Asegúrese de terminar su instrucción if con un final y pasar a la programación el sensor de temperatura.

Establezca la variable thermo igual a otro comando readVoltage, siendo el comando "readVoltage (a, 'X #')". En nuestro caso, la temperatura se tuvo que convertir de unidades de voltaje a Celsius, por lo que la ecuación "tempC = (termo-.5). * 100" para convertir el voltaje a Celsius. En aras de la facilidad, convertimos la temperatura en grados Celsius a Fahrenheit, pero esto es puramente opcional.

Código para pegar

luz del sol = readVoltage (a, 'A1') si la luz del sol <3

info. TOD = 'noche'

demás

info. TOD = 'día'

fin

thermo = readVoltage (a, 'A3');

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

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

Paso 4: codifique los sensores de agua de lluvia y humedad del suelo

Codifique los sensores de agua de lluvia y humedad del suelo
Codifique los sensores de agua de lluvia y humedad del suelo

Como se indicó en el último paso, asegúrese de saber a qué puertos están conectados sus sensores en la placa Arduino, ya que hará que este paso sea mucho menos frustrante. Comience con el sensor de agua de lluvia y comience una declaración if. Establezca la primera condición para "readVoltage (a, 'X #')> 4", y establezca su salida en "info. Rain = 'sin precipitación". Agregue un elseif y establezca su condicional al comando readVoltage antes, pero configúrelo en> 2. Agregue un "&&" para indicar otra condición que debe cumplirse, y configúrelo en un comando readVoltage como antes, y configúrelo en <= 4. La salida será "info. Rain = 'nebulización'". Finalmente, agregue un else y establezca su salida en "info. Rain = 'downpour'". Es posible que deba ajustar los valores para las condiciones en función de la humedad ambiental de la habitación en la que está trabajando.

A continuación, comience el código del sensor de humedad del suelo y comience con una declaración if. Establezca la condición de la instrucción if en "readVoltage (a, 'X #')> 4, y agregue la salida" info.soil = 'dry' ". Agregue una instrucción elseif, y usando el comando readVoltage anterior, configúrelo para> 2. Agregue un "&&", y establezca otro comando readVoltage para <= 4. Establezca su salida en "info.soil = 'saturación óptima'". Agregue una instrucción else y establezca su salida en "info.soil = 'flood' ", y no olvide agregar un final.

Código para pegar

if readVoltage (a, 'A0')> 4 info. Rain = 'sin precipitación'

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

info. Rain = 'nebulización'

demás

info. Rain = 'aguacero'

fin

si readVoltage (a, 'A2')> 4

info.soil = 'seco'

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

info.soil = 'saturación óptima'

demás

info.soil = 'inundación'

fin

Paso 5: Codificación de salida del altavoz y del cuadro de mensajes

Codificación de salida de altavoz y cuadro de mensaje
Codificación de salida de altavoz y cuadro de mensaje

Las salidas para este dispositivo pueden variar ampliamente, pero, en este caso, lo guiaremos a través de una salida de altavoz montada directamente en un dispositivo y una salida de cuadro de mensaje que se puede ver en una computadora remota. Nuestro altavoz está diseñado para emitir diferentes frecuencias, más baja significa peor, para una temperatura óptima de cultivo, luz solar, humedad del suelo y precipitación. Comience el código de salida de su altavoz con una declaración if y establezca su condición en el comando "readVoltage (a, 'X #')> 4 || info.tempF = 3 || readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4 ". Agregue el mismo comando playTone como se muestra arriba, pero cambie 200 a 1000 para producir un tono más alto y positivo. Luego, agregue un else y agregue el mismo comando playTone nuevamente, pero cambie 1000 a 1500. Estos tonos variables indican la gravedad de la situación del campo. Asegúrese de agregar un final para completar su declaración if.

Nuestra sección final de código será una salida que produce un cuadro de mensaje. Cree una cadena usando 'marcas entre paréntesis y convierta las partes de su estructura en cadenas usando el comando "num2str (info.x)", donde x es un nombre de subestructura en la estructura de información. Use "string newline" para agregar nuevas líneas en su cuadro de mensaje, y escriba su mensaje en texto usando las comillas, agregando el valor real del campo en la cadena usando el comando num2str mencionado anteriormente. Finalmente, con la cadena definida, usó el comando "msgbox (cadena)" para mostrar los datos como un cuadro de mensaje en su monitor.

Código para pegar

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

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

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

demás

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

fin

string = ['La temperatura es (grados F)', num2str (info.tempF)]

string = [string newline 'El suelo es', num2str (info.soil)]

string = [string newline 'La precipitación exterior es', num2str (info. Rain)]

string = [string newline 'La hora del día es', num2str (info. TOD)]

msgbox (cadena)

Paso 6: Conclusión

Conclusión
Conclusión

Si bien el mundo sigue dependiendo cada vez más de las alternativas sintéticas a los artículos que se cosechaban previamente de los cultivos, la agricultura seguirá siendo sin duda un factor relevante e importante de la economía durante mucho tiempo. Monitorear adecuadamente las tierras de cultivo es crucial para que un agricultor aproveche al máximo su cosecha y, con nuestro dispositivo, no solo es posible monitorear toda la tierra de manera remota, sino que es posible hacerlo de una manera económica y fácil. instalar y de manera confiable. Esperamos que esta guía haya resultado informativa y fácil de seguir, y esperamos que el dispositivo le resulte útil para cualquier modo que desee implementar o experimentar con él.

Feliz codificación, El equipo de matriz de sensores agrícolas

Recomendado: