Hallo, Wie schickt man dem DS1620 Daten? Mit dem UART oder? Gibt es eine Library für die AVR? Hab nämnlich bisher nur Code für 8051 gefunden. MfG Inox
UART um den Messwert an den PC weiterzugeben. Mit dem Sensor selbst redet der AVR über einen 1-Wire Bus, der beim AVR an einem nahezu beliebigen Pin eingerichtet werden kann. In der Codesammlung finde ich auf die Schnelle auch nix. Such mal so hier im µC & Elektronik-Forum: http://www.mikrocontroller.net/forum/mikrocontroller-elektronik?filter=ds1620 2. Treffer ist die Frage von Autor Oliver P. Da sind Routinen für Atmega16 in C drin. Die sollten sich umschreiben lassen. Kannst du C?
C kann ich einigermaßen. Laut Datenblatt ist das aber en 3-Wire Bus. Das Problem bei Oliver P.s Code ist, dass er nicht seine 1620.h mitgeschickt hat. Weil sein Code schien ja den Sensor ordnungsgemäß lesen zu können. MfG Inox
Hast Recht, sorry!!! Hier schon mal prophylaktisch für mich der Link zum Datenblatt, wenn weitere Fragen auftauchen oder Behauptungen zu machen sind ;-) http://pdfserv.maxim-ic.com/en/ds/DS1620.pdf In der ds1620.h stehen sicher die Definitionen drin, an welchem Port der Sensor hängt und welche Pins für welche Leitung benutzt wird. Es sollte nicht schwer sein, das selbst zu schreiben. Also in der Art (Port und Pins je nach Hardwareaufbau)
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
> In der ds1620.h stehen sicher die Definitionen drin, an welchem Port der > Sensor hängt und welche Pins für welche Leitung benutzt wird. Es sollte > nicht schwer sein, das selbst zu schreiben. > > Also in der Art (Port und Pins je nach Hardwareaufbau) Schonmal ein wichtiger Hinweis! > >
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
Hab noch nie eine Header-Datei geschrieben. Aber vom Prinzip her muss ich nur die Header Datei anpassen und dann könnte ich den Code benutzen?
Daniel B. wrote: > Hab noch nie eine Header-Datei geschrieben. Dann wird es Zeit! Braucht man doch bei C alle Nase lang, wenn man ein Programm in mehrere übersichtlichere Module aufteilt. Da gibt es auch einiges in der Artikelsammlung unter dem Stichwort [[Include-Files (C)]] und natürlich im AVR-GCC-Tutorial Prototypen und extern Deklaration hat mal Karl heinz Buchegger ausführlich erklärt: Beitrag "Re: Den Befehl extern" > Aber vom Prinzip her muss ich nur die Header Datei anpassen und dann > könnte ich den Code benutzen? Denke schon. Probier's und melde dich mit dem Projekt als Archiv im Anhang, wenn es hakt. Simulieren/Debuggen kann ich, nur den Sensor habe ich nicht da.
Hallo, da atmega32user so nett war mir die Header Datei zu schicken, muss ich jetzt nur noch die schon vorhandene Header-Datei anpassen. :-)
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
Das was dabei rauskommt poste ich dann wieder... MfG Inox
So das mit dem Anpassen ging ziemlich schnell :) Das was rausgekommen sieht so aus:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
Kann das richtig sein? MfG Inox
Die Frage wäre nur zu beantworten, wenn man den Schaltplan kennen würde. Also wo der DS1620 wie an den Attiny2313 angeschlossen ist. Das betrifft die #define Zeilen. In den anderen Zeilen sehe ich keine Kommentare von dir, dass du dort was geändert hast, hast du nicht, oder?
Ja so wie ich die #defines gemacht hab werd ich auch anschließen also: DQ-->PB2 CLK-->PB1 RES-->PB0 Am Rest hab ich nichts geändert, weil das ja für alle AVR gleich ist, oder? MfG Inox
Ja, ist es.
Mit ds1620_get_temp() lese ich die unteren acht Bit des Temperaturregisters aus. Das bedeutet ich lese die ganzzahlige Temperatur aus, richtig? Nur mal so nebenbei: Ich will den Senso für ein riesiges Outdoor-LED-Thermometer verwenden und deswegen kommt es mir nicht so auf die Genauigkeit an. Ich leg wahrscheinlich auch en Artikel im Wiki an, später. MfG Inox
Meine Ansicht zur Auswertung kannst du in der Diskussion mit Oliver P. nachlesen. Leider hat sich Oliver P. nicht mehr gemeldet und ich weiss nicht, ob das mit dem Kalibrieren und den Minusgraden und der Nachkommastelle geklappt hat. Na ja, wenn du schon misst, kannst du es auch genau machen. Sonst könntest du ja was preiswerteres als den 6,10€ (Reichelt) bzw. 6,10€ (Conrad) teuren DS1620 benutzen ;-)
Naja also ich hab für meinen DS1620 2,5€ bezahlt?! Ich bin einfach nur die Listen durchgegangen und da fand ich den^^ Nein aber ich nehme für eine LED-Reihe immer 2°C. Von daher muss es wirklich nicht genau sein und zudem hat der 2313 nicht gerade soviel Speicher. Und bezüglich meiner Frage, da wollte ich mich nochmal vergewissern, weil ihr habt ja als erstes die Alarmtemperaturen ausgelesen.... MfG Inox PS: Ich hätt auch lieber einen AVR mit ADC genommen, aber ich hab hier zuhaus noch 3 2313 herumliegen gehabt.
Ich hab nochmal nachgeschlagen ich hab genau 3,5€ bezahlt. Immer noch ziemlich günstig im Vergleich zu den Rei/Con Preisen. --->>> http://www.elpro.org/shop.php?p=DS%201620
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.