DS18B20 an Arduino

Gast #4807506
Lesenswert?

Ich weiß, dass es hierzu unzählige Beiträge gibt. Leider habe ich alles 
versucht und nichts hat funktioniert.

Gekauft habe ich diese : http://www.ebay.de/itm/122233116124

Jetzt habe ich schon mehrere Stunden versucht aber es läuft immer darauf 
hinaus, dass kein Device gefunden wird oder keine Adresse abrufbar ist 
etc.

Ich habe verschiedenste Programme getestet (auch die Beispiel codes der 
jeweiligen Bibliotheken) unterschiedliche Widerstände, andere Pins und 
auch mehrere Nanos. Schön langsam glaube ich, dass die Sensoren defekt 
sind.... aber gleich 5 stück ?

Bin mit meinem Latein grad ein wenig am Ende.... kann mir da jemand ein 
paar Tipps geben?

Das war eine der Anleitungen die ich getestet hatte :
https://www.hacktronics.com/Tutorials/arduino-1-wire-tutorial.html


Grüße
Gast #4807522
Lesenswert?

habe es gerade so wei in deisem Video versucht:
https://www.youtube.com/watch?v=1GD29sXLOJ0

Leider bekomme ich nur -127 zurück.


1
#include <DallasTemperature.h>
2

3
#include <OneWire.h>
4

5

6

7
OneWire oneWire(2);
8

9
DallasTemperature sensors (&oneWire);
10

11

12
void setup() {
13

14
sensors.begin();
15
Serial.begin(9600);
16
}
17

18
void loop() {
19

20
sensors.requestTemperatures();
21
float currentTemp;
22
currentTemp = sensors.getTempCByIndex(0);
23

24
Serial.println(currentTemp);
25
delay(2000);
26

27
}
#4807544
Lesenswert?

Ich habe zwar keine Ahnung von den Arduino-Bibliotheken, aber:

zwischem den Convert-Befehl an den Seonsor (requestTemperatues 
vermutlich) und dem Lesen des Scratchpads des Sensors muss einen 
bestimmte Zeitspanne liegen (bis zu 750ms bei hoher Genauigkeit). 
Deswegen muss da vermutlich ein delay dazwischen.

Das Lesen von 1-en (Wert 127) deutet auf einen busy-status des Sensors 
hin.

Aber wie gesagt: Vermutung, da ich die Arduino- Bibs nicht kennen.
#4807547
Lesenswert?

Wilhelm M. schrieb:
> Ich habe zwar keine Ahnung von den Arduino-Bibliotheken, aber:
>
> zwischem den Convert-Befehl an den Seonsor (requestTemperatues
> vermutlich) und dem Lesen des Scratchpads des Sensors muss einen
> bestimmte Zeitspanne liegen (bis zu 750ms bei hoher Genauigkeit).
> Deswegen muss da vermutlich ein delay dazwischen.
>
> Das Lesen von 1-en (Wert 127) deutet auf einen busy-status des Sensors
> hin.
>
> Aber wie gesagt: Vermutung, da ich die Arduino- Bibs nicht kennen.

Jetzt war ich zu langsam zum Bearbeiten:

wollte noch hinzufügen: bekommt man bei Arduino keine Fehlercodes o.ä.?
Persönliche Seite #4807551
Lesenswert?

Aus deinen Link
1
Navigate to the "arduino_ds18b20_temperature_sensor" folder and select the "arduino_ds18b20_temperature_sensor.pde” file.
2
 
3
Now you need to identify your individual DS18B20 sensors by their serial numbers.  Luckily we have provided a tutorial for you here.
4
 
5
After you include the addresses of your sensors in the sketch, transfer the program to your Arduino by clicking the “Upload to I/O board” button. After uploading, open the Arduino serial monitor by clicking Tools->Serial Monitor.
Hast du das gemacht mit der ID zuweisung?
Im Beispiel werden 3 Sensoren verwendet und hast du auch 3 oder die 
Anzahl der Sensoren Angepasst?
In deiner Vorgabe gibts du dazu nichts an.
Gast #4807626
Lesenswert?

Das mit dem 750ms warten zwischen request und auslesen stimmt, die muss 
man ihm lassen. Bei der Bibliothek die ich benutzt hab konnte man wählen 
ob das die Bib machen sollte (und das Programm solange stehen bleibt) 
oder sie nicht aufs Timing achtet und einfach weiterläuft (und man das 
Timing selber machen muss).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren