dht 22 code

algemene C code
Berichten: 25
Geregistreerd: 04 Dec 2019, 12:29

Re: dht 22 code

Berichtdoor Pipo » 19 Jan 2020, 19:05

ben aan het zoeken maar kom er nog niet goed uit

Advertisement

Berichten: 4067
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: dht 22 code

Berichtdoor shooter » 20 Jan 2020, 18:38

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.
paul deelen
shooter@home.nl

Berichten: 25
Geregistreerd: 04 Dec 2019, 12:29

Re: dht 22 code

Berichtdoor Pipo » 09 Feb 2020, 19:14

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]

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: dht 22 code

Berichtdoor Koepel » 09 Feb 2020, 19:51

Dat ziet er goed uit :D

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.

Berichten: 25
Geregistreerd: 04 Dec 2019, 12:29

Re: dht 22 code

Berichtdoor Pipo » 20 Feb 2020, 22:44


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]

Vorige

Terug naar C code

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 19 gasten