• Post category:Node-Red
  • Post comments:0 commentaire
  • Post last modified:mars 15, 2022
  • Temps de lecture :8 min de lecture

Mesure ORP avec un Arduino et Adapter 1130. Communication Serial au Raspberry pour affichage sur un Dashboard Node-RED *

1. Introduction :

Dans ce tutorial vous allez découvrir comment mesurer une valeur ORP avec un Arduino Uno et un Adapter 1130.

Récupérer cette valeur dans Node-RED grâce à une communication Serial entre Arduino et Raspberry.

Et afficher ces valeurs dans un Dashboard.

 

2. Composants nécessaires :

  • Arduino Uno
  • Un Raspberry
  • Une Breadboard
  • 1 Adapter 1130
  • 1 Sonde ORP
  • Des fils de connexion

 

3. Prérequis d’installation du Raspberry :

  • Raspberry Pi OS
  • Node-RED
  • Node-RED-dashboard

 

4. Programmation de la partie Arduino :

Avant de commencer le câblage, on va commencer par injecter le programme dans votre Arduino qui va servir à récupérer la valeur de la carte Adapter 1130 branchée sur l’entrée analogique A2 de votre Arduino et de la convertir en une valeur ORP.

La communication entre Arduino et le Raspberry se fera grâce à une vitesse de communication de 9600 Bauds.

On enverra ensuite cette valeur grâce à un “Serial.println” pour pouvoir la récupérer dans Node-RED.

Voici le code à rentrer dans votre Arduino :

uint8_t pin_redox = A2;      // Pin Redox 

float redox_sensor_value = 0.0;       // Valeur lu en volt(0 et 5)
float redox_value_float = 0.0;        // Valeur du Redox
float redox_offset = 0.0;             // Offset Redox

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

void loop()
{
    redox_sensor_value = analogRead(pin_redox) * 5000.0 / 1023.0 / 1000.0;   // form 0.0 to 5.0 V
    redox_value_float = 0.9 * redox_value_float + 0.1 * ( ((2.5 - redox_sensor_value) / 1.037) * 1000.0 + redox_offset );     // from -2000 to 2000 mV

    Serial.println(redox_value_float);
    delay(1000);
}

 

5. Schéma et câblages :

Voici le câblage à effectuer sur votre Arduino. Il vous faudra aussi brancher un câble USB de liaison entre votre Arduino et Raspy pour la communication.

Il servira aussi d’alimentation de l’Arduino pour les tests (il sera préférable de passer sur une vraie alimentation par la suite pour obtenir une stabilité du 5V important dans la mesure).

 

6. Programmation de la partie Node-Red sur le Raspberry :

Pour commencer dans Node-Red, nous allons ajouter un bloc “serial in” disponible dans network.

 

Double cliquez dessus et allez sur le petit stylo pour le paramétrer.

 

Une fois dans les paramètres, dans Serial Port,  appuyez sur la loupe et sélectionnez le port USB ou est branché votre Arduino.

 

Dans settings, sélectionnez la vitesse de communication à 9600 bauds.

Une fois fini, cliquez sur “ADD” puis sur “Done

 

Nous allons ensuite ajouter un bloc “json” disponible dans parser.

 

uis un bloc “gauge” disponible dans dashboard.

 

Double cliquez dessus, nous allons le renommer dans Label “ORP” et lui modifier son Range qui sera de “0” pour le min et “1000” pour le max.

Une fois tous les paramètres rentrés, cliquez sur “Done”

 

Maintenant il va falloir créer une liaison entre les blocs en cliquant sur les carrés gris et en faisant glisser votre souris.

Cela permet de les faire communiquer ensemble.

Puis cliquez sur “Deploy” en haut à droite.

 

Maintenant nous allons configurer la partie Dashboard pour pouvoir afficher notre gauge sur l’interface Web.

Pour cela, cliquez sur l’icone Dashboard pour accéder au menu et cliquez sur  “+tab”

 

Cliquez ensuite sur “+group”

 

Maintenant nous allons retourner sur le bloc “gauge” : double-cliquez dessus et dans “Group”, sélectionnez [Tab1] Group 1.

 

Il ne vous reste plus qu’à “Deploy” votre projet et à aller voir le résultat en cliquant sur l’icône 2.

 

Vous devriez voir apparaître ceci :

 

7. Conclusion :

Si tout s’est bien passé, votre gauge vous permet maintenant de voir la valeur de votre sonde ORP.

Si cela ne fonctionne pas, vérifiez bien que vous avez bien sélectionné le bon port USB dans le bloc serial, car il peut afficher connected mais il n’est peut être pas forcement sur le port ou se situe l’Arduino.

 

Voici le code complet Node-Red que vous pouvez importer :

[{"id":"2b93a1b2.7d280e","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"379e8c5.afdd874","type":"json","z":"2b93a1b2.7d280e","name":"","property":"payload","action":"","pretty":false,"x":270,"y":40,"wires":[["10337f55.88a3e1"]]},{"id":"10337f55.88a3e1","type":"ui_gauge","z":"2b93a1b2.7d280e","name":"","group":"13249711.0814b9","order":0,"width":"6","height":"5","gtype":"gage","title":"ORP","label":"mv","format":"{{value}}","min":0,"max":"1000","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":430,"y":40,"wires":[]},{"id":"5de1bca7.d3da94","type":"serial in","z":"2b93a1b2.7d280e","name":"","serial":"9a86cba3.dbece8","x":110,"y":40,"wires":[["379e8c5.afdd874"]]},{"id":"13249711.0814b9","type":"ui_group","z":"","name":"Group 1","tab":"ae36cea5.88e4b","order":1,"disp":true,"width":"6","collapse":false},{"id":"9a86cba3.dbece8","type":"serial-port","z":"","serialport":"/dev/ttyUSB0","serialbaud":"9600","databits":"8","parity":"none","stopbits":"1","waitfor":"","dtr":"none","rts":"none","cts":"none","dsr":"none","newline":"\\n","bin":"false","out":"char","addchar":"","responsetimeout":"10000"},{"id":"ae36cea5.88e4b","type":"ui_tab","name":"Tab 1","icon":"dashboard","order":1}]

 

 


 

Laisser un commentaire