Arduino DHT11 Temperatuur & Vochtigheid Sensor Project
January 7, 2025
Arduino DHT11 Temperatuur & Vochtigheid Sensor Project
De DHT-sensorlijn (DHT11/22) is een van de meest gebruikte in veel elektronische projecten, variërend van thuisweerstations tot installatie-automatiseringssystemen,vanwege zijn eenvoud en compactheid als temperatuur/vochtigheidssensorHoewel de nauwkeurigere en duurdere DHT22 kan worden vervangen (met enkele wijzigingen in de code), zal in dit project de DHT11-sensormodule worden gebruikt.De DHT11 sensor die in dit project zal worden gebruikt is niet de standalone 4-pin sensor versie, maar eerder, een 3-pin module die een ingebouwde condensator en pull-up weerstand heeft, waardoor de noodzaak van extra componenten bij het bouwen van dit circuit wordt geëlimineerd.de DHT11-sensormodule kan rechtstreeks worden aangesloten op een digitale pin die de seriële gegevens van de sensor verwerkt en naar de microcontroller stuurt, voor ons om te lezen.
In dezeDIY PCBA-project, zullen de temperatuur- en vochtigheidsgegevens van de DHT11-sensor worden weergegeven op een OLED-scherm van 0,96′′ 128×64 (organische lichtemitterende diode) zodat we deze zichtbaar kunnen lezen.Een voordeel van het gebruik van een i2c OLED-scherm ten opzichte van andere displaytypen is dat het alleen een 4-draadverbinding met het Arduino-bord vereist en met een breed scala aan bibliothekenEen opvallend kenmerk van een OLED-scherm is de helderheid, scherpte en visuele kwaliteit van de teksten, figuren en afbeeldingen die het kan weergeven.
Al met al is dit een vrij eenvoudig schakelproject dat geschikt is voor absolute beginners omdat het slechts een paar componenten en een aantal basiscoderingsvaardigheden vereist.,Dit project kan zeker worden verbeterd en geüpgraded om meer functies toe te voegen, zoals draadloze communicatie (RF, LoRa,Bluetooth-PCB, Wi-Fi, enz.), RTC-gegevens (realtime clock), aanvullende sensorgegevens (hoogte, atmosferische druk, gasconcentraties, enz.) en vele andere functies.Je moet onderdelen kopen.:
Voor dit project gebruikt FS Technology een Arduino Nano, wat het gebruik van een breadboard vereist..Als er echter in plaats daarvan een Arduino Uno wordt gebruikt, kunnen de springdraden rechtstreeks in de stippen van het bord worden aangesloten, waardoor de noodzaak van het breadboard wordt geëlimineerd.de bedrading voor de DHT11 sensor module en OLED-scherm op het Arduino bord blijft consistentBovendien wordt hieronder het bedradingsdiagram voor het DHT11-circuit voor temperatuur- en vochtigheidssensoren weergegeven.
DHT11-sensormodule: verbind de signaal (S) pin van de sensor met D2, de positieve (+) pin met +5v en de negatieve (-) pin met GND.
OLED: SDA (seriedata) aansluiten op A4, SCL/SCK (serieklok) op A5, VDD/VCC (toevoerspanning) op +5v en GND op GND.
Nu kun je je Arduino-bord aansluiten via de USB-kabel aan de computer.
weergave.beginnen(De in bijlage I vermelde gegevens moeten worden verzameld.3C);
weergave.ClearDisplay();
}
nietigloop(){
weergave.ClearDisplay();
weergave.setTextSize(1);
weergave.setTextColor(SSD1306_WIT);
weergave.setCursor(0,15);
weergave.print(Temperatuur:);
weergave.setCursor(80,15);
weergave.print(De.LezenTemperatuur(i);
weergave.setCursor(110,15);
weergave.print(C);
weergave.setCursor(0,35);
weergave.print(Vochtigheid:);
weergave.setCursor(80,35);
weergave.print(De.leesVochtigheid(i);
weergave.setCursor(110,35);
weergave.print(% );
weergave.weergave();
vertraging(2000);
Over de code.
Een van de voordelen van het werken met een i2c OLED-scherm is de ongelooflijke hoeveelheid ondersteuning die online beschikbaar is, in de vorm van open source bibliotheken,Dat kan enorm helpen bij het programmeren van het scherm van de Arduino IDEIn dit project, the Adafruit SSD1306 and GFX libraries are the main two libraries that are utilized to interface the OLED display with the Arduino and since all the setup information is already configured in the library filesAls u deze bibliotheken niet hebt gedownload en geïnstalleerd in uw IDE, kunt u deze instructies gebruiken om uw IDE te verbeteren.u kunt compilatiefouten tegenkomen dus zorg ervoor dat u de nieuwste bibliotheekversies hebt geïnstalleerd in de Arduino IDE.
De code begint met het definiëren van de bibliotheken die nodig zijn voor het opzetten van het OLED-scherm: Wire, Adafruit SSD1306 en Adafruit GFX.
In het tweede blok worden verschillende parameters met betrekking tot het OLED-scherm gedefinieerd, waaronder de schermbreedte en -hoogte (128 x 64 pixels) en de OLED-resetpin (A4).
Vervolgens worden de bibliotheken gedefinieerd die nodig zijn voor de DHT11-sensor om met de Arduino te communiceren.De digitale pin waarop de DHT sensor is aangesloten op het Arduino bord (digitale pin 2 D2) is bovendien gedefinieerd naast het specifieke model van de DHT sensor die we gebruiken, de DHT11 sensor.
Nu wordt de leegte setup sectie geïntroduceerd, een van de twee essentiële functies in elke Arduino code.begin()) evenals het OLED-scherm en voordat u doorgaat naar de leegloop sectie, wordt het OLED-scherm van alle eerdere beelden verwijderd (display.clearDisplay()).
In termen van de leegloop sectie, het belangrijkste deel van de code die continu herhaalt (in een lus) zolang er stroom aan het Arduino bord,het bestaat voornamelijk uit OLED-specifieke functies die eerst de tekstgrootte instellen, tekstkleur en cursor (waar we tekst op de OLED willen afdrukken). Vervolgens bevelen we de OLED om tekstlijnen op verschillende plaatsen op het scherm te printen,die voornamelijk de temperatuur (in graden Celsius) en vochtigheid (%) informatie die wordt gelezen door de DHT11 sensorAlleen al door het gebruik van deze eenvoudige commando's die zijn geproduceerd uit de gedefinieerde bibliotheken, kunnen we gemakkelijk elke informatie op het scherm afdrukken.
Met de vertraging functie aan het einde van de code, is het ingesteld om het OLED-scherm elke 2000 milliseconden bij te werken met de nieuwste gegevens die worden gelezen van de sensor.u kunt deze timing wijzigen, afhankelijk van hoe vaak u direct van de sensor actuele informatie wilt ontvangen..
Samenvatting
Met een fundamenteel begrip van dit project en de basisprincipes die betrokken zijn bij het koppelen van een sensor aan een OLED-scherm,Er zijn zeker vele manieren waarop dit project kan worden verbeterd.Meestal kan een setup als deze worden geïntegreerd in een veel groter project van een weerstation door mogelijk meer sensoren, een groter scherm, draadloze mogelijkheden, een behuizing, enz. toe te voegen.Zoals dit project aantoont, door je gewoon vertrouwd te maken met enkele van de Arduino bibliotheken die beschikbaar zijn om te gebruiken, wordt het dan relatief moeiteloos om je eigen weerstation te coderen.Een toekomstig project kan de draadloze overdracht van dergelijke weergegevens van het ene microcontrollerbord naar het andere omvatten om een afgelegen omgeving te bewaken of een autonoom systeem centraal te bedienen.Toch zijn projecten als deze uitstekend geschikt om hobby-elektronica voor een absolute beginner te introduceren en kunnen ze ook zeer goed worden gericht op een meer ervaren gebruiker.Fabrikant van PCBAdie misschien andere aspecten van elektronica willen verkennen.