Helfen Sie mir festsetzen PIC16F84 Thermometer mit Sensor DS18B20

B

Bogdan123

Guest
Hallo wieder. Ich baute das Thermometer auf dieser Seite www.coolcircuit.com/project/digitemp/ , aber es funktioniert nicht ordnungsgemäß. Das LCD Display zeigt mir nur TEMP: zeigt aber nicht den Sensor Temperatur. Ich stelle fest, dass der Sensor ein DS18B20 ist. Kann mir jemand helfen zu sehen, was nicht richtig funktioniert?
 
Ich habe temp Anzeige auf dem LCD & 1 o \\ p Controller throue Relais. seine auf der Grundlage pic 16f 676. wenn notwendig. pl Mail-Benachrichtigung bei [{} {shivendrakumarsahu77@yahoo.com shivendrakumarsahu@gmail.com}]
 
Hallo, Die Schaltung ist mit dem DS1820 Sensor gezeigt, nehme ich an du meinst, du hast die DS18B20 Sensor obwohl vitrually identisch die B-Version hat eine höhere Auflösung etc, dass der Grund es nicht funktioniert werden kann. Immer, wenn ich sehe eine Pic 16F84 Chip eingesetzt ich in der Regel übernehmen die Schaltung ist 10 Jahre alt, konnte so viele Komponenten zu verwenden obselete. Chips wie der 16F628 sind das moderne Äquivalent der 84. Die Dallas-Sensoren sind schwierig zu bekommen Arbeiten in den besten Zeiten, warum nicht ein bescheidener NTC gebraucht, sehr billig und verfügbar, sowie viele pic Schaltungen zu finden.
 
In main (), versuchen Sie die \\ n aus der zweiten printf ()-Aufruf, so wird der Code:
Code:
 lcd_putc ("\\ f"); printf (lcd_putc, "Temp"); printf (lcd_putc, "% u.% u'C "temp, temp_dec); delay_ms (1000);
Das \\ n in den originalen Code bewirkt, dass der Code zu schreiben, um Standorte in der LCD-Treiber-Speicher, die normalerweise für die 2. eingesetzt werden würde Linie auf einem 2-zeiliges Display, aber auch für die rechte Hälfte eines 1-zeiliges Display, je nach Treiber verwendet werden könnten genutzt. Da man in der Lage, die sich "Temp" gedruckt OK, es klingt wie das LCD-Modul Sie verwenden einen Treiber, welcher Befehl-kompatibel mit dem von der coolcircuit Entwickler verwendet wird, aber die Karten der Charakter Positionen anders - durch Entfernen des \\ n Ich gehe davon aus Ihren LCD-Karten die gesamte Zeile auf einem einzigen zusammenhängenden Speicherblock ...
 
Vielen Dank für Ihre Beiträge. Ich mache die Änderungen ans sehen.
 
Ich habe es geschafft, das Programm zu kompilieren, und jetzt zeigt die Temperatur, aber es zeigt, wie 72 Grad C. Vielleicht ist die Verzögerung für DS18B20 falsch. Online habe ich herausgefunden, dass: "Die primäre Spezifikation Unterschied zwischen den beiden Teilen ist die Temperatur Umbauzeit. DS1820 = 500ms (max) und DS18S20 = 750ms (max)" Die Datei mit dem Namen ds1820.c kann somit den Sensor modifiziert werden, um die richtige Temperatur zu zeigen?
 
Hallo, kann nicht mit dem C-Code zu helfen, aber Sie haben plötzlich ein dritter Sensor erwähnt - die DS18S20 in der Post. Eine schnelle Suche kam mit dieser Info, die helfen könnte. Zitat: Es gibt 3 digitale Temperatursensoren, so sicher sein, das richtige zu bekommen. Es ist das Jahr 1820, 18S20 und 18B20. Der 18S20 ist der Nachfolger des 1820, und nicht über die Zeit driften. Die 18B20 nicht bieten schnellere Umbauten, aber für mich, der 18S20 mehr leichter verfügbar und passt meine Anwendungen gut. Beachten Sie, dass die 18B20 tut verschiedenen Methoden der Temperatur Konvertierung erfordern dann in diesem Handbuch für den 18S20 beschrieben.
 
ich danke Ihnen für Ihren Beitrag. was Sie haben mir gesagt, bringt mich in eine tiefere Nebel, weil ich keine Programmiererfahrung haben, und ich weiß nicht, was als nächstes zu tun.
 
Hey ist dieses Threads noch aktiv ... Nur ich konnte auch mit etwas Hilfe und Beratung zu tun ... Ich bin mit einem 16F684 mit einem DS18B20
 

Welcome to EDABoard.com

Sponsor

Back
Top