Geavanceerd Slim Afval Monitoring met Arduino 101: BLE & WiFi Integratie
Onderdelen en benodigdheden
| Onderdeel | Aantal | Opmerking |
|---|---|---|
| Arduino 101 | 1 | Hoofdcontroller, verstuurt data via BLE |
| Seeed Base Shield V2 | 1 | Vereenvoudigt alle verbindingen |
| Arduino WiFi Shield 101 | 1 | Verbindt met Arduino 101 voor WiFi transmissie |
| Arduino MKR1000 | 1 | Alternatief voor WiFi Shield 101; werkt identiek |
| Ultrasoon Afstandssensor HC‑SR04 | 1 | Uit Grover Arduino 101 kit; elke HC‑SR04 werkt |
| 9V Batterij | 1 | Voeding |
| 9V Batterij Clip | 1 | |
| Jumper wires (generiek) | 1 set | |
| Schuifschakelaar (Slide Switch) | 1 | |
| LED (generiek) | 3 |
Benodigde gereedschappen
- Lijmpistool
- Bohrmachine (Bosch handboor)
Apps en online services
- Arduino IDE
- Blynk App (visualisatie op smartphone)
Over dit project
Inleiding
Slim Afval Monitoring Systeem met Internet of Things (IoT)
We leven in een tijd waarin taken en systemen samensmelten door IoT voor efficiënter werken. Een van de grootste milieuproblemen is vast afvalbeheer, wat gezondheid en omgeving beïnvloedt. Handmatig controleren van vuilnisbakken is arbeidsintensief, tijdrovend en duur. Onze oplossing: geautomatiseerd afvalbeheer met IoT.
Overzicht van het Monitoring Systeem
De idee ontstond toen we zagen dat vuilniswagens tweemaal per dag alle straten afreden, ongeacht hoeveelheid afval. Drukke straten vullen sneller; rustige straten zijn na twee dagen nog halve vol. Ons systeem geeft realtime aan hoeveel afval er in een bak zit. Met die data optimaliseren we inzamelroutes en besparen brandstof. Vuilnismannen kunnen hun dag/wekelijkse planning efficiënter maken.
Criteria
Basismodel:
- Voer de hoogte van de vuilnisbak in → berekent vulpercentage.
- Twee criteria voor leegmaken:
- Vulgraad: Drempel op 75% (aanpasbaar). Onder 75% = niet leegmaken.
- Tijd: Als een bak bv. 20% vol is en een week niet verandert, begint het te rotten. Tolerantie: 2 dagen. Onder 75% maar ouder dan 2 dagen → ook leegmaken.
De Elektronica
- Ultrasoon sensor (afstandssensor) aan de binnenkant van het deksel, gericht op het afval. Meer afval = kortere afstand. Live data naar Arduino 101.
- Arduino 101 verwerkt data en stuurt via WiFi naar app.
- App visualiseert vulgraad met animatie.
Over Ons
We delen projecten op Instructables, YouTube, Instagram. Steun ons via Patreon. Werkgerelateerd: technovationrobot@gmail.com
Materialen
Hardware:
- Grover Base Shield v2
- Arduino 101
- 9V Batterij (Gearbest)
- Kunststof container (waterdicht, componenten passen erin)
- Ultrasoon Sensor (Gearbest)
- Jumper Wires (Gearbest)
- Arduino MKR1000 (Amazon) – vereenvoudigt WiFi met libraries
- Witte spuitverf (professioneel uiterlijk)
Gereedschappen: Elektrische boor, Lijmpistool
Software: Arduino IDE, Blynk (Android app voor WiFi microcontrollers)
Model bouwen
Zoek een kleine kunststof container. Haal het deksel af, teken de twee “ogen” van de ultrasoon sensor aan de kant die naar de bodem kijkt. Boor gaten (10mm boor, eventueel bijvijlen). Sensor moet flush zitten.
Spuitverven
Twee lagen wit (of kleur naar keuze) binnen en buiten, ook het deksel. Let op: rook is giftig – doe het buiten.
Ultrasoon sensor bevestigen
Duw sensor in gaten, vastlijmen met lijmpistool. Maak gat voor schakelaar, monteer alles.
Het schema:
Monteer Base Shield op Arduino 101, ultrasoon sensor op pin D6.
Behuizing
Plaats componenten netjes, sluit de doos. Test op huishoudelijke vuilnisbak: dubbelzijdig tape op deksel, sensor naar beneden gericht.
Intro tot Blynk App
Blynk (Android Play Store) is een platform voor IoT visualisatie. Veel voorbeelden in Arduino IDE: Files > Examples > Blynk.
Link: Blynk App
App en Code instellen
- Installeer Arduino 101 drivers: Tools > Board > Boards Manager > zoek “intel curie boards”.
- Installeer libraries via Library Manager: WiFi101, Blynk, Ultrasonic.
Testen
In Blynk: kies Arduino 101, verbindingstype BLE (niet klassiek Bluetooth!). Je ontvangt een “auth token” per e‑mail; plak die in de code.
Resultaten!
Drie LEDs in Blynk: Groen (0–25%), Oranje (25–65%), Rood (65–100%).
Stap 14: GPS (Toekomstige uitbreiding)
BELANGRIJK: Niet geïmplementeerd (kosten te hoog voor 20+ bakken). Simulaties gaven wel correcte kortste routes.
Plan: Google Maps integratie. Handmatig GPS coördinaten van elke bak opnemen, opslaan in Google Maps. In Blynk per bak een LED/indicator. Chauffeur opent Blynk, ziet welke bakken aandacht nodig hebben, selecteert ze, genereert kortste route.
Brede toepassingsmogelijkheden
Steden, gemeenschappen, appartementencomplexen, huishoudens: iedereen baat bij efficiënt afvalbeheer via IoT.
Stap 16: Complicaties
- Ultrasoon sensor plaatsing: afval hoop in midden kan misleidende data geven.
- Vloeistof/afval in bak: elektronica moet waterdicht zijn.
- Grootste uitdaging: Beschikbaarheid 3G/4G. Thuis model gebruikte WiFi. Verwachting: binnen paar jaar overal internet.
Conclusie
Project is veelbelovend, maar vereist kleine aanpassingen. Deel jullie versies, suggesties in de comments. Veel plezier met maken!
Code (IoT Garbage Monitoring App)
#define BLYNK_PRINT Serial
#include <BlynkSimpleCurieBLE.h>
#include <CurieBLE.h>
#include <Ultrasonic.h>
char auth[] = "8b7229b2c3ec4b999eca6781903a208d";
BLEPeripheral blePeripheral;
WidgetLED green(V1);
WidgetLED orange(V2);
WidgetLED red(V3);
Ultrasonic ultrasonic(7);
int distance = 0;
int thresh[3] = {20, 12, 4};
void setup() {
Serial.begin(9600);
delay(1000);
blePeripheral.setLocalName("garbage");
blePeripheral.setDeviceName("garbage");
blePeripheral.setAppearance(384);
Blynk.begin(blePeripheral, auth);
blePeripheral.begin();
Serial.println("Waiting for connections...");
}
void loop() {
distance = ultrasonic.distanceRead();
Serial.print(distance);
Blynk.run();
if (distance <= thresh[0] && distance >= thresh[1] && distance >= thresh[2]) {
green.on();
Serial.println(1);
} else if (distance <= thresh[0] && distance <= thresh[1] && distance >= thresh[2]) {
green.on(); orange.on();
Serial.println(2);
} else if (distance <= thresh[0] && distance <= thresh[1] && distance <= thresh[2]) {
green.on(); orange.on(); red.on();
Serial.println(3);
} else {
green.off(); orange.off(); red.off();
Serial.println(0);
}
delay(100);
}
Schema's
- Base Shield V2 op Arduino 101, ultrasoon sensor op slot/pin D6.
- Fritzing diagram zonder Base Shield.
Productieproces
- Externe weerbewaking met Raspberry Pi 3 en PubNub
- Betrouwbaar Arduino RFID Aanwezigheidssysteem Aangedreven door Python
- Slim Binnenklimaat- & Afvalmonitoringssysteem met Raspberry Pi en Arduino
- Arduino Uno Gebaseerde Mensendetectie Robot: Stap-voor-stap Sensorintegratie
- Slimme Jaloezieën: Geautomatiseerd Lichtbeheer met Arduino & Zonne-energie
- SERENA: Een Aangepast Arduino Mega 2560 Alarmsysteem Met TFT LCD Touchscreen
- Bouw een Slimme IoT Pot met ESP8266, Arduino & Ultrasonische Sensor – Real-time Monitoring
- WiFi-ingeschakeld slim slot met Arduino & ESP8266 – Ontgrendel via je telefoon
- Contactloze hartslagmonitoring via slimme speakers: Een revolutionair systeem
- 7 Belangrijkste Voordelen van Biz4Intellia's Slimme Niveau-Monitoring Oplossing
- C# using-statements: imports, aliasen en static directives