Table des matières:

UCL - IIoT - Marché fermier : 7 étapes
UCL - IIoT - Marché fermier : 7 étapes

Vidéo: UCL - IIoT - Marché fermier : 7 étapes

Vidéo: UCL - IIoT - Marché fermier : 7 étapes
Vidéo: MOOC, les coulisses d'une révolution Matthieu Cisel, 5 février 2014 2024, Novembre
Anonim
UCL - IIoT - Marché fermier
UCL - IIoT - Marché fermier

Le portefeuille Farmersmarket peut être utilisé lors de foires, de marchés fermiers ou d'autres rassemblements où des marchandises sont vendues.

Le portefeuille Farmersmarket est une machine à compter les pièces, conçue pour permettre de voir rapidement le contenu total d'une boîte contenant des pièces. Le portefeuille du marché des fermiers téléchargera également le total sur un serveur programmé via Node-red.

Il est réalisé par trois étudiants de l'University College Lillebælt au Danemark. Depuis notre précédent projet, Le trieur de pièces, nous avons appris beaucoup de nouvelles choses que nous allons incorporer dans la construction. Nous avons choisi de renoncer au tri des pièces et de les faire compter par la machine en les déposant dans une tirelire commune.

Le portefeuille se compose de cinq glissières ou fentes, une pour chaque type de pièce. Lorsqu'une pièce est placée dans la fente appropriée, elle tombera en passant un réflecteur, qui envoie un signal HAUT à l'arduino. Nous utiliserons le signal pour ajouter la valeur des pièces au total compté, l'afficherons sur l'écran externe et enverrons le nouveau total à un serveur. Une fois que le serveur reçoit le total, il mettra à jour une interface utilisateur trouvée en ligne indiquant le nouveau total.

DescriptionUne boîte avec cinq fentes pour pièces menant à cinq glissières internes individuelles, une pour chaque type de pièce: 1kr, 2kr, 5kr, 10kr, 20kr

Un écran LCD affichant le total des espèces déposé sur le dessus de la boîte.

Le dessus de la boîte est sécurisé par des trappes. Le fait de soulever le dessus retirera le boîtier de l'arduino ainsi que le dessus contenant l'écran LCD, les fentes pour pièces de monnaie, les réflecteurs, etc., ne laissant que la boîte dans laquelle la pièce est déposée.

Composants et matériaux - Outils et équipement pour fabriquer une boîte (peut être en carton ou en bois)

-Arduino Mega 2560

- 30 cavaliers

- 5 x LDR "Capteur de lumière"

- 5 résistances de 220 ohms

- 5 résistances de 10k ohms

- 5 x LED blanches

-Module LCD 16x02

- Pièces de monnaie

Coder en Arduino

Comme mentionné précédemment, ce projet provient d'un projet antérieur que nous avons réalisé il y a environ huit mois (https://www.instructables.com/id/Coin-Sorting-Machine/). Pour cette raison, nous sommes en mesure de réutiliser une grande partie du code dans arduino, bien qu'il y ait quelques modifications mineures. Comme vous le verrez, le code est assez simple, que toute personne ayant un peu d'expérience avec Arduino devrait être capable de comprendre.

Node-RED Node-RED est l'outil que nous utiliserons pour obtenir les données de l'arduino et de votre ordinateur, et plus loin sur Internet, si cela est dans votre intérêt. Une autre raison importante d'utiliser Node-RED est la possibilité de présenter les données d'Arduino d'une manière facile à comprendre, pour les personnes qui n'ont aucune expérience en programmation/codage avec Arduino et Node-RED.

Base de données En utilisant Wampserver, nous pouvons stocker nos valeurs d'Arduino dans une base de données. Avec Wampserver, il est possible de créer et d'alterner votre propre base de données à votre guise, en utilisant phpMyAdmin pour administrer MySQL. Dans notre cas, nous avons six valeurs que nous devons stocker (une pour chaque type de pièce et une pour le résultat), et nous avons donc créé six colonnes dans lesquelles chaque valeur peut être stockée.

Étape 1: Comment ça marche ?

Comment ça marche?
Comment ça marche?

De manière plus détaillée, nous allons maintenant expliquer comment fonctionne notre système.

Comme vous le verrez dans l'organigramme, la première chose qui définit le processus, c'est quand une pièce est placée dans son emplacement correct.

Le capteur de lumière LDR remarquera la quantité réduite de lumière, lorsque la pièce passera par le capteur, ce qui déclenchera le programme Arduino pour incrémenter la variable "Antal" (Nombre de) avec un, car il y a maintenant une pièce dans la machine. En même temps, la valeur de la pièce est ajoutée à la variable "résultat". "résultat" sera affiché sur l'écran LCD avec sa nouvelle valeur.

Les nouvelles valeurs de "Antal" et "result" sont envoyées à Node-RED, dans lequel le tableau de bord se mettra à jour avec ces valeurs. Enfin, Node-RED envoie les valeurs à notre base de données.

Et répétez.

Étape 2: faire une boîte

Cette fois, nous avons utilisé Illustrator pour concevoir notre boîte. Avec un découpeur laser, nous avons fabriqué avec précision cette boîte et les caractéristiques requises pour notre projet. En fin de compte, c'est à vous de décider comment faire la boîte parfaite pour votre projet.

Étape 3: Ajout d'Arduino

Ajout d'Arduino
Ajout d'Arduino

Il est temps d'implémenter l'Arduino dans la boîte. Cela peut être assez difficile, car le capteur peut se comporter de manière imprévisible. (Nouveau) Dans cette étape, nous avons changé le capteur que nous utilisons, en raison du manque de fiabilité mentionné précédemment de ces capteurs (tcrt 5000). Au lieu de cela, nous avons choisi un capteur LDR plus simple (résistance dépendante de la lumière). La sortie de ce capteur est une valeur analogique, qui change en fonction de la quantité de lumière atteignant le capteur lui-même.

Étape 4: Code Arduino

Dans cette étape, nous nous concentrons sur le logiciel. Le code Arduino ressemble à ceci:

const int sensorPin1 = 3; //Capteur TCRT-5000 connecté à la broche nr. 2 int sensorState1 = 0; //Contient la valeur du capteur (High/low)

int Antal10 = 0; //Variable qui stocke la quantité de pièces qui ont été mises dans la machine int

Résultat = 0; //Variable qui stocke la valeur combinée de toutes les pièces mises dans la machine

void setup() { Serial.begin(9600); }

void loop() { int sensorState1 = analogRead(sensorPin1); // Lit l'état du capteur

if (540 < sensorState1 < 620) { //Lorsque la valeur de sortie des capteurs est comprise entre 540 et 620

Antal10 += 10; // - il y a une pièce qui passe devant le capteur, ce qui bloque un peu de lumière

résultat += 10; // - et le capteur lira un niveau de lumière inférieur }

Serial.print(Résultat);

Serial.print(", "); // Sépare les variables par une virgule, ce qui est nécessaire lors de la lecture des valeurs des variables dans Node-RED

Serial.println(Antal10); // - et également nécessaire lorsque ces valeurs doivent être stockées dans la base de données

retard (100); }

Ce code est écrit pour un seul capteur, pour faciliter la lecture.

Code complet:

Étape 5: Node-RED

Noeud-ROUGE
Noeud-ROUGE
Noeud-ROUGE
Noeud-ROUGE

Lorsque le code Arduino s'exécute comme il se doit, vous pouvez commencer à programmer Node-RED, qui servira de lien intermédiaire entre Arduino et la base de données et d'affichage visuel des performances de la machine. La programmation de Node-RED consiste à utiliser des nœuds avec différentes fonctions, et à mettre les bons paramètres pour que ces nœuds fonctionnent correctement.

Lorsque nos données arrivent dans Node-RED, elles sont envoyées à deux fonctions séparées différentes. L'une de ces fonctions envoie les données maintenant fractionnées à la base de données. L'autre envoie les différentes valeurs de données à chacun de leurs nœuds de tableau de bord, qui devraient maintenant être visibles sur le tableau de bord.

Comme mentionné précédemment, nous avons six valeurs à traiter. Avec les capacités de tableau de bord de Node-Red, nous sommes en mesure d'afficher ces valeurs, comme vous le verrez dans l'image à droite en haut de l'étape 3.

Code Nœud-RED:

Étape 6: Base de données

Base de données
Base de données

Nous allons maintenant utiliser une base de données pour stocker les valeurs. Avec Wampserver, il est possible d'utiliser phpMyAdmin pour administrer MySQL et créer votre propre base de données, en utilisant un serveur local adapté à vos besoins spécifiques.

Tout d'abord, lorsque vous créez une base de données (farmers_market) à partir de zéro, vous devez créer une table (mont_tabel), dans laquelle vous stockez vos valeurs. En fonction de la quantité de données dont vous disposez et de la manière dont vous devez les classer, vous pouvez créer autant de tableaux que vous le souhaitez. Parce que nous avons besoin de stocker six valeurs différentes, et nous avions donc besoin de six colonnes, une pour chaque valeur, dans notre table. Dans l'image ci-dessus, vous pouvez voir notre base de données.

Lorsque nos données arrivent dans Node-RED, elles sont divisées par une fonction de division et les données actuelles sont envoyées à la base de données.

Étape 7: Évaluation

Tout d'abord, nous voulons mentionner que la fabrication de la boîte en bois au lieu de carton rend l'ensemble de la configuration physique beaucoup plus fiable, et nous vous recommandons donc de le faire.

Changer les capteurs d'un TCRT-5000 et d'un simple capteur de lumière LDR a donné beaucoup plus de stabilité, quant à la capacité des capteurs à lire rapidement lorsqu'une pièce passe à côté. Lorsque vous travaillez avec un TCRT-5000, de nombreux facteurs doivent être pris en compte pour que le capteur fonctionne comme vous le souhaitez.

Accrocher le système à une base de données et être capable de présenter visuellement vos données de manière à ce que toute personne sans aucune connaissance préalable de ce projet soit capable de comprendre ce qui se passe, semble donner plus de valeur au projet.

Conseillé: