dht 22 code
15 berichten
• Pagina 2 van 2 • 1, 2
Advertisement
Re: dht 22 code
kijk eens goed naar de programma zoals dht22 of dht22sensor en dat soort dingen, kan hij de lib vinden en heb je de goede lib?
haal wat regels uit elkaar dus doemaar 1 bewerking dan zie je in de foutenlijst waar het fout gaat.
zet meldingen aan etc.
haal wat regels uit elkaar dus doemaar 1 bewerking dan zie je in de foutenlijst waar het fout gaat.
zet meldingen aan etc.
paul deelen
shooter@home.nl
shooter@home.nl
Re: dht 22 code
het is gelukt , terug naar de basis gegaan en mills helemaal uitgezocht
[code][/cod
//Libraries
#include <DHT.h>;
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
//Constants
LiquidCrystal_I2C lcd(0x27,16,2);
#define DHTPIN 7 // what pin we're connected to
#define DHTTYPE DHT22 // DHT 22 (AM2302)
DHT dht(DHTPIN, DHTTYPE); //// Initialize DHT sensor for normal 16mhz Arduino
unsigned long previousMillis = 0; // will store last time LED was updated
// constants won't change:
const long interval = 2000; // interval at which to blink (milliseconds)
//Variables
int chk;
float hum; //Stores humidity value
float temp; //Stores temperature value
void setup()
{
Serial.begin(9600);
dht.begin();
lcd.init();
lcd.backlight();
lcd.setBacklight(HIGH);
}
void loop()
{
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
hum = dht.readHumidity();
temp= dht.readTemperature();
//Print temp and humidity values to serial monitor
lcd.setCursor(0,0);
lcd.print("Humidity: ");
lcd.print(hum);
lcd.print("%");
lcd.setCursor(0,1);
lcd.print("Temp: ");
lcd.print(temp);
lcd.println("Celcius");
}}
e]
[code][/cod
//Libraries
#include <DHT.h>;
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
//Constants
LiquidCrystal_I2C lcd(0x27,16,2);
#define DHTPIN 7 // what pin we're connected to
#define DHTTYPE DHT22 // DHT 22 (AM2302)
DHT dht(DHTPIN, DHTTYPE); //// Initialize DHT sensor for normal 16mhz Arduino
unsigned long previousMillis = 0; // will store last time LED was updated
// constants won't change:
const long interval = 2000; // interval at which to blink (milliseconds)
//Variables
int chk;
float hum; //Stores humidity value
float temp; //Stores temperature value
void setup()
{
Serial.begin(9600);
dht.begin();
lcd.init();
lcd.backlight();
lcd.setBacklight(HIGH);
}
void loop()
{
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
hum = dht.readHumidity();
temp= dht.readTemperature();
//Print temp and humidity values to serial monitor
lcd.setCursor(0,0);
lcd.print("Humidity: ");
lcd.print(hum);
lcd.print("%");
lcd.setCursor(0,1);
lcd.print("Temp: ");
lcd.print(temp);
lcd.println("Celcius");
}}
e]
Re: dht 22 code
Dat ziet er goed uit
Een paar tips:
Je kunt de 'interval' ook een 'unsigned long' maken.
Soms wordt daar een getal voor gebruikt, of een 'int' variabele of een 'long'. Als je de interval ook 'unsigned long' maakt, dan is alles duidelijker.
Let je een beetje op de haakjes en het inspringen ? Je kunt op Ctrl+T drukken. Die standaard opmaak vind ik niet mooi, het is mogelijk om de Arduino IDE aan te passen naar een andere stijl.
Wil je de luchtvochtigheid met twee decimalen afdrukken ? Je kunt het met nul decimalen afdrukken door: "lcd.print(hum, 0);".
De luchtvochtigheid van een DHT22 kan zomaar 10, 20 of zelfs 40% afwijken. Dus nauwkeurig is het toch al niet.
Je kunt bovenaan als commentaar toevoegen voor welk Arduino board het is.
Er zijn (te) veel "LiquidCrystal_I2C" libraries. Je kunt er bij zetten welke je hebt en hoe je die hebt geïnstalleerd. Dan weet je later voor jezelf ook nog welke het was.
Als je deze sketch gaat uitbreiden, dan kun je deze sketch beter kopiëren en een nieuwe naam geven. Dan heb je deze werkende sketch altijd nog.
Een paar tips:
Je kunt de 'interval' ook een 'unsigned long' maken.
Soms wordt daar een getal voor gebruikt, of een 'int' variabele of een 'long'. Als je de interval ook 'unsigned long' maakt, dan is alles duidelijker.
Let je een beetje op de haakjes en het inspringen ? Je kunt op Ctrl+T drukken. Die standaard opmaak vind ik niet mooi, het is mogelijk om de Arduino IDE aan te passen naar een andere stijl.
Wil je de luchtvochtigheid met twee decimalen afdrukken ? Je kunt het met nul decimalen afdrukken door: "lcd.print(hum, 0);".
De luchtvochtigheid van een DHT22 kan zomaar 10, 20 of zelfs 40% afwijken. Dus nauwkeurig is het toch al niet.
Je kunt bovenaan als commentaar toevoegen voor welk Arduino board het is.
Er zijn (te) veel "LiquidCrystal_I2C" libraries. Je kunt er bij zetten welke je hebt en hoe je die hebt geïnstalleerd. Dan weet je later voor jezelf ook nog welke het was.
Als je deze sketch gaat uitbreiden, dan kun je deze sketch beter kopiëren en een nieuwe naam geven. Dan heb je deze werkende sketch altijd nog.
Re: dht 22 code
zo iets wat bijgewerkt nu met een schakeling er in
koepel thanks voor uitleg
alleen inspringen nog niet gedaan
[code][/// dit alles op een mega 2560 laten draaien, de delay zijn er uit dus met mills werkt prima
// voor display i2c adress scannen
//Libraries
#include <DHT.h>;
#include <LiquidCrystal_I2C.h>//<LiquidCrystal_I2C.h> // LCD library using from https://www.ardumotive.com/i2clcden.html for the i2c LCD library
#include <Wire.h>
//Constants
LiquidCrystal_I2C lcd(0x27,16,2);//let op gebruik eerst een i2c scanner voor het goede adres van de lcd https://playground.arduino.cc/Main/I2cScanner/
#define DHTPIN 7 // what pin we're connected to
#define DHTTYPE DHT22 // DHT 22 (AM2302)
DHT dht(DHTPIN, DHTTYPE); //// Initialize DHT sensor for normal 16mhz Arduino
unsigned long previousMillis = 0; // will store last time LED was updated
// constants won't change:
unsigned long interval = 2000; // interval at which to blink (milliseconds)
//Variables
int chk;
float hum; //Stores humidity value
float temp; //Stores temperature value
int FanRelay = 13;
void setup()
{
Serial.begin(9600);
dht.begin();
pinMode(FanRelay, OUTPUT);
lcd.init();
lcd.backlight();
lcd.setBacklight(HIGH);
}
void loop()
{
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
hum = dht.readHumidity();
temp= dht.readTemperature();
//Print temp and humidity values to serial monitor
lcd.setCursor(0,0);
lcd.print("Humidity: ");
lcd.print(hum);
lcd.print("%");
lcd.setCursor(0,1);
lcd.print("Temp: ");
lcd.print(temp);
lcd.println("Celcius");
{
if ((float)hum > 75){
digitalWrite(FanRelay, HIGH);
} else{
digitalWrite(FanRelay, LOW);
}
}
}}code]
15 berichten
• Pagina 2 van 2 • 1, 2
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 28 gasten