Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Industriële technologie

Systeem voor vroege overstromingsdetectie met behulp van Arduino - Broncode

Vroege zondvloed Bewaking Systeem – Broncode circuit en project

In zowel ontwikkelingslanden als niet-ontwikkelingslanden zijn overstromingen de enorme natuurramp die het verlies van mensen- en dierenlevens en eigendommen veroorzaakt. Overstromingen als gevolg van aardbevingen in oceanen, orkanen, regenval en andere natuurrampen komen elk jaar in veel delen van de wereld voor.

Tijdens regenval leidt een onbeheerd drainagesysteem in verschillende geografische regio's tot overstromingen en gaan veel mensenlevens verloren. Als we een systeem hebben dat ons vroegtijdig kan waarschuwen voor overstromingen, kunnen we levens van mensen redden. Een systeem dat technologie gebruikt om de stijging van het waterpeil te detecteren en mensen vooraf te waarschuwen, zodat veel mensen kunnen worden geëvacueerd.

Dus in dit project brengen we u een prototype dat kan worden gebruikt om het waterpeil in een vijver, dam of reservoir te detecteren en vervolgens een waarschuwing te sturen met behulp van een zoemer. Dit is slechts een kleinschalig prototype waarin we een Arduino UNO, ultrasone sensor, zoemer, LCD en enkele verbindingsdraden gaan gebruiken.

Gerelateerde projecten:

  • Automatisch bewaterings- en irrigatiesysteem voor planten - circuit-, code- en projectrapport
  • Regenalarmcircuit - Sneeuw-, water- en regendetectorproject

Circuitdiagram voor vroege detectie van overstromingen

Vereiste componenten

  • Arduino UNO
  • HC-SR04 ultrasone sensor
  • Zoemer
  • 16×2 LCD-scherm
  • Jumper of verbindingsdraden

Gerelateerde projecten:

  • Afstandsmeting met Arduino en ultrasone sensor
  • Variabele voeding met Arduino UNO - Circuit en code

Laten we nu een voor een meer te weten komen over de componenten die in dit basiscircuit worden gebruikt.

Arduino UNO

Arduino is een open source platform dat wordt gebruikt om een ​​elektronicaproject te ontwikkelen. Het kan op elk moment van de tijd eenvoudig worden geprogrammeerd, gewist en opnieuw geprogrammeerd. Er zijn veel Arduino-kaarten op de markt verkrijgbaar, zoals Arduino UNO, Arduino Nano, Arduino Mega, Arduino lilypad enz. Met verschillende specificaties, afhankelijk van hun gebruik.

In dit project gaan we Arduino UNO gebruiken om huishoudelijke apparaten automatisch te bedienen. Het heeft een ATmega328 microcontroller IC erop die draait op een kloksnelheid van 16 MHz. Het is een krachtig apparaat dat kan werken met USART-, I2C- en SPI-communicatieprotocollen.

Dit bord wordt meestal geprogrammeerd met behulp van software Arduino IDE met behulp van een micro-USB-kabel. ATmega328 wordt geleverd met een voorgeprogrammeerde ingebouwde bootloader die het gemakkelijker maakt om de code te uploaden zonder de hulp van externe hardware. Het heeft een enorme toepassing bij het maken van elektronicaprojecten of -producten. De taal C en C++ wordt gebruikt om het bord te programmeren, wat heel gemakkelijk te leren en te gebruiken is.

Gerelateerde projecten:

  • Circuitdiagram waterniveau-indicator - twee eenvoudige projecten
  • Volautomatische waterniveauregelaar met SRF04

Arduino IDE maakt het veel gemakkelijker om te programmeren. Het scheidt de code in twee delen, namelijk void setup() en void loop(). De functie void setup() wordt slechts één keer uitgevoerd en wordt voornamelijk gebruikt voor het initiëren van een proces, terwijl void loop() het deel van de code is dat continu moet worden uitgevoerd.

Dit model bestaat uit 6 analoge ingangspinnen en 14 digitale GPIO-pinnen die kunnen worden gebruikt als ingangsuitgang 6 waarvan PWM-uitgang en analoog met pinMode(), digitalWrite(), digitalRead() en analogeRead() functies. 6 analoge ingangskanalen zijn van pinnen A0 tot A5 en bieden een resolutie van 10 bits.

Het bord kan worden gevoed via een USB-kabel die werkt op 5 volt of via een DC-aansluiting die werkt tussen 7 en 20 volt. Er is een spanningsregelaar aan boord om 3,3 volt te genereren voor het bedienen van apparaten met een laag vermogen.

Aangezien de ATmega328 werkt op het USART-, SPI- en I2C-communicatieprotocol, heeft het 0 (Rx) en 1(Tx) pinnen voor USART-communicatie, SDA (A4) en SCL (A5) pin voor I2C en SS (10), MOSI (11), MISO (12) en SCK (13) pinnen voor SPI-communicatieprotocol.

Gerelateerde projecten:

  • Automatische deurbel met objectdetectie door Arduino
  • Automatische nachtlamp met Arduino
HC-SR04 ultrasone sensor

HC-SR04 is een ultrasone sensor die helpt om afstanden te meten op veel plaatsen zonder menselijk contact. Het werkt volgens hetzelfde principe als RADAR en SONAR en biedt een efficiënte manier om afstanden op een zeer nauwkeurige manier te meten.

Theoretisch kan het afstanden meten tot 450 cm, maar praktisch kan het afstanden meten van 2 cm tot 80 cm met een nauwkeurigheid van 3 mm. Het werkt op 5 volt, een stroomsterkte van minder dan 15 mA en een frequentie van 40 Hertz.

De HC-SR04 heeft één zender en één ontvanger erop geïnstalleerd. De afstand wordt berekend met de basisformule voor snelheid, afstand en tijd die we allemaal op onze school hebben bestudeerd, d.w.z.

Afstand =Snelheid x Tijd

De zender van de HC-SR04-sensor zendt een ultrasone golf in de lucht uit. Als deze golf wordt gereflecteerd door een object in het bereik van de sensor, wordt de gereflecteerde golf in de lucht ontvangen door de ontvanger van de sensor. Dus om de afstand te berekenen met behulp van bovenstaande formule, moeten we de snelheid en tijd weten.

We weten dat de universele snelheid van de ultrasone golf rond de 330 m/s ligt. De tijd wordt gemeten door het circuit dat op de microcontroller is gebouwd. De echo-pin wordt hoog gedurende de tijdsperiode die de ultrasone golf nodig heeft om terug te keren naar de ontvanger. Op deze manier kunnen we de afstand tussen het object en de HC-SR04 ultrasone sensor berekenen.

Gerelateerde projecten:

  • Automatisch spoorweghekcontrolesysteem - circuit en broncode
  • Autosnelheidsdetectiecircuit - Werk- en broncode
Interfacing HC-SR04 met Arduino UNO

HC-SR04 ultrasone sensor kan worden gebruikt met alle microcontrollers zoals Arduino, PIC, Raspberry Pi, enz. In dit project gaan we de HC-SR04 ultrasone sensor koppelen aan Arduino UNO . De HC-SR04-module heeft vier pinnen:VCC, GND, Trig en Echo.

We voeden de HC-SR04-module met 5 volt en GND naar de Arduino UNO. De trigger-pin en Echo-pin zijn de input- en output-pinnen, dus ze moeten worden aangesloten op de input- en output-pinnen van de Arduino UNO. Dus om de afstand te meten, zetten we eerst de triggerpin 10 microseconden op "hoog" en vervolgens op "laag".

Dit genereert een ultrasone golf met een frequentie van 40 kHz die naar het object gaat en terugkaatst naar de ontvanger van de module. Als de golf een object detecteert, keert het onmiddellijk terug naar het ontvangergedeelte van de module en wordt de echopin "hoog" gedurende de tijdsperiode waarvoor het terugkeert naar de sensor.

Deze tijdsperiode vermenigvuldigd met de snelheid van de golf die 330 m/s is, geeft ons de afstand tussen de HC-SR04-module en het object.

Gerelateerd bericht:

  • Smart Home Automation-systeem - Circuit- en broncode
  • Arduino PWM-programmering en zijn functies in Arduino
16×2 LCD-scherm

Interfacing van 16 X 2 LCD met Arduino UNO is vrij eenvoudig. Er zijn verschillende soorten LCD's op de markt, maar degene die we in dit project gebruiken is 16 × 2, wat betekent dat het twee rijen heeft en in elke rij kunnen we 16 tekens weergeven.

Deze module heeft een HD44780-stuurprogramma van Hitachi dat helpt bij de interface en communicatie met de microcontrollers. Dit LCD-scherm kan werken in 4-bits modus en 8 bit-modus. In 4-bits modus zijn slechts 4 data-pinnen nodig om verbinding te maken tussen LCD en microcontroller, terwijl in 8-bit-modus 8 data-pinnen nodig zijn.

Hier gaan we het gebruiken in 4-bits modus omdat het minder draden nodig heeft en het circuit vereenvoudigd. Laten we eens kijken naar de pinbeschrijving van 16×2 LCD.

Pinbeschrijving van 16×2 LCD-module:
Vastzetten op LCD Beschrijving
VSS Grondpen
VCC +5V voeding
VEE Vastzetten om het contrast van het LCD-scherm te wijzigen
RS Registreer Selecteren:Gegevensmodus of Opdrachtmodus
RW Lees- of schrijfmodus
E LCD inschakelen
DB0-DB7 Gegevens en commando's worden ingevoerd met behulp van deze pinnen
LED+ Anode van de LED-achtergrondverlichting
LED- Kathode van de LED-achtergrondverlichting

Dit LCD-scherm heeft geen eigen licht, dus er is een LED achter het scherm die als achtergrondverlichting voor het scherm fungeert. Het koppelen van dit LCD-scherm met Arduino UNO is vrij eenvoudig, aangezien Arduino IDE een LiquidCrystal-bibliotheek biedt die veel ingebouwde functies heeft om het initialiseren en afdrukken van alles op het scherm gemakkelijker te maken. De LCD-functies die we in dit project voornamelijk gaan gebruiken zijn:

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
lcd.begin()
lcd.clear()
lcd.print()

Werking van systeem voor vroegtijdige overstromingsdetectie en broncode

Een ultrasone sensor wordt op een bepaald basisniveau geplaatst, zodat de zender en ontvanger naar het waterniveau zijn gericht. Arduino UNO meet de afstand tussen sensor en waterniveau.

Het LCD-scherm drukt de afstand ertussen af. We zullen een maatstaf voor het overstromingsniveau instellen en als het water de maatstaf zal bereiken, zullen we de zoemer op 'hoog' zetten en zal het LCD-scherm de tekst afdrukken die waarschuwt voor de overstroming.

Code-uitleg

#include 
LiquidCrystal lcd(2,3,4,5,6,7);
lcd.begin(16,2);

De ingebouwde bibliotheek voor LCD-schermen is inbegrepen. De functie LiquidCrystal lcd() neemt het pinnummer van de gegevens die op Arduino UNO zijn aangesloten. Lcd.begin() start de 16×2 LCD.

pinMode(18,OUTPUT); //trigger pin
pinMode(19,INPUT);  //echo pin
pinMode(20,OUTPUT); //buzzer

Pinnen 18 en 20 zijn ingesteld als uitgangspinnen voor respectievelijk trigger en zoemer en pin 19 is ingesteld als invoer voor echopin.

t=pulseIn(19,HIGH);
dist=t*340/20000;

tijdvariabele 't' detecteert de hoeveelheid tijd totdat de triggerpin hoog is ingesteld, wat verder wordt gebruikt om de tijd in centimeters te berekenen en de waarde op te slaan in variabele 'dist'.

if(dist<40)
{
 digitalWrite(20,HIGH);
 lcd.clear();
 lcd.setCursor(0,1);
 lcd.print("Water level is rising. Kindly evacuate");
 delay(2000);
}
else
{
 digitalWrite(20,LOW);
 delay(2000);
}

In deze code hebben we de toestand van de overstroming ingesteld als de afstand tussen het waterniveau en de ultrasone sensor 40 cm wordt. Dus als het waterniveau 40 cm of minder bereikt, zal de zoemer HOOG instellen om een ​​waarschuwing te geven en het LCD-scherm zal afdrukken en een overstromingswaarschuwingsbericht weergeven.

Volledige broncode:

#include 
LiquidCrystal lcd(2,3,4,5,6,7);

float t = 0;
float dist = 0;

void setup()
{
 lcd.begin(16,2);
 pinMode(18,OUTPUT); //trigger pin
 pinMode(19,INPUT);  //echo pin
 pinMode(20,OUTPUT); //buzzer
 lcd.setCursor(0,1);
 lcd.print(" Water Level Detector");
 delay(2000);
}

void loop()
{
 lcd.clear();
 digitalWrite(20,LOW);
 digitalWrite(18,LOW);
 delayMicroseconds(2);
 digitalWrite(18,HIGH);
 delayMicroseconds(10);
 digitalWrite(18,LOW);
 delayMicroseconds(2);

 t=pulseIn(19,HIGH);
 dist=t*340/20000;

 lcd.clear();
 lcd.setCursor(0,1);
 lcd.print("Distance : ");
 lcd.print(dist/100);
 lcd.print(" m");
 delay(1000);

if(dist<40)
{
 digitalWrite(20,HIGH);
 lcd.clear();
 lcd.setCursor(0,1);
 lcd.print("Water level is rising. Kindly evacuate");
 delay(2000);
}
else
{
 digitalWrite(20,LOW);
 delay(2000);
}
}

Gerelateerde projecten:

  • Elektronisch project voor verkeerslichtregeling met IC 4017 &555 Timer
  • Eenvoudig schakelschema voor oplader voor mobiele telefoons – 5V van 230V AC
  • Elektronisch relaisschakelaarcircuit - NPN-, PNP-, N- en P-kanaalrelaisschakelaars
  • LED Roulette Circuit Diagram met 555 Timer &4017 Teller
  • Elektronische stroomonderbreker – schematisch en werkend
  • Infrarood bewegingsdetector schakelschema
  • Eenvoudig aanraakgevoelig schakelcircuit
  • Basisspanningsverdubbelingsschema met 555 Timer IC
  • Dual Power Supply Circuit Diagram – 230VAC tot ±12VDC
  • Eenvoudig schakelschema voor oplader voor mobiele telefoons – 5V van 230V AC

Industriële technologie

  1. C# met behulp van
  2. Symphony Link gebruiken als een waterlekdetectiesysteem voor datacenters
  3. Temperatuurgebaseerd apparaatbesturingssysteem met LM35
  4. DTMF-decoder met alleen Arduino
  5. Aanwezigheidssysteem met Arduino en RFID met Python
  6. Human Detection Robotics System met Arduino Uno
  7. Arduino Alarmsysteem:SERENA
  8. Bosbrandbewakings- en detectiesysteem (met sms-waarschuwingen)
  9. Een valdetectiesysteem op basis van Arduino, Windows en Azure
  10. Arduino-gebaseerd waarschuwingssysteem voor botsingsdetectie
  11. 5 voordelen van het gebruik van Biz4intellias IoT-aangedreven waterlekdetectiesysteem in industrieën