Pages: 1 [2]   Go Down
Author Topic: Anfänger - Hilfe bei DS1820 Temperatur auf LCD bringen.  (Read 2526 times)
0 Members and 1 Guest are viewing this topic.
Hamburg, Germany
Offline Offline
Sr. Member
****
Karma: 5
Posts: 291
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

bitte mal das ds1820 datenblatt lesen smiley-wink

natürlich pin3 vom ds1820 mit GND

im datenblatt steht das alles genau erkärt.
Logged


Rosrath
Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ah okay. also habe ich jetzt den pin3 (also der, der in der schaltung frei ist,) mit gnd verbunden.
das sieht nun bei mir so aus: http://cu-gang.de/pin4.pdf
jetzt habe ich aber pin 1 und 3 auf gnd? und es bleibt auf 85.
Logged

Heute ist die gute alte Zeit von Morgen ;-)

Offline Offline
Sr. Member
****
Karma: 2
Posts: 347
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Riin,
ich hab das gerade mal kurz nachgebaut.
Dein "simple" Sketch läuft problemlos und zeigt auch die richtige Temperatur an.
Hab nur den PIN10 benutzt sonst alles gelassen.
Du musst den mittleren Pin des 18S20 über den Widerstand an +5V und die beiden anderen einfach
zusammen auf Minus, dann sollte es eigentlich gehen.
Logged

Rosrath
Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

genau so wie in meiner letzten pdf. da sind pin 1 und 3 auf gnd. der mittlere über einen 4,7kohm an 5V und in der mitte noch an pin2.
bei mir zeigt er 85.00
auf dem DS1820 steht: DALLAS - DS1820 - 1034C4 - +850AL
liegt es evtl. an diesem Bauteil ?
Logged

Heute ist die gute alte Zeit von Morgen ;-)

Hamburg, Germany
Offline Offline
Sr. Member
****
Karma: 5
Posts: 291
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

und jetzt mal den ds 1820 mit ext. spannungsversorgung anschließen, da es ein DS18S20 zu sein scheint.

also pin 1 des ds1820 an GND, pin 2 an pin2 am arduino mit 4k7 resistor und Vdd an +5V Vcc.
« Last Edit: May 15, 2011, 01:38:12 pm by markbee » Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 29
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

also... http://cu-gang.de/ds1820.pdf    das sieht doch eigentlich ganz gut aus...

benutzt du auch die neuste version der Dallas libaries ? vlt ist die alte ja bisl buggie
Logged

Rosrath
Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

habe hier nur ein netzteil welches man auf 4,5V oder 6V einstellen kann. da kann ich es wohl nicht anschließen oder?
die neueste dallas library habe ich geladen. ich bin ganz schön verzweifelt. anscheinend funktioniert es bei jeden außer bei mir.
ps: vielleicht habe ich die dallas datei nicht richtig auf das arduini geladen, kann das sein? oder muss nur die pde datei auf's arduino?
Logged

Heute ist die gute alte Zeit von Morgen ;-)

Offline Offline
Newbie
*
Karma: 0
Posts: 29
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bei der Dallas Libary sind es meine ich 2 Ordner   ..

einmal die "dallas temp..." und die "OneWire" ... beide einfach in das verzeichnis arduino-002/libaries reinschmeißen...

Musste aber eigentlich richtig installiert haben.. sonst hätte die Arduino Ide den code nicht kompilieren können...
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 29
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Versuchs mal unabhängig von der dallas libarie

http://tutorialpedia.org/tutorials/Working+with+Dallas+DS18S20+and+DS18B20+temperature+sensors+from+Arduino.html


das erste programm liest dir die adresse des sensors aus ... diese adresse musste dann im 2ten sketch nur noch einfügen...

Logged

Rosrath
Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

guten morgen.

also die adresse konnte ich ohne probleme auslesen. das ergebnis lautet:
--Search started--
Device is a DS18S20 : 10-B1-8B-16-02-08-00-78
--Search ended--

beim kompletten übernehmen des zweiten programms, erhalte ich:

Temp = 29.75 F or -1.25 C

Das ist aber ein bisschen wenig als zimmertemperatur. habe ich schon wieder etwas falsch gemacht? in zeile 6 steht, ich soll die adresse vom ersten programm in die zeile einfügen, wenn ich dieses mache, bekomme ich wieder eine fehlermeldung.
Logged

Heute ist die gute alte Zeit von Morgen ;-)

Rosrath
Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo an alle,

pogg, danke für den link. der code funktioniert bei mir. die zimmertemperatur wird nun korrekt angezeigt. nun möchte ich den wert auf mein hd44780 display ausgeben. gibt es dafür einen einfachen code?
Logged

Heute ist die gute alte Zeit von Morgen ;-)

0
Offline Offline
Full Member
***
Karma: 3
Posts: 151
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,
ich kann das letzte Proramm leider nicht nachvollziehen. Übersetzung stolpert über den Begriff
"scratchpad". Nun scheint mir irgendeine Datei zu fehlen.
Aber eigentlich müssten die Exemples nun auch funktionieren. Was hast Du denn für einen Fehler in der
Beschaltung gefunden ? Würde ja auch Anderen helfen.

Gruss Kalli
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 29
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Na klar gibts für den LCD auch einen einfachen code (;
Schau mal unter   http://www.ladyada.net/learn/lcd/charlcd.html

im header
#include <LiquidCrystal.h>

ins setup kommt dann nur noch     LiquidCrystal lcd(7, 8, 9, 10, 11, 12);    je nachdem wie des angeschlossen hast.

lcd.begin(16, 2);  kommt auch hier wieder auf dein lcd an



und später iwann im code lcd.print(tmp2);  falls das noch die variable ist in der du die temperatur speicherst...

hoffe ich konnte dir wieder  n stückchen helfen (;
Logged

Rosrath
Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi kalli, wie schon gesagt, ich habe einfach den link gefolgt: http://tutorialpedia.org/tutorials/Working+with+Dallas+DS18S20+and+DS18B20+temperature+sensors+from+Arduino.html

Wenn ich den ersten Code eingebe, sagt mir der Serial Monitor:
--Search started--
Device is a DS18S20 : 10-B1-8B-16-02-08-00-78
--Search ended--

den Code übernehme ich in Zeile 7. also sieht er bei mir so aus:
byte sensor[8] = {0x10, 0xB1, 0x8B, 0x16, 0x02, 0x08, 0x00, 0x78};

beim klicken auf upload kommt direkt die fehlermeldung "scratchpad", also genau so wie du es geschrieben hast. der satz darüber ist unvollständig. er heisst: //CONVERT T function call (44h) which puts the temperature into the scratchpad
das einfachste ist natürlich scratchpad einfach zu löschen und darüber als letztes wort einzufügen.
jetzt klickst du wieder auf upload und es erscheint wieder eine fehlermeldung. es fehlt lediglich ein "/" am anfang. also ergänzen. dann sieht die zeile 63 so aus: // (COUNT PER Celsius Degree)
jetzt nochmal auf upload klicken und fertig :-)
nun steht bei mir im serial monitor: Temp = 76.10 F or 24.50 C

Pogg: danke für den link. diesen habe ich auch schon gefunden. ich habe mir dieses set gekauft: http://www.watterott.com/de/Electronic-brick-Starter-kit
jetzt muss ich erstmal rausfinden wo welche anschlüsse sind, damit ich das lcd vernünftig verbinden kann. ich hätte mir mal lieber ´n "normales" lcd kaufen sollen. das ist für mich blutigen anfänger noch ziemlich schwierig da durch zu sehen...
viele grüße rene :-)
Logged

Heute ist die gute alte Zeit von Morgen ;-)

Offline Offline
Sr. Member
****
Karma: 2
Posts: 347
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo riiin,
so wie du hab ich auch mal angefangen, es geht aber auch einfacher die Sensoren einzulesen, z.B.

sensors.begin(); sensoranzahl=sensors.getDeviceCount(), DEC; 

liest die Anzhal der angeschlossenen Sensoren  und die Prozedur

void SensorLesen(){
  sensors.requestTemperatures();
  Temperatur[0] = sensors.getTempC(Sensor0); Temperatur[1] = sensors.getTempC(Sensor1);
  Temperatur[2] = sensors.getTempC(Sensor2); Temperatur[3] = sensors.getTempC(Sensor3);
  Temperatur[4] = sensors.getTempC(Sensor4); Temperatur[5] = sensors.getTempC(Sensor5);
}

liest z.B sechs Sensoren ein und speichert die Temperaturen im array Temperatur.
insgesamt 5 Zeilen Code und alles ist erledigt.
Gruß
Bernward
Logged

Pages: 1 [2]   Go Up
Jump to: