Tabla de contenido:

UCL - IIoT - Farmers Market: 7 pasos
UCL - IIoT - Farmers Market: 7 pasos

Video: UCL - IIoT - Farmers Market: 7 pasos

Video: UCL - IIoT - Farmers Market: 7 pasos
Video: Artificial Intelligence (AI) in Agriculture | The Future of Modern Smart Farming with IoT 2024, Mes de julio
Anonim
UCL - IIoT - Mercado de agricultores
UCL - IIoT - Mercado de agricultores

La billetera Farmersmarket se puede utilizar en ferias, mercados de agricultores u otras reuniones donde se venden productos.

La billetera Farmersmarket es una máquina para contar monedas, diseñada para que sea posible ver rápidamente el contenido total de una caja que contiene monedas. La billetera de Farmersmarket también cargará el total a un servidor programado a través de Node-red.

Está hecho por tres estudiantes del University College Lillebælt en Dinamarca. Desde nuestro proyecto anterior, The coin sorter, hemos aprendido muchas cosas nuevas que incorporaremos en la construcción. Hemos optado por renunciar a clasificar las monedas y, en cambio, hacer que la máquina las cuente, depositándolas en una caja de monedas común.

La billetera consta de cinco diapositivas o ranuras, una para cada tipo de moneda. Cuando se coloca una moneda en la ranura adecuada, caerá pasando un reflector, que envía una señal ALTA al arduino. Usaremos la señal para agregar el valor de las monedas al total contado, mostrarlo en la pantalla externa y enviar el nuevo total a un servidor. Una vez que el servidor recibe el total, actualizará una interfaz de usuario que se encuentra en línea y muestra el nuevo total.

Descripción Una caja con cinco ranuras para monedas que conducen a cinco diapositivas internas individuales, una para cada tipo de moneda: 1kr, 2kr, 5kr, 10kr, 20kr

Una pantalla LCD que muestra el total de efectivo depositado en la parte superior de la caja.

La parte superior de la caja está asegurada con trampillas. Al levantar la parte superior, se sacará la carcasa del arduino junto con la parte superior que contiene la pantalla LCD, las ranuras para monedas, los reflectores, etc., dejando solo la caja donde se depositan las monedas.

Componentes y materiales: herramientas y equipo para hacer una caja (puede ser de cartón o madera)

- Arduino Mega 2560

- 30 cables de puente

- 5 x LDR "Sensor de luz"

- 5 resistencias de 220 ohmios

- 5 resistencias de 10k ohmios

- 5 x LED blancos

- Módulo LCD 16x02

- monedas

Código en Arduino

Como se mencionó anteriormente, este proyecto se origina en un proyecto anterior que hicimos hace aproximadamente ocho meses (https://www.instructables.com/id/Coin-Sorting-Machine/). Debido a esto, podemos reutilizar una gran parte del código en arduino, aunque hay algunos cambios más pequeños. Como verá, el código es bastante simple, que cualquier persona con un poco de experiencia con Arduino debería poder entender.

Node-RED Node-RED es la herramienta que usaremos para obtener los datos del arduino y de su computadora, y más adelante a Internet, si eso es de su interés. Otra razón importante para usar Node-RED es la capacidad de presentar datos de Arduino de una manera fácil de entender, para personas que no tienen ninguna experiencia en programación / codificación con Arduino y Node-RED.

Base de datos Usando Wampserver podemos almacenar nuestros valores de Arduino en una base de datos. Con Wampserver es posible crear y alternar su propia base de datos como desee, usando phpMyAdmin para administrar MySQL. En nuestro caso, tenemos seis valores que debemos almacenar (uno para cada tipo de moneda y otro para el resultado), por lo que hemos creado seis columnas en las que se puede almacenar cada valor.

Paso 1: ¿Cómo funciona?

¿Como funciona?
¿Como funciona?

En una mansión más detallada, ahora explicaremos cómo funciona nuestro sistema.

Como verá en el diagrama de flujo, lo primero que establece el proceso es cuando se coloca una moneda en su ranura correcta.

El sensor de luz LDR notará la cantidad reducida de luz, cuando la moneda pase por el sensor, lo que activará el programa Arduino para incrementar la variable "Antal" (Número de) con uno, ya que ahora hay una moneda en la máquina. Al mismo tiempo, el valor de la moneda se suma a la variable "resultado". El "resultado" se mostrará en la pantalla LCD con su nuevo valor.

Los nuevos valores de "Antal" y "resultado" se envían a Node-RED, en el que el tablero se actualizará con estos valores. Por fin, Node-RED envía los valores a nuestra base de datos.

Y repetir.

Paso 2: hacer una caja

Esta vez hemos estado usando Illustrator para diseñar nuestra caja. Con una cortadora láser hemos estado elaborando con precisión esta caja y las características que se requieren para nuestro proyecto. Al final, depende de usted decidir cómo hacer la caja perfecta para su proyecto.

Paso 3: agregar Arduino

Agregar Arduino
Agregar Arduino

Es hora de implementar Arduino en la caja. Esto puede resultar bastante difícil, ya que el sensor puede comportarse de forma impredecible. (Nuevo) En este paso hemos cambiado el sensor que estamos usando, debido a la falta de confiabilidad mencionada anteriormente de estos sensores (tcrt 5000). En su lugar, hemos elegido un sensor LDR (resistencia dependiente de la luz) más simple. La salida de este sensor es un valor analógico, que cambia según la cantidad de luz que llega al propio sensor.

Paso 4: Código Arduino

En este paso nos enfocamos en el software. El código Arduino se ve así:

const int sensorPin1 = 3; // Sensor TCRT-5000 que está conectado al pin nr. 2 int sensorState1 = 0; // Contiene el valor del sensor (alto / bajo)

int Antal10 = 0; // Variable que almacena la cantidad de monedas que se han puesto en la máquina int

Resultat = 0; // Variable que almacena el valor combinado de todas las monedas puestas en la máquina

configuración vacía () {Serial.begin (9600); }

bucle vacío () {int sensorState1 = analogRead (sensorPin1); // Lee el estado del sensor

if (540 <sensorState1 <620) {// Cuando el valor de salida de los sensores está entre 540 y 620

Antal10 + = 10; // - hay una moneda pasando por el sensor, que bloquea algo de luz

resultante + = 10; // - y el sensor leerá un nivel de luz más bajo}

Serial.print (Resultat);

Serial.print (","); // Separa las variables con una coma, que es necesaria al leer los valores de las variables en Node-RED

Serial.println (Antal10); // - y también es necesario cuando estos valores se van a almacenar en la base de datos

retraso (100); }

Este código está escrito para un solo sensor, para que sea más fácil de leer.

Código completo:

Paso 5: Node-RED

Nodo-RED
Nodo-RED
Nodo-RED
Nodo-RED

Cuando el código de Arduino se está ejecutando como debería, puede comenzar a programar Node-RED, que actuará como enlace intermedio entre Arduino y la base de datos y como una pantalla visual de cómo se está desempeñando la máquina. La programación de Node-RED consiste en utilizar nodos con diferentes funciones, y poner los parámetros correctos para que estos nodos funcionen correctamente.

Cuando nuestros datos llegan a Node-RED, se envían a dos funciones divididas diferentes. Una de estas funciones envía los datos ahora divididos a la base de datos. El otro envía los diferentes valores de datos a cada uno de los nodos de su tablero, que ahora deberían estar visibles en el tablero.

Como se mencionó anteriormente, tenemos seis valores que deben tratarse. Con las capacidades del tablero de Node-Red, podemos mostrar estos valores, como verá en la imagen a la derecha en la parte superior del Paso 3.

Código Node-RED:

Paso 6: base de datos

Base de datos
Base de datos

Ahora usaremos una base de datos para almacenar los valores. Con Wampserver es posible utilizar phpMyAdmin para administrar MySQL y crear su propia base de datos, utilizando un servidor local que se adapte a sus necesidades específicas.

Primero, al hacer una base de datos (farmer_market) desde cero, necesita hacer una tabla (mont_tabel), en la que almacena sus valores. Dependiendo de la cantidad de datos que tenga y de cómo necesite ordenarlos, puede crear tantas tablas como necesite. Porque necesitamos almacenar seis valores diferentes y, por lo tanto, necesitamos seis columnas, una para cada valor, en nuestra tabla. En la imagen de arriba puede ver nuestra base de datos.

Cuando nuestros datos llegan a Node-RED, se dividen mediante una función de división y los datos ahora se envían a la base de datos.

Paso 7: evaluación

En primer lugar, queremos mencionar que hacer la caja de madera en lugar de cartón hace que toda la configuración física sea mucho más confiable y, por lo tanto, recomendamos hacerlo.

Cambiar los sensores de un TCRT-5000 a un sensor de luz LDR simple dio mucha más estabilidad, en cuanto a la capacidad de los sensores para leer rápidamente cuando pasa una moneda. Cuando se trabaja con un TCRT-5000, hay muchos factores que deben tenerse en cuenta para que el sensor funcione como le gustaría.

Conectar el sistema a una base de datos y poder presentar visualmente sus datos de una manera que cualquier persona sin ningún conocimiento previo de este proyecto pueda entender lo que está sucediendo, parece darle más valor al proyecto.

Recomendado: