Hoe maak je een digitale luchtvervuilingsmeter met Arduino?
Het grootste gevaar dat de mensheid tegenwoordig kan treffen, is verontreiniging. Vandaag gaan we een luchtverontreinigingsmeter ontwerpen die zal worden gebruikt om de luchtkwaliteit op onze smartphone te monitoren. De ruggengraat van dit project is het Arduino-bord en de Blynk-applicatie die eenvoudig kan worden gedownload van Playstore.
Hoe luchtvervuiling op mobiel te controleren?
Stap 1: de componenten verzamelen
Het maken van een volledige lijst van alle componenten voordat u aan een project begint, is altijd een uitstekende aanpak geweest. Het bespaart niet alleen veel tijd, maar voorkomt ook dat we ergens in het midden van het project vast komen te zitten door ons te laten weten dat welke componenten gemakkelijk verkrijgbaar zijn en welke componenten op de markt kunnen worden gekocht. Hieronder vindt u een volledige lijst van alle componenten die we in ons project gaan gebruiken. Deze componenten zijn gemakkelijk verkrijgbaar in de markt.
Stap 2: Ontwerp van het circuit
Omdat we nu de hoofdsamenvatting van ons project kennen en we ook een volledige lijst hebben van alle componenten die we in dit project gaan gebruiken, laten we een stap verder gaan en het ontwerp van het project bekijken. Het project is hoofdzakelijk opgedeeld in twee delen. Het eerste deel is het Controller en sensorenen het tweede deel is de Smartphone-applicatie.
Het hart van het project is de microcontroller. Arduino Uno is de gebruikte microcontroller. Het Arduino-bord is verbonden met de Blynk-cloud via een internetverbinding die tot stand wordt gebracht met behulp van Arduino Ethernet Shield. De sensoren die in deze Vervuilingsmeter worden gebruikt zijn nova PM sensor SDS011, Gassensor MQ135, en temperatuur en DHT11.
De slimme meter is gemaakt met behulp van een Android-telefoon zodat alle metingen op het mobiele scherm te zien zijn en deze mobiel kan worden gebruikt om de relais in de hardware aan te sturen. Blynk is een mobiele applicatie die kan worden gebruikt op Android en IOS. Het is goed ontworpen en bevat widgets die gemakkelijk kunnen worden gebruikt. Deze applicatie bespaart veel geld en tijd omdat de hardware van het LCD-scherm en andere componenten op de markt moeten worden gekocht, terwijl deze applicatie gratis is en de taak kan vervullen die door die hardwarecomponenten moet worden uitgevoerd.
Stap 3: werking van het circuit
In deze sectie zullen we een korte studie van de werking van ons circuit doornemen. Ons circuit bevat een Arduino-bord met een Arduino-ethernet-schild, spanningsregelaars 7805, temperatuur- en vochtigheidssensor DHT11, gassensor MQ135, relaismodules en PM2.5-sensor samen met enkele andere componenten. U kunt in plaats van PM2.5 ook de PM10-sensor gebruiken.
PM staat voor Deeltjesmeter. In deze sensor zit een mengsel van stofdeeltjes en waterdruppels. Een specifieke bron geeft enkele van deze deeltjes direct vrij, terwijl een specifieke chemische reactie wordt gebruikt om andere deeltjes te produceren. Het principe van laserverstrooiing in de lucht wordt in deze sensor gebruikt om zwevende deeltjes in de lucht te detecteren. De concentratie van deze deeltjes kan variëren van 0,3 tot 10 micron. Deze sensor is robuust en geeft stabiele en gevoelige data. Het is verbonden over de Tx en Rx van het Arduino Uno-bord.
De gassensor werkt volgens het principe waarbij de geleidbaarheid verandert met de verandering in de gasconcentratie. het geeft een spanningssignaal als output dat direct gerelateerd is aan de concentratie van het gas. Deze sensor is zeer gevoelig voor ammoniak, sulfide en benzeendampen, rook en andere schadelijke gassen.
De temperatuursensor detecteert de temperatuur en vochtigheid van de omgeving en stuurt een spanningssignaal naar de microcontroller. Het is robuust en geeft gegevens met een minimum aan fouten.
Deze sensoren worden allemaal samen met de microcontroller geassembleerd en sturen continu gegevens naar de microcontroller. Twee apparaten, d.w.z. ventilator en het licht, zijn via een relaismodule. Deze twee zullen werken als een alarmindicatie: en controle.
Stap 4: Werken met Blynk
Blynk is een mobiele applicatie die zowel op Android- als IOS-sets kan worden gedownload. Het wordt gebruikt om gegevens weer te geven en te visualiseren die door de hardwaresensoren naar de cloud worden verzonden. De drie belangrijkste componenten van Blynk zijn de mobiele applicatie, Blynk-wolk, en Blynk-bibliotheken.
Blynk app is de front-end applicatie die op de mobiele telefoon is geïnstalleerd. Het bevat verschillende widgets waarmee je spannende projecten kunt ontwerpen. Deze app is erg gebruiksvriendelijk en gemakkelijk te gebruiken.
De Blynk-cloud is een soort database die verantwoordelijk is voor het koppelen van de hardware aan de mobiele applicatie. U kunt uw eigen privé Blynk-server lokaal uitvoeren met behulp van deze Blynk-cloud. Deze cloud is open source. Duizenden apparaten kunnen met de cloud worden verbonden, maar deze server kan alleen worden gemaakt met een Raspberry Pi.
Er zijn bibliotheken voor verschillende sensorcomponenten beschikbaar die worden gebruikt om ze met de server te verbinden. Deze bibliotheken zijn verantwoordelijk voor het beheren van alle gegevens die van de sensoren komen of de applicatie verlaten. Wanneer een knop op de applicatie wordt ingedrukt, worden sommige gegevens naar de Blynk-cloud gestuurd en vervolgens naar de bijbehorende hardware. Evenzo worden de gegevens van de sensor via een internetverbinding naar de cloud gestuurd en vervolgens uit de cloud gehaald en weergegeven op de mobiele applicatie.
Stap 5: Het circuit aansluiten
Nu we elk van de onderdelen hebben en we precies weten wat de primaire werkrichtlijn van het raamwerk is, kunnen we verder gaan en onze segmenten samen gaan assembleren. Een ding moet in gedachten worden gehouden dat het circuit moet worden geminimaliseerd en dat de segmenten dichtbij moeten worden geplaatst.
- Neem een Veroboard en wrijf de zijkant met de koperen coating in met een schraappapier.
- Plaats nu de componenten voorzichtig en dicht genoeg zodat de grootte van het circuit niet erg groot wordt
- Knip voor elke sensor stukjes vrouwelijke headers en plaats deze op het Veroboard. Alle sensoren worden in deze vrouwelijke headers gestoken.
- Maak de verbindingen voorzichtig met soldeerbout. Als er een fout wordt gemaakt tijdens het maken van de verbindingen, probeer dan de verbinding te desolderen en de verbinding opnieuw goed te solderen, maar uiteindelijk moet de verbinding goed vast zitten.
- Voer een continuïteitstest uit nadat alle aansluitingen zijn gemaakt. In de elektronica is de continuïteitstest het controleren van een elektrisch circuit om te controleren of de stroom in het gewenste pad loopt (dat het met zekerheid een totaalcircuit is). Een continuïteitstest wordt uitgevoerd door een kleine spanning (bedraad in een opstelling met een LED of een commotie creërend onderdeel, bijvoorbeeld een piëzo-elektrische luidspreker) over de gekozen weg te zetten.
- Als de continuïteitstest slaagt, betekent dit dat het circuit naar behoren is gemaakt zoals gewenst. Het is nu klaar om getest te worden.
- Sluit de batterij aan op het circuit.
Stap 6: Aan de slag met Arduino
Arduino IDE is software waarmee u een code kunt schrijven, debuggen en compileren die op een Arduino-microcontroller wordt uitgevoerd. Deze code wordt via deze IDE naar de microcontroller geüpload. ALS u geen eerdere ervaring met deze software hebt, hoeft u zich geen zorgen te maken, want de hele procedure om deze software te gebruiken wordt hieronder gegeven.
- Als je de software nog niet hebt geïnstalleerd, klik dan hier om de software te downloaden.
- Sluit uw Arduino-bord aan op de pc en open het Configuratiescherm. Klik op Hardware en geluid.Nu open Apparaten en printer en zoek de poort waarop uw bord is aangesloten. Deze poort is op verschillende computers anders.
- Open nu de Arduino IDE. Stel vanuit Tools het Arduino-bord in op Arduino / Echte UNO.
- Stel vanuit hetzelfde Tool-menu het poortnummer in. Dit poortnummer moet exact hetzelfde zijn als het poortnummer dat eerder in het controlepaneel werd waargenomen.
- Om nu de Blynk-toepassing en het ethernet-schild met Arduino IDE te gebruiken, moeten we speciale bibliotheken importeren waarmee we code op Arduino Uno kunnen branden en gebruiken. Deze twee bibliotheken zijn bijgevoegd in de onderstaande link. Om de bibliotheek op te nemen, ga naar Sketch > Bibliotheek opnemen > ZIP-bibliotheek toevoegen. Er verschijnt een vak. Zoek de ZIP-map op uw computer en klik op OK om de mappen op te nemen. Deze bibliotheek is samen met de code in de onderstaande link bijgevoegd.
- Download de onderstaande code en kopieer deze naar uw IDE. Om de code te uploaden, klikt u op de upload-knop.
Om de code te downloaden, klik hier.
Stap 7: De toepassing configureren
Nu we het circuit hebben aangesloten, laten we de Blynk-applicatie downloaden en installeren vanuit de Play Store. Volg onderstaande stappen om het digitale dashboard in te stellen.
- Monteer het ethernet-schild op Arduino.
- Sluit dit bord aan op uw pc.
- Open de schets ethernetclient.inoen voeg het IP-adres van uw apparaat toe. Upload daarna de code op het Arduino-bord. Deze schets levert een Google-zoekopdracht op en de resultaten worden als HTML op de seriële monitor weergegeven.
- Open de schets ethernetserver.ino en voeg het IP-adres van ons apparaat toe. Upload vervolgens deze schets op je Arduino-bord. Deze schets maakt een webserver met Arduino en het ethernet-schild. Nu wordt een HTTP-verzoek door uw apparaat beantwoord. In deze schets kan de internetbrowser de gegevens ophalen die door uw Arduino worden verzonden via een ethernet-schild.
- Zorg er nu voor dat uw gsm een actieve wifi-verbinding heeft. Start de Blynk-toepassing die u al hebt gedownload. Maak een nieuw account aan voor deze applicatie. Er wordt een account aangemaakt om uw projecten op te slaan.
- Nadat het account is aangemaakt, logt u in op uw account en maakt u een nieuw project aan met de naam Vervuilingsmeter. Selecteer daarna de microcontroller als Arduino Uno. Kies je verbinding als Ethernet.
- Wanneer u op de . klikt Aanmakenknop, wordt er een authenticatiesleutel naar uw geregistreerde e-mailadres gestuurd. Deze authenticatiesleutel is een unieke sleutel die helpt om de smartphone te verbinden met uw hardware. Plak deze authenticatiesleutel in de Arduino-schetsnamen als vervuiling.ino.
- Wanneer dit is gebeurd, opent u de vervuiling.inoschets in Arduino IDE en upload het op het Arduino-bord.
- Wanneer het project is gemaakt in de Android-applicatie, verschijnt er een leeg canvas op het scherm.
- Tik ergens op het scherm. Er verschijnt een widgetbox met alle widgets die in de applicatie kunnen worden gebruikt.
- Selecteer in het Widget-menu de LCD en plaats deze op de hoofdlay-out. Plaats op dezelfde manier een LED, RTC-widgets, Druk op de knop en een Aan / uit knop, op de hoofdlay-out.
- Als alles klaar is, klik je op de afspeelknop. In deze afspeelmodus communiceert uw app in realtime met de hardware. U kunt de gegevens op het LCD-scherm zien en de relais van de hardware vanaf uw mobiel bedienen.
Stap 8: Werken met schetsen
De code voor dit project is erg ingewikkeld en verdeeld in verschillende schetsen. Je moet het grondig bestuderen om de volgorde van uploaden te behouden als je wilt dat je project goed werkt. Enkele delen van de code worden hieronder kort toegelicht.
1. ethernetclient.ino is een Arduino-schets die wordt gebruikt om het bord met een Ethernet-shield te verbinden met de "www.Google.com" -website. In deze schets is het mac-adres van je ethernet-schild opgenomen. Dit MAC-adres staat vermeld op de sticker achter het bord. De website en zijn IP, waarmee het bord moet worden verbonden, wordt ook in deze schets gegeven. In het lichaam van ongeldige setup(), de verbinding van het bord met de bestemmingswebsite is tot stand gebracht. Er wordt een foutmelding gegeven als de verbinding mislukt. In de lege lus()als er bytes van de server binnenkomen, worden deze gelezen en vervolgens afgedrukt op de seriële monitor.
2. ethernetserver.inois een Arduino-schets die een eenvoudige webserver is die de waarde van de analoge ingangspinnen toont met behulp van een Arduino Wiznet Ethernet-schild. In deze schets is ook het mac-adres van uw ethernetschild opgenomen. Hier wordt ook het IP-adres van het lokale netwerk vermeld. In ongeldige setup()de seriële communicatie wordt geopend en de microcontroller wacht tot de poort wordt geopend. Als het klaar is, wacht de microcontroller op de seriële poort om verbinding te maken en dan wordt de ethernetverbinding gestart. In lege lus()de microcontroller luistert naar binnenkomende clients. Wanneer het binnenkomende verzoek is voltooid, kan een antwoord worden verzonden. Er wordt dus een standaard HTTP-antwoordheader verzonden en nadat dit antwoord is voltooid, wordt de verbinding automatisch verbroken. Hierna worden de gegevens die van de analoge pinnen worden gelezen, als uitvoer verzonden. wanneer alle gegevens naar de webbrowser zijn verzonden, wordt de verbinding verbroken.
3. BlynkBlink.inois een Arduino-schets die wordt gebruikt om de Blynk-app met de hardware te verbinden. De authenticatiesleutel wordt toegevoegd aan deze code die door de applicatie is verstrekt via een e-mail. in deze schets ongeldige setup()stelt de baudrate van de microcontroller in en verbindt de hardware met de Blynk-cloud met behulp van de authenticatiesleutel.
#define BLYNK_PRINT Serieel // Schakelt seriële monitor in #include#inclusief #inclusief // Dit deel is voor Ethernet-dingen char auth [] = "117a820688214b22b7baf59f8d63c492"; // Plaats hier uw authenticatietoken. leegte setup () {Serial.begin (9600); // Instellen van de baudrate Blynk.begin (auth); // het Arduino-bord verbinden met de Blynk Cloud. } void loop() { Blynk.run(); // Blynk werkt hier }