English Click this button for the international website

Alcoholdetector: ESP-WROOM-02 & MQ-3 sensor

Met een ESP-WROOM-02 en een MQ-3 Alcoholsensor kun je eenvoudig een portable alcoholdetector maken. Het wordt een eenvoudiger uitvoering van het eerdere project “Arduino alcoholtester met MQ-3 gas sensor en OLED display“. We maken ook gebruik van de bevindingen uit de eerdere blog “WEMOS D1 Esp-Wroom-02 met Arduino IDE“.

Let op de + en – bij het plaatsen van de batterij in de ESP-WROOM-02. Als je de batterij verkeerd om plaatst dan zul je de module beschadigen!

Alcohol Detector Project
Alcohol Detector Project

Alcoholdetector in 6 stappen

Als we vanaf nul beginnen dan moet je onderstaande stappen doorlopen, maar waarschijnlijk heb je de eerste (twee) al eerder gedaan:

  1. Installeer de Arduino IDE
  2. Installeer de Arduino core voor ESP8266
  3. Installeer de Thingpulse bibliotheek
  4. Installeer de Brzo I2C bibliotheek
  5. Sluit de sensor aan
  6. Upload de alcoholdetector sketch

Als dit allemaal gelukt is dan heb je een goed uitgangspunt voor je eigen versie van dit project. We beginnen met het installeren van de Arduino IDE.

Alcoholdetector: de MQ-3 sensor 
Alcoholdetector: de MQ-3 sensor

Installeer de Arduino IDE

Om de ESP8266 microcontroller te programmeren gebruiken we de Arduino IDE. Als je deze nog niet geïnstalleerd hebt dan kun je hier lezen hoe dat moet:

ESP-Wroom-02 ESP8266+0,96inch OLED+18650 Batterijhouder
Getest en Aanbevolen door OneGuyOneBlog.com:

ESP-Wroom-02 ESP8266+0,96inch OLED+18650 Batterijhouder

Installeer de Arduino core voor ESP8266

Om ondersteuning voor de ESP8266 microcontroller aan de Arduino IDE toe te voegen, installeren we de “Arduino core for ESP8266 WiFi chip“.

  1. Ga naar menu Bestand > Voorkeuren, plak de URL “https://arduino.esp8266.com/stable/package_esp8266com_index.json” in het vak “Meer Board Managers URL’s”
  2. Ga daarna naar het menu Hulpmiddelen > Board “xxx” > Board Beheer … en zoek op “ESP8266”. Druk dan bij “esp8266 by esp8266 community” op de knop “installeren”.

Lees voor een uitgebreidere beschrijving het hoofdstuk “De ESP8266 Arduino Core installeren” in het blog “ESP8266 NodeMcu met Arduino IDE op Linux” De procedure is overigens hetzelfde voor Windows en Linux.

Installeer de Thingpulse bibliotheek

De Thingpulse bibliotheek kun je op twee manieren installeren. Wil je het handmatig doen, download dan het ZIP-bestand van github. Ga daarna in de Arduino IDE naar Schets > Bibliotheek gebruiken > Voeg .ZIP bibliotheek toe > kies bestand en selecteer het bestand dat je zojuist gedownload hebt.

Je kunt de bibliotheek ook via “Bibliotheek Beheer” installeren. Ga daarvoor naar Schets > Bibliotheek gebruiken > Bibliotheken beheren  en zoek naar “ESP8266 and ESP32 Oled Driver for SSD1306 display“. Klik daarna op de knop “Installeren”.

Wemos D1 ESP-WROOM-02 OLED bibliotheek
Wemos D1 ESP-WROOM-02 OLED bibliotheek

Installeer de Brzo I2C Bibliotheek

Installeer op dezelde manier de “Brzo I2C” bibliotheek. Handmatig, door het ZIP-bestand van GitHub te downloaden en via Schets > Bibliotheek gebruiken > Voeg .ZIP bibliotheek toe > kies bestand aan de Arduino IDE toe te voegen.

Of door middel van “Bibliotheek Beheer” via Schets > Bibliotheek gebruiken > Bibliotheken beheren, dan zoeken naar “Brzo I2C” en klikken op de knop “installeren”.

Sluit de sensor aan

Dan is het tijd om de sensor op de ESP aan te sluiten. Zorg dat de ESP uit staat. Met drie draden sluit je de sensor aan: AD van de sensor op A0 van de ESP voor het analoge signaal. VCC en GND van de sensor op 5V en GND van de ESP voor de voeding.

MQ-3 Sensor ESP-WROOM-02
AD A0
DD (niet aangesloten)
GND GND
VCC 5V

Upload de alcoholdetector voorbeeldsketch

Als het voorgaande allemaal gelukt is dan kun je nu de onderstaande voorbeeldsketch naar de ESP-WROOM-02 uploaden.

/*

   Alcoholdetector voorbeeldsketch
   https://nl.oneguyoneblog.com

*/

#include "SSD1306Brzo.h"            // Include OLED Library

SSD1306Brzo  display(0x3c, 5, 4);   // Initialize OLED display

int analogPin = A0;                 // Analog input is A0

void setup() { 
  display.init();   // Initialise the display
}

void drawData() { // Fuction to draw the text
  display.setTextAlignment(TEXT_ALIGN_LEFT);
  display.setFont(ArialMT_Plain_16);

  int analogValue = analogRead(analogPin); // Read the analog sensor input (0-1023)
  int percentage = map(analogValue, 0, 1023, 0, 100); // Map sensor value (0-1023) to percentage (0-100)
  
  display.drawProgressBar(0, 24, 100, 5, percentage); // Draw the percentage bar (x,y,width,height,value)
  display.drawString(0, 0, "Alcohol: " + String(percentage) + "%");  // Print percentage
  display.drawString(0, 48, "ADC: " + String(analogValue));   // Print value of analog input (ADC)
}

void loop() {
  display.clear();      // Clear OLED display
  drawData();           // Draw the text
  display.display();    // Write the buffer to the display
}
Wemos D1 ESP-WROOM-02 van VNGSystems
Wemos D1 ESP-WROOM-02 van VNGSystems

Verbeter de alcoholdetector

Zoals de meeste projecten op dit blog is dit slechts een basis voor je eigen project. Je kunt zelf nog veel toevoegen en verbeteren. Een paar suggesties:

  • Een timer op het scherm die de opwarmtijd voor de sensor weergeeft (bijvoorbeeld 3 minuten)
  • De WiFi-functionaliteit van de ESP8266 gebruiken zodat je de data met je telefoon kunt uitlezen
  • De sketch optimaliseren om energie te besparen zodat de batterij langer meegaat
  • Etc. etc.

Als je zelf een mooie alcoholdetector gemaakt hebt, laat het dan vooral weten in de commentaarsectie hieronder!

VNG Systems

ESP-Wroom-02 ESP8266+0,96inch OLED+18650 Batterijhouder
Getest en Aanbevolen door OneGuyOneBlog.com:

ESP-Wroom-02 ESP8266+0,96inch OLED+18650 Batterijhouder

Voeg een reactie toe

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *