5151+ beoordelingen
Bestel voor 16:00 voor dezelfde dag verzending
14 dagen retour
NL
Particulier
Zakelijk
Als jij je wel eens afvraagt wat de luchtvochtigheid in jouw huis is dan is dit project voor jou!
Tijdens dit project leer je hoe je een luchtvochtigheidsmeter maakt met behulp van een DHT11 sensor en een 16X2 LCD beeldscherm. Een DHT11 is een sensor die de temperatuur en de luchtvochtigheid meet. Bij het beeldscherm heb je de keuze of je deze er wel of niet aan toe wilt voegen. Als je er wel een beeldscherm aan toe wilt voegen kan je de keuze maken of je deze met of zonder I2C wilt aansluiten. De verschillende versies staan hieronder.
Nu je alle onderdelen hebt kan je beginnen met het bedraden.
Voor het bedraden heb je vijf kabels nodig.
Er gaat een kabel van de 5V op de Arduino naar de plus van het breadboard en van de ground op de Arduino naar min van het breadboard.
Zodra je dat hebt gedaan doe je de DHT11 in het breadboard met de blauwe kant naar u toe gericht. Op deze manier defineren we ook de pinnen.
Nu ga je met en kabel van de I/O pin 8 naar de meest linker pin van de DHT11, vervolgens gaat er een kabel van de middelste pin van de DHT 11 naar de plus van het breadboard en een kabel van de meest rechter pin naar de min van het breadboard.
Het is belangrijk dat je de kabels op de juiste volgorde verbind want anders kloppen je waardes niet.
//hier importeren we de DHT library
#include <DHT.h>
//nu geven we de DHT11 een naam
dht DHT;
//en defineren zijn pin
#define DHT11_PIN 8
void setup()
{
//hier starten we de seriële connectie
Serial.begin(9600);
}
void loop()
{
//hier lezen we de sensor waardes
int chk = DHT.read11(DHT11_PIN);
//en zorgen dat ze in de seriële com te zien zijn
Serial.print(“Humidity: “);
Serial.print(DHT.humidity);
Serial.print(” %, Temp: “);
Serial.print(DHT.temperature – 5);
Serial.println(” Celsius”);
delay(2000);
}
Nu je het beeldscherm hebt aangesloten kan je hem gaan programmeren.
Je moet hiervoor de LiquidCrystal library gebruiken die zit standaard in de Arduino IDE. Als je die dan hebt geïmporteerd kan je beginnen met het overnemen van de code die hier onder staat.
//hier importeren we de DHT library
//en de LiquidCrystal library
#include <dht.h>
#include <LiquidCrystal.h>
//op deze plek defineren we de LCD pinnen
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
//hier geven we de DHT11 een naam
dht DHT;
//en defineren zijn pin
#define DHT11_PIN 8
void setup(){
//nu selecteren we de LCD lampjes
lcd.begin(16, 2);
}
void loop()
{
//nu lezen we de waardes van de DHT11
int chk = DHT.read11(DHT11_PIN);
//en hier zorgen we dat ze
//op het beeldscherm komen
lcd.setCursor(2,0);
lcd.print(“Temp: “);
lcd.print(DHT.temperature – 5);
lcd.print(“C”);
lcd.setCursor(2,1);
lcd.print(“Humi: %”);
lcd.print(DHT.humidity);
delay(2000);
}
In deze stap laat ik je zien hoe je een I2C LCD kan aansluiten. Het voordeel hiervan is dat het beeldscherm in totaal maar vier jumper wires nodig heeft en standalone is.
Het is wel belangrijk dat je hiervoor de LiquidCrystal_I2C library en de Wire library importeerd anders kan je het beeldscherm namelijk niet aansturen.
De LiquidCrystal_I2C library kan je vinden als je in de Arduino IDE naar schets gaat, dan naar bibliotheek gebruiken en dan op bibiliotheek beheren klikt. Dan zie je als het goed is een pop-up tabblad daar zie je rechtsboven een zoekbalk. Typ daar LiquidCrystal_I2C in en selecteer er een en klik dan op installeer. Doe hetzelfde met de Wire library.
Nu ga je beginnen met het bedraden.
Als eerste gaat er een jumper wire van de 5V op de Arduino naar de plus van het breadboard en een jumper wire van de GND op de Arduino naar de min van het breadboard.
Daarna sluit je van het I2C LCD de GND op de min aan, de VCC op de plus, SDA op A4 en SCL op A5.
De aansluiting voor de DHT 11 is de meest linker pin naar I/O pin 8, de middelste pin naar de plus en de meest rechter pin naar de min.
Nu ga je het programma van de LCD zo aanpassen dat je de I2C LCD ermee kan aansturen.
Zorg ervoor dat je de wire en de LiquidCrystal_I2C library hebt geïmporteerd. Zodra je die hebt kan je een paar kleine aanpassingen maken en dan werkt je programma ook op een I2C LCD beeldscherm.
//hier importeren we de juiste librarys
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <dht.h>
//hier laten we het programma weten wat het I2C adres
//is en dat het een 16 bij 2 beeldscherm is
LiquidCrystal_I2C lcd(0x3F,20,4);
dht DHT;
#define DHT11_PIN 8
void setup(){
lcd.begin(16, 2);
//hier initializeren we de lampjes van
//het beeldscherm het is belangrijk dat je 2 keer
//lcd.init() hebt wantanders werkt je programma niet
lcd.init();
lcd.init();
lcd.backlight();
}
void loop()
{
int chk = DHT.read11(DHT11_PIN);
lcd.setCursor(2,0);
lcd.print(“Temp: “);
lcd.print(DHT.temperature – 8);
lcd.print(“C”);
lcd.setCursor(2,1);
lcd.print(“Humi: %”);
lcd.print(DHT.humidity);
delay(2000);
}