Forum: Mikrocontroller und Digitale Elektronik arduino hysterese mit ds18b20


von david (Gast)


Lesenswert?

hallo.ich versuche es schon mehrere tage aber ohne erfolg stat  analog 
lm35 sensor  digital ds18b20 sensor verwenden. 
kann mir jemand bitte helfen bzw.Sketch-code schreiben,so das der CODE 
mit ds 18b20 funktioniert.danke





#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define sensorPin 0   // analog lm35 sensor
#define DELAY1 10
#define DELAY2 500
#define motorPin 9
#define threshold 25
#define hysterese 1
const int cycles = 20;
LiquidCrystal_I2C lcd(0X27,16,2)


void setup() {

pinMode(motorPin,OUTPUT);
lcd.init();

lcd.backlight();

}


void loop()
{

float resultTemp = 0.0;
for(int i = 0; i < cycles; i++){
int analogValue = analogRead(sensorPin);
float temperature = (5.0 * 100.0 * analogValue) / 1024;
  resultTemp += temperature;
  delay(DELAY1);
}
resultTemp /= cycles;
lcd.clear();
lcd.print("Temp:");
lcd.print(resultTemp);
#if ARDUINO < 100
lcd.print(0xD0 + 15, BYTE);
#else
lcd.write(0xD0 + 15);
#endif
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("MOTOR: ");
if(resultTemp > (threshold + hysterese))
digitalWrite(motorPin,HIGH);
if(resultTemp < (threshold + hysterese))
digitalWrite(motorPin,LOW);
lcd.print(digitalRead(motorPin) == HIGH?"an":"aus");
delay(DELAY2);

}

von DraconiX (Gast)


Lesenswert?

Der DS18B20 ist eine OneWire Device, da kommst du mit deiner Analogen 
Abfrage wie im Code nicht sehr weit, und mit ein "bisschen digital" auch 
nicht.

Hier ist das Datenblatt zum DS18B20, dort wird gaaaanz genau erklärt wie 
die Abfrage zu Erfolgen hat. Wenn du selbst mit dem Datenblatt nicht 
mehr weiterweist - ja dann - sorry - dann suche dir bitte ein anderes 
Hobby. Denn gerade der DS18B20 ist ein Paradbeispiel von vorbildlichem 
Datenblatt in Bezug auf die Programmierung.

von Joachim B. (jar)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.