Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Moniteur de niveau de puisard

Composants et fournitures

Arduino Nano R3
× 1
Freescale MPXV5010DP
× 1
Écran OLED 0,96"
× 1
DAC MCP4725
× 1
Relais (générique)
× 1
Condensateurs 1uf, .01uf, 470pf tous CMS
× 1
Boîte de projet transparente en plastique 110mm*85mm
× 1
Tube Tygon 3/32"
× 1

À propos de ce projet

Le moniteur de niveau de puisard a été conçu pour fonctionner avec une carte d'entrée Ecobee RSM-01 que j'ai dans la maison de ma fille ou dans mon projet Home Monitor. J'ai ajouté un relais pour lui permettre de tenir seul. Je voulais quelque chose que je pensais être plus fiable et plus facile à installer qu'un capteur à ultrasons. À cette fin, j'ai commencé à chercher des capteurs de pression et suis finalement tombé sur Freescale MPXV5010DP. Il a une sortie 0-5vdc pour 0-10kPa, ce qui correspondrait à environ 1020 mm de hauteur d'eau.

Comme je voulais une indication locale, j'ai choisi un module OLED à utiliser dans la conception. Pas cher, lumineux et celui-ci avait un écran bicolore. Pour fournir l'interface, j'ai ajouté un relais pour une sortie à contact sec. J'ai ajouté un DAC (convertisseur numérique-analogique) pour une sortie 0-5vdc avec plus de puissance que le capteur MPXV5010DP, cela protégera également le capteur d'éventuels dommages de câblage. Étant donné que j'utilise la communication I2C, il suffit de modifier le logiciel pour fournir des données à un autre Arduino.

J'ai conçu et construit une carte personnalisée pour faciliter les connexions. Il offre suffisamment de flexibilité pour différentes configurations.

Le capteur est connecté par un tube Tygon à un tuyau en cuivre qui est acheminé vers le puisard. Cela permet une certaine discrétion quant à l'endroit où monter le moniteur et le maintient à l'écart de l'eau elle-même.

Code

  • Moniteur de niveau de puisard
Moniteur de niveau de puisardC/C++
Analysez selon vos besoins, les déchets supplémentaires dans cette version vont de l'avant et nettoient comme vous le souhaitez.
#include #include  #include #include  #include #include #define OLED_RESET 4Adafruit_SSD1306 display(OLED_RESET);#if (SSD1306_LCDHEIGHT !=64)#error("Hauteur incorrecte, veuillez corriger Adafruit_SSD1306.h!");#endifAdafruit_MCP47;int relaisPin =5; // pour la sortie d'alarme de relaisint analogPin =0; //mesure la tension de sortie dacint v1 =0; // Sortie ADC de MPXV5010int v2 =0 ; // la mise à l'échelle pour l'entrée dac convertit l'entrée PS en entrée dacint v3 =0 ; //pour la conversion en mm de PS inputint v4 =0; //pour le pourcentage de profondeur de PS inputint v5 =0; // sortie du dac tel que lu par arduinoint v6 =0; //pour la conversion mV de PS inputfloat v7 =0; //convertir de mm en poucesint v8 =0; // pour éliminer les décimales en pouces qui corrompent l'affichage int offSet =40; //la sortie 0 kPa telle que mesurée par arduinoint maxSet =1015 ; //la sortie de 10 kPa telle que mesurée par arduinoint maxHeight =1020 ; // la profondeur du puisard du niveau d'eau normal au couvercle en mmint range =(maxHeight * 0.8) + offSet;int alarmHeight =12; // la hauteur de l'alarme en pouces// Pour le capteur de pression différentielle MPXV5010DPint analogPin2 =1; float diviseur =25,4; //pour convertir l'affichage en poucesvoid setup() { Serial.begin(9600); Serial.println("Test DAC avec capteur DP"); // par défaut, nous allons générer la haute tension de la ligne 3.3v en interne ! (super!) display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialisation avec l'adresse I2C 0x3D (pour le 128x64) // initialisation effectuée // Effacement du tampon. display.clearDisplay(); // Pour MCP4725A0 l'adresse est 0x60 ou 0x61 dac.begin(0x60); pinMode(relayPin, SORTIE); digitalWrite(relayPin, HIGH);}void loop() { v1 =analogRead(analogPin2) ; retard (1000); if (v1  alarmHeight) { display.invertDisplay(true); digitalWrite(relayPin,LOW);} else { display.invertDisplay(false); digitalWrite(relayPin,HIGH);} display.setTextSize(2); display.setTextColor(BLANC); display.setCursor(0,0); display.println("SUMP LEVEL"); // display.setTextColor(NOIR, BLANC); // texte 'inversé' display.setTextSize(4); display.setTextColor(BLANC); display.print(v8) ; display.setTextSize(2); display.println("pouces"); display.display(); retard (500); }void serial(){ //pour le débogage et l'étalonnage Serial.print(" Entrée analogique PS :"); Serial.print(v1) ; Serial.print( " Hauteur :"); Serial.print(v3) ; Serial.print(" mm "); Serial.print(v4) ; Serial.print(" %"); Serial.print(" Tension convertie :"); Serial.print(v6) ; Serial.println(" mV");}//end

Schémas

Eagle 6.5.0 d'occasion puisard%20level.sch

Processus de fabrication

  1. Portée des variables C#
  2. Moniteur DIY Environnement et Qualité de l'Air
  3. ASSISTANT GOOGLE MATRIX VOICE – PROJET MATRIX VOICE
  4. Weather Monitor
  5. Moniteur de fréquence cardiaque à distance
  6. Rover
  7. GoPiGo v2 avec Windows IoT
  8. Modélisation au niveau de la porte
  9. Machine JW