Da ich noch der Anfänger in µController bin, habe ich eine Frage zu
diesem Projekt:
Ich möchte eine Temperatur-Wert des DS1621 über der I2C zum Atmega16
geben und ihn über das Display ausgeben!
In die Display Ansteuerung habe ich mich schon eingearbeitet, mein
Problem liegt im bereich des DS1621 und dem I2C.
Gibt es ein deutsches HowToDo, oder eine deutsche I-Net-Seite wo man
gute Infos bekommt? Über die SuFu habe ich schon geschaut aber ich habe
nicht gefunden was mir Persönlich weiter geholfen hat.
Tip: komm erstmal mit MC im allgemeinen und AVR im speziellen
zurecht (Tutorial!), dann hilft es dir auch über die Suchfunktion
andere Beispiele zu I2C zu verstehen.
Der Rest ergibt sich dann wie von Zauberhand, oder evtl. mit
Nachfragen im Forum.
Es macht keinen Sinn, gleich mit einem Projekt anzufangen, wenn
man noch bei 0 steht. Dazu müsste jemand dir ein Tutorial genau
für dein Projekt schreiben.
Das verlangst du nicht wirklich, oder?
Es gibt hier bereits das eine oder andere Beispiel zu I2C.
Was genau hast du nach aufmerksamem Lesen daran nicht verstanden?
So ich habe jetzt die Lib vom Peter Fleury eingebunden.
Ich möchte mir die Temperatur erst mal in ganzen Grad Zahlen anzeigen
lassen also muss ich mir ja das höherwertige byte anschauen.
Aber leider Zeigt mir mein Display nur 255Grad an.
Bin ich denn Ansatz weise auf dem richtigen Weg?
Ist halt learning by doing bei mir!
Anm.: Bei der Abfrage habe ich vielleicht einen Bock drin! i2c_readAck()
der Fleury-Library liefert einen 8-Bit Rückgabewert.
http://homepage.hispeed.ch/peterfleury/group__pfleury__ic2master.html#ga6
Ob der 8-Bit Rückgabewert auf 16-Bit erweitert direkt der Temperatur
entspricht (so wie in deinem Quellcode und im verlinkten
Pollin-Beispiel), müsste ich mir erst wieder im Datenblatt des DS1621
ansehen. Zu lange her...
EDIT 1: Beitrag "Re: Problem beim auslesen den IIC"
EDIT 2: In der while() Schleife moch eine Wartefunktion (_delay_ms())
einbauen, um den Sensor nur in gewissen Zeitabständen abzufragen.
Danke schon mal für die Antwort,
A1 A2 A3 vom DS1621 liegen an Masse,
Pull up Widerstände sind drin siehe Schaltplan.
den MAX 485 wir erstmal vernachlässigt!
Als Anlage mal den Schaltplan und mein Projekt!
Thorsten B. schrieb:>> Die 2.te Sequenz muss ebenfalls ein Write sein und kein Read.>>> Ja, vielen vielen Dank!!!
Ich hab nicht mehr dazu getan, als Stafans Antworten zu lesen und das
Programm zu studieren, das er für dich korrigiert hat
Beitrag "Re: Atmega16, Ds1621, Display"
Natürlich auch besten Dank an Stefan er hatte ja die Lösung geschrieben
aber das "WRITE" hatte ich übersehen!
Schön das Ihr die Gedult habt, einen Anfänger hier so zu unterstüzen!
Echt vielen Dank!!
Hallo zusammen,
ich bin gerade auch dabei den Temperatursensor DS1621 an meinen ATMega
128 anzuschließen. Auch ich habe dafür die Libary von Peter Fleury
eingebunden und die main Funktion wie oben dargestellt.
Leider buggt mein Programm bereits nach diesem Befehl:
1
i2c_start(DS1621_Write);
denn die Funktion gibt eine 1 zurück. Hardwaretechnisch habe ich die
Adresspins alle auf Masse gelegt.
Folgende Fragen stellen sich mir jetzt:
1) Bei dem ATMega 128 liegt SCL an PD0 und SDA an PD1. Wie muss ich das
DDRD konfigurieren? Als Eingang oder Ausgang? Muss ich sonst noch was
für PortD beachten?
2) Der ATMega 128 hat ein Systemtakt von 16MHz. Was genau muss ich dann
bei der Initialisierung des I2C Bus beachten?
Kann mir da jemand weiterhelfen?
Schonmal Danke vorab.
Hallo,
genau zu diesem Baustein hab ich eine Frage.
Wie erstelle ich im LCD 2. Zeile links einen "min" Wert, in der mitte
den aktuellen wert und rechts den max wert?
1. kapert man nicht fremde Threads
2. solltest du auch sagebn, welchen der hier vokommenden Bausteine du
brauchst
3. steht doch alles in Beispielen und im Tutorial.