Inhoudsopgave:
Video: Bouw een tankvolumelezer in minder dan $ 30 met ESP32 - Ajarnpa
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Het internet der dingen heeft veel voorheen complexe apparaattoepassingen in de huizen van veel ambachtelijke brouwers en wijnmakers gebracht. Toepassingen met niveausensoren worden al tientallen jaren gebruikt in grote raffinaderijen, waterzuiveringsinstallaties en chemische fabrieken. Nu de prijzen van sensoren dalen, kunnen zowel industriëlen als doe-het-zelvers nu het volume van elke tank, vat of bus controleren.
De sensoren die op de open markt verkrijgbaar zijn, kunnen bijna alles detecteren en zijn dienovereenkomstig geclassificeerd. Sensor die wordt gebruikt voor het meten van vochtigheid wordt vochtigheidssensor genoemd, druk wordt druksensor genoemd, afstand wordt positiesensoren genoemd, enzovoort. Op een vergelijkbare manier wordt de sensor die wordt gebruikt voor het meten van vloeistofniveaus een niveausensor genoemd.
De niveausensoren worden gebruikt om het niveau van de vrij stromende stoffen te meten. Dergelijke stoffen omvatten vloeistoffen zoals water, olie, slurries, enz. evenals vaste stoffen in korrel-/poedervorm (vaste stoffen die kunnen stromen). Deze stoffen hebben de neiging om door de zwaartekracht in de containertanks te bezinken en hun niveau in rusttoestand te behouden. In deze gids leert u hoe u uw eigen zelfgemaakte niveau-, temperatuur- en vochtigheidssensor kunt bouwen. Ook inbegrepen zijn instructies voor u nieuw verzamelde gegevens die kunnen worden gebruikt via Ubidots, een platform voor het inschakelen van toepassingen.
Stap 1: Vereisten
- ESP32
- Ultrasone sensor - HC-SR04
- DHT11-sensor
- Kunststof beschermhoes
- Doorverbindingsdraden
- Micro-USB-kabel
- Arduino IDE 1.8.2 of hoger
- Ubidots-account - of - STEM-licentie
Stap 2: Bedrading en behuizing
De sensor HC-SR04 (Ultrasone Sensor) werkt met 5V logica. Volg de tabellen en het diagram om de juiste verbindingen te maken tussen de ESP32 en de ultrasone sensor, ook tussen de ESP32 en de DHT11-sensor (temperatuur- en vochtigheidssensor).
Ik heb een klein prototype gebouwd met een tank op schaal om de functies van de sensor te laten zien, maar een definitief prototype met de behuizing zou eruit moeten zien als hierboven.
Zoals je kunt zien, moet de ultrasone sensor aan de bovenkant van de tank zitten, dus hiermee kunnen we de afstand meten tussen het bovenste deel van de tank en het eindpunt van de substantie. Plaats vervolgens de temperatuur en vochtigheid sensoren om de omgeving te bewaken.
Stap 3: Om uw aangesloten apparaat te programmeren, maakt u verbinding met de Arduino IDE
Voordat u met de ESP32 begint, stelt u uw bord in met de Arduino IDE. Als je niet bekend bent met een bordconfiguratie, raadpleeg dan het onderstaande artikel en volg stap voor stap totdat je het bord hebt samengesteld:
Verbind de ESP32-DevKitC met Ubidots
Nadat uw bord is gecompileerd, installeert u de bibliotheken die nodig zijn om de sensoren uit te voeren: "PubSubClient" en "DHT:"
Ga naar Sketch/Program -> Include Library -> Library Manager en installeer de PubSubClient-bibliotheek. Om eenvoudig de juiste bibliotheek te vinden, zoekt u in PubSubClient in de zoekbalk
2. Ga naar de bibliotheekrepository om de DHT-bibliotheek te downloaden. Om de bibliotheek te downloaden, klikt u op de groene knop "Klonen of downloaden" en selecteert u "ZIP downloaden".
3. Nu, terug in de Arduino IDE, klik op Sketch -> Include Library -> Add. ZIP Library
4. Selecteer het. ZIP-bestand van DHT en vervolgens "Accepteren" of "Kiezen"
5. Sluit de Arduino IDE en open deze opnieuw. De herstart is vereist; sla deze stap alstublieft niet over.
Nu is het tijd om te beginnen met coderen:) Kopieer de onderstaande code en plak in de Arduino IDE.
Ga naar de volgende link om de code te vinden.
Wijs vervolgens de parameters toe: Wi-Fi-naam en wachtwoord, plus uw unieke Ubidots TOKEN. Als u niet weet hoe u uw Ubidots-TOKEN kunt vinden, raadpleeg dan dit artikel hieronder.
Hoe u uw Ubidots-TOKEN kunt krijgen
Nadat je je code hebt geplakt en de juiste wifi hebt toegewezen, verifieer je in de Arduino IDE. Om dit te verifiëren, ziet u in de linkerbovenhoek van onze Arduino IDE de onderstaande pictogrammen. Kies het vinkje om een code te verifiëren. Eenmaal geverifieerd, ontvangt u een bericht "Klaar met compileren" in de Arduino IDE.
Upload vervolgens de code naar uw ESP32. Kies het pictogram met de pijl naar rechts naast het vinkje om te uploaden. Eenmaal geüpload, ontvang je een bericht "Klaar met uploaden" in de Arduino IDE.
Hiermee verzendt je sensor nu de gegevens naar de Ubidots Could!
Stap 4: Beheer van de gegevens in Ubidots
Als uw apparaat correct is aangesloten, ziet u een nieuw apparaat gemaakt in uw apparaatsectie in uw Ubidots-applicatie. De naam van het apparaat is "esp32", ook in het apparaat ziet u de variabelen afstand, vochtigheid en temperatuur:
Als u uw apparaat- en variabelenamen wilt wijzigen in een vriendelijkere naam, raadpleeg dan dit artikel:
Hoe u uw apparaatnaam en variabelenaam kunt aanpassen
Om vervolgens het volume van vrij stromende stoffen in de tank te berekenen, moeten we een afgeleide variabele maken om een volumewaarde te berekenen.
Met de afgeleide variabele kunnen we bewerkingen bouwen met behulp van de standaardvariabelen, dus in dit geval gaan we de volumeformule toepassen met het kenmerk van een cilindrische tank waarbij:
- Pi = De verhouding van de omtrek van een cirkel tot zijn diameter (constant)
- r = De straal van de tank
- h = De hoogte van de tank
Klik op "Toevoegenvariabele" en selecteer "Afgeleid". Zoals u in het nieuwe venster kunt zien, moet u de formule in het veld bijvoegen.
Nadat u de formule met de kenmerken van uw tank hebt toegevoegd, selecteert u de variabele "afstand".
Als uw formule is ingevoerd, begint uw volume te lezen in uw Ubidots-toepassing.
Stap 5: Resultaten
Nu is uw sensor klaar om te gaan werken! Hierboven ziet u de functie van de niveausensor bij verschillende volumes.
Bekijk deze videozelfstudies voor meer informatie over Ubidots-widgets en -evenementen.