Inhoudsopgave:
- Stap 1: Materialen
- Stap 2: Gegevens ophalen van de sensoren
- Stap 3: Gegevens verzenden via Bluetooth
- Stap 4: Gegevens ontvangen en overbrengen naar de Raspberry Pi
- Stap 5: Gegevens loggen en waarschuwingsfunctie
- Stap 6: Cases maken
- Stap 7: Verbeteringen
- Stap 8: Illustratie van onze groep
Video: Een ammoniakdetectiekit maken: 8 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
In deze tutorial laten we je zien hoe je ammoniaksensoren, arduino en framboos gebruikt om de ammoniakconcentratie te meten en waarschuwingen te geven als er een lek of een te hoge concentratie in de lucht is!
Dit project is ons schoolproject, in feite wilde het chemisch lab van onze school een systeem om te detecteren of de concentratie van ammoniak in de lucht te hoog was. In het lab is er een chemische laboratoriumkap en studenten moeten die kappen aanzetten om de chemische dampen op te zuigen. Maar als ze vergeten de kap aan te zetten, kunnen giftige dampen zich in het lab verspreiden. Met dit systeem kan de verantwoordelijke leraar een waarschuwing krijgen als ammoniak (een giftig gas) buiten die kappen wordt waargenomen.
Stap 1: Materialen
Voor dit project heb je nodig:
- 2x Ammoniak Sensor MQ-137 (of zoveel als je wilt)
- 1x Arduino Uno (hij heeft één seriële poort)
- 1x Genuino Mega 2560 (of andere boards met 2 of meer seriële poorten)
- 2x HC-05 Bluetooth-modules
- 1x Raspberry Pi-model 3B
- 1x Batterij 9V
- Draden, kabels en weerstanden
Stap 2: Gegevens ophalen van de sensoren
Sensoren zijn aangesloten op een arduino Uno.
Om deze toepassing te realiseren, moet deze sensor gevoed worden. Om dit te doen, worden de 5V en de massa van de arduino-kaart gebruikt. Bovendien maakt de analoge ingang A0 het mogelijk om de door de sensor gegeven weerstandswaarde te herstellen. Bovendien wordt de Arduino aangedreven
Helaas leveren die sensoren geen lineaire output die evenredig is met de ammoniakconcentratie. Die sensoren zijn gemaakt van een elektrochemische cel, waardoor de weerstand met betrekking tot de concentratie verandert. De weerstand gaat omhoog met de concentratie.
Het echte probleem hiermee is dat ze gemaakt zijn om verschillende soorten gas te meten en dat de elektrochemische cel vreemd reageert. Voor hetzelfde monster vloeibare ammoniak leveren beide sensoren bijvoorbeeld een verschillende output. Ze zijn ook vrij traag.
Hoe dan ook, de weerstand die door de sensor wordt geleverd, wordt door de Arduino omgezet naar 0-5V en vervolgens naar "ppm" (= delen per miljoen, het is een relevante eenheid om de gasconcentratie te meten) met behulp van een trendcurve en de vergelijking wordt gegeven in de documentatie van deze sensoren.
Stap 3: Gegevens verzenden via Bluetooth
Om de sensoren op verschillende plaatsen in het laboratorium in te stellen, worden ze direct aangesloten op een Arduino-bord dat gevoed wordt door een 9V-batterij. En om de resultaten van ammoniak in de lucht naar de Rapsberry-kaart te communiceren, worden bluetooth-modules gebruikt. De eerste kaart die rechtstreeks op het sensorbord is aangesloten, wordt slave genoemd.
Om de bluetooth-modules te kunnen gebruiken, moeten ze eerst worden geconfigureerd. Sluit daarvoor de EN-pin van de module aan op de 5V (u zou de led elke 2 sec moeten zien knipperen) en druk op de knop op de module. Telecodeer een lege code in de arduino en verbind de RX-pin van de module met de TX-pin van de arduino en vice versa. Ga daarna naar de seriële monitor, kies de juiste baudrate (voor ons was het 38400 Br) en schrijf AT.
Als de seriële monitor "Ok" toont, dan bent u in de AT-modus gekomen. U kunt de module nu instellen als slave of master. Hieronder vindt u een pdf met alle commando's voor de AT-modus.
De volgende website toont de stappen in de AT-modus voor onze bluetooth-module:
De bluetooth-module gebruikt 4 pinnen van de arduino, 3.3V met een spanningsdeler, aarde, de TX- en RX-pinnen. Het gebruik van de TX- en RX-pinnen betekent dat de gegevens worden overgedragen via de seriële poort van de kaart.
Vergeet niet dat de pin RX van de bluetooth module is verbonden met de TX pin van de Arduino en vice versa.
U zou beide leds van de bluetooth-modules ongeveer elke 2 seconden 2 keer moeten zien knipperen wanneer ze met elkaar zijn verbonden.
Zowel de bon als de verzendcode worden op dezelfde kaart gerealiseerd en hierna toegevoegd.
Stap 4: Gegevens ontvangen en overbrengen naar de Raspberry Pi
Dit deel van het project wordt gedaan door de arduino mega.
Deze kaart is aangesloten op een bluetooth-module, geconfigureerd om de gegevens te ontvangen, en de Raspberry Pi. Het heet Meester.
In dit geval gebruikt de Bluetooth-module één seriële poort en worden de gegevens via een andere seriële poort naar de Raspberry Pi overgebracht. Daarom hebben we een kaart nodig met 2 of meer seriële poorten.
De code is bijna hetzelfde als voorheen.
Stap 5: Gegevens loggen en waarschuwingsfunctie
De raspberry pi logt de gegevens elke 5 seconden (kan bijvoorbeeld variëren) in een.csv-bestand en slaat het op binnen de capaciteit van de SD-kaart.
Tegelijkertijd controleert de framboos of de concentratie niet te hoog is (meer dan 10ppm kan bijvoorbeeld variëren) en stuurt een waarschuwingsmail als dit het geval is.
Maar voordat de Raspberry de e-mail kan verzenden, heeft hij een kleine configuratie nodig. Ga hiervoor naar het bestand "/etc/ssmtp/ssmtp.conf" en wijzig de parameters volgens uw persoonlijke informatie. Hieronder vindt u een voorbeeld (code_raspberry_conf.py).
Wat de hoofdcode (blu_arduino_print.py) betreft, moet deze een aantal bibliotheken zoals "serieel" importeren om te werken met de USB-communicatiepoort of de bibliotheek "ssmtp" om de e-mail te verzenden.
Soms kan er een fout optreden bij het verzenden van de gegevens via Bluetooth. Inderdaad, de framboos kan alleen een regel lezen als er een nummer eindigt met \n. De framboos kan echter soms iets anders ontvangen zoals "\r\n" of gewoon "\n". Dus om te voorkomen dat het programma wordt afgesloten, hebben we de opdracht Try - Except gebruikt.
Na, het is gewoon een heleboel "als" voorwaarden.
Stap 6: Cases maken
Vereist materiaal:
- 1 aansluitdoos van 220*170*85 mm
- 1 aansluitdoos van 153*110*55 mm
- Groene ertalon 500*15*15 mm
- 1,5 meter elektrische kabels
- 2 bluetooth-modules
- 1 Framboos
- 1 Arduino Mega
- 1 echte
- 9v batterij
- 1 Raspberry / Arduino aansluitkabel
- 2 weerstanden van 2K ohm
- 2 weerstanden van 1K ohm
- Soldeermachine
- Dril machine
- Boren
- Snij tang
- Zaag
We zijn uitgegaan van twee elektrische aansluitdozen waarin is gezaagd. Ten eerste de realisatie van het sensor/emitter-element: twee steunen om de Genuino-kaart te bevestigen zijn gemaakt in groen ERTALON. Vervolgens moest het deksel worden doorgesneden om de ammoniaksensor te plaatsen en te repareren. De kabels waren verbonden van de sensor naar de Genuino-kaart. Daarna hebben we de bluetooth module op de doos gezet, de kabels gesoldeerd en met de kaart verbonden. Ten slotte werd de voeding met een 9V-batterij geïntegreerd en bedraad. Toen de sensor klaar was, konden we aan de ontvanger gaan werken. Hiervoor zijn we, op dezelfde manier als voorheen, begonnen met het maken van de steunen voor de twee elektronische kaarten (de Raspberry en de Arduino mega). Vervolgens knippen we de sleuven voor kabels en stekkers uit de Raspberry. De bluetooth-module werd op dezelfde manier als voorheen vastgezet. Vervolgens werden de gaten aan de bovenkant van de doos geboord om ventilatie voor de twee elektronische kaarten mogelijk te maken en om elk risico op oververhitting te voorkomen. Om deze stap te voltooien, werden alle kabels aangesloten en hoeft het project alleen nog maar te worden gevoed en getest.
Stap 7: Verbeteringen
Qua verbetering zijn er verschillende punten te bedenken:
- De keuze voor een meer performante sensor. Ze detecteren inderdaad niet snel het verschijnen van ammoniak in de lucht. Tel daarbij op dat ze, eenmaal verzadigd met ammoniak, een bepaalde tijd nodig hebben om er vanaf te komen.
- Gebruikte een arduino-kaart die rechtstreeks een Bluetooth-module heeft zoals gespecificeerd aan de basis van ons project. Helaas is Genuino 101 niet meer verkrijgbaar op de Europese markt.
- Integreer een display in de doos waar de sensor zich bevindt om de concentratie op een continue manier te kennen
- Zorg voor de automatische opbouw van een grafiek van de gegevens die zijn opgeslagen in het csv-bestand.
Aanbevolen:
Een USB-hub maken van een oud toetsenbord ?♻: 3 stappen (met afbeeldingen)
Een USB-hub maken van een oud toetsenbord ?♻: As-Salaamu-Alaikum! Ik heb een oud toetsenbord dat niet in gebruik was en ook de toetsen waren een beetje defect. Dus besloot ik er iets aan te doen. Ik nam de printplaat en zette het om in "USB Hub".Het was gemakkelijk
(2) Beginnen met het maken van een spel - Een opstartscherm maken in Unity3D - Ajarnpa
(2) Beginnen met het maken van een spel - Een opstartscherm maken in Unity3D: In deze Instructable leert u hoe u een eenvoudig opstartscherm maakt in Unity3D. Eerst openen we Unity
Een Facebook-account maken op een computer: 9 stappen
Hoe maak je een Facebook-account aan op een computer: De eerste stap die nodig is om dit project uit te voeren is: zoek een computer met internettoegang
Een 3D-printergegevens maken van een behuizing voor een elektronische module door Blender. Ajarnpa
Een 3D-printergegevens maken van een behuizing voor elektronische module door Blender.: Je hebt ze nodig (voorbeeld dat ik heb gebruikt). 3D-printer (TEVO Tarantula) 2D-scanner (CanoScan LiDE 200) 3D-gegevenseditor (blender) 2D-gegevenseditor (Paint Shop Pro) https://neo-sahara.com/wp/case_make_blender
Een Bluetooth-adapter Pt.2 maken (een compatibele luidspreker maken): 16 stappen
Een Bluetooth-adapter Pt.2 maken (een compatibele luidspreker maken): in deze instructie laat ik u zien hoe u mijn Bluetooth-adapter kunt gebruiken om een oude luidspreker Bluetooth-compatibel te maken. * Als u mijn eerste instructie over "Maken nog niet hebt gelezen een Bluetooth-adapter" Ik raad u aan dit te doen voordat u doorgaat.C