-
Thread
DS18B20 probleme mit Pull-Up
// 480 us DS1820_DDR &= ~(1<<used_pin); // define as input DS1820_PORT |= 1<<used_pin; //Pullup on delay_us(80); // 80 us err = (DS1820_PIN & (1<<used_pin)) >> used_pin
; DS1820_DDR &= ~(1<<used_pin); // define as input DS1820_PORT |= 1<<used_pin; //Pullup on _delay_us(4); } if (wrbit ==1) { DS1820_DDR |= 1<<used_pin; // define
-
Thread
DS1820 defekt?
Hast du den DS1820 einmal falsch angeschlossen?
Hier ist das Programm im Anhang Am Display steht 0 DS1820 Aktiv
-
Thread
DS1820 - spricht nicht an ...
mein Testprogramm ... : .equ ds1820_ctrl_port = PORTA .equ ds1820_ctrl_ddr = DDRA .equ ds1820_in_port = PINA .equ ds1820_1wr_bit = 5 ;returns: ;Z=0: Okay ;Z=1: Fehler: Timeout ds1820_reset_pulse: push r16 ;Register sichern push r17 ;Register sichern sbi ds1820_ctrl_ddr,ds1820_1wr_bit ;Port für 1-wire auf Ausgang cbi ds1820_ctrl_port,ds1820_1wr_bit ;low = Reset rcall delay500us ;Wartezeit min. 480us cbi ds1820_ctrl_ddr,ds1820_
-
Thread
DS1820, DS18B20 in C
Hallo! Wo ich syscode ds1820.obj erhalten kann, das ich im Programm benötige. Danke!
Messung der Luftfeuchte (psychometer) mittels DS1820 Also ich habe das jetzt so gemacht. 2x Ds1820 mit 0.1C auslösung (formel siehe datenblatt) 1x ATmega8 1x LCD 2x40 1x Modul mit lüfter + bewässerung (eigenbau) Routinen von Peter mit
-
Thread
Sensor TS 1820
im Beitrag #5670733: > Im Netz habe ich nichts gefunden, nichtmal den Typ TS1820, sondern nur > DS1820 - sind das die gleichen? Könnte doch gut sein, dass der Hersteller der Regelung TS1820 als Hausbezeichnung für seine speziell verpackten DS1820 verwendet hat. Versuch macht klug. Der DS1820 wird
hinz schrieb im Beitrag #5670865: > DS1820 und DS18S20 sind nahezu gleich, DS18B20 kann einiges mehr. Der DS18B20 ist ähnlich, aber nicht zu DS1820/DS18S20 kompatibel.
-
Thread
DS1820 Code + Atmel90S8515
500µs drücken kann. Aber ich hoffe mal, dass es dem DS1820 nichts ausmacht, wenn der Reset Puls mal so um die 1/4 Sekunde lang ist. Ziel der ganzen Sache: Rausfinden ob der DS1820 daran Schuld ist, dass der Presence Puls nicht bis auf 0 runter geht oder
neben DQ(3) sollte stehen: DS1820, hab mich versehntlich verdruckt!
-
Thread
Delay mit Timer
lucas, ich habe für dich anhand zweier Datenblätter das Timing in kontrolliert und angepasst. ds1820_wr_bit(uint8_t wrbit,uint8_t used_pin) ds1820_re_bit(uint8_t used_pin) Warum man da noch die Bitnummer übergibt ist völlig unklar und uneffizient ! Sind ja schon Defines DS1820_DDR DS1820_PORT [c]DS1820_DDR |= 1<<used_pin; DS1820_PORT &= ~(1<<used_pin);[/c] das ist richtig Rechenaufwand und wird voraussichtlich das DS18S20 Timing zerstören ! Ich würde konsequent nur Defines verwenden DS1820_
-
Thread
Temperatur Sensor mit 3 Leitungstechnik
dann kanns fast nur der sein. Das Protokoll ist schon recht spezifisch. Es gibt allerdings auch DS1820 und DS18S20, die unterscheiden sich jedoch nur leicht in der Auflösung. https://www.electronicwings.com/components/ds1820-1-wire-digital-thermometer
. Wo liegt denn der Unterschied zwischen DS1820 und DS18S20?
-
Thread
DS1820 timing problem
in ds1820.c ein korrektes F_CPU?
folgendes: [c] #define F_CPU 4000000UL #include <avr/io.h> #include <util/delay.h> #include "ds1820.h" int main(void) { ds1820_init(); } [/c] die ds1820.c sieht so aus: [c] #include <avr/io.h> #include <util/delay.h> #include "ds1820.h" uint8_t ds1820_init(void) { uint8
-
Thread
DS18B20 Temperaturberechnung
temp == 850) { return 85; } else { uint8_t i = 0; itoa(temp, DS1820[DS1820_count].temperatur, 10); // die Zahl in einen String umwandeln while (DS1820[DS1820_count].temperatur[i]) // die Position der terminierende /0 finden i++; DS1820[DS1820_count].temperatur[i] = DS1820[DS1820_count].temperatur[i - 1]; // die Nachkommastelle nach rechts schieben DS1820[DS1820_count].temperatur[i - 1] = '.';
-
Thread
DS1820: Wie gut?
Hallo Gemeinde, kurze Frage: Wie gut/genau ist eigentlich der Dallas DS1820? Es gibt ja unzählige andere Sensoren, die auch die Temperatur messen können... Wie schneidet der DS1820 im direkten Vergleich zu Sensirion SHT21 und den Bosch-Sensoren BMP180 BME280 BME680
Stefan S. schrieb im Beitrag #5169334: > Ich frage deshalb, da ich mittlerweile ca. 5x DS1820 verbaut habe und > jeder Sensor irgendwie etwas anderes misst. Die Werte schwanken hierbei > doch sehr... Die DS1820 brauchst Du nur anzuhauchen, dann gehen die sofort ab. Will sagen, dass die
-
Thread
Hilfe zu DS18S20
return true; } int main(void) { AVR_Init(); LCD_Init(); LCD_Start(); LCD_Clear(); DS1820_Init(); for (;;) { if (DS1820_Reset()) TRACE("ds1820"); else TRACE("no ds1820"); waitforKey(); _delay_ms(100); } } [/c]
("no ds1820"); DS1820_WriteByte(0x33); // read rom cmd byte romcode[8]; for (byte n= 0; n < 8; ++n) romcode[n]= DS1820_ReadByte(); Print_LCD("\n"); for (byte n= 0; n < 8; ++n)
-
Thread
Thermometerbau mit MEGA 8
DS1820
> DS1820, wenn er erstmal tut, ohne weiteres Zutun auf ein halbes Grad genau Das stimmt nicht (siehe ein paar Kommentare weiter oben). Der DS1820 hat zwar eine Temperaturzone, in der er so genau ist, aber
-
Thread
DS1820, Sendet außer Presence nichts zurück.
Hallo, Habe Probleme damit einen DS1820 Temperatursensor auszulesen, welcher an einem Atmega16 hängt. Er hängt an Port B0, und hat einen 4,7K Ohm-Pullup. Das Programm sieht zum Reset des DS1820 einen 600us-Low vor, danach meldet er
,0); //DS1820 Auswählen One_Wire_Send(0xFF,0); //DS1820 Auswählen One_Wire_Send(0xFF,0); //DS1820 Auswählen One_Wire_Send(0xFF,0); //DS1820 Auswählen One_Wire_Send(0xFF,0); //DS1820 Auswählen
-
Thread
DS18S20 - STK200 mit 8515 Controller
Es fehlen mindestens die Definitionen der Funktionen w1_init(), w1_search() und ds1820_temperature_10(). Die sind ja im Code angegeben Stefan!? devices=w1_search(0xf0,rom_code); . . . temp=ds1820_temperature_10(&rom_code[i][0]);
Oder kann mir jemand einen fertigen DS1820 Code für den 8515 geben, dass ich mal ein Ergebnis sehen kann?
-
Thread
DS18B20 Datenformat
_1(0x20 | i, s[i]); } void main(void) { unsigned char temp_po_str[8]; float temp_po; ds1820_init(DS1820_pin_po); //Initialize DS1820 Lufttemp temp_po = ds1820_read_temp(DS1820_pin_po);//Get temperature from DS1820 Lufttemp sprintf(temp_po_str,"%.0f",temp_po); //Convert temp. Lufttemp
char temp_S1_LUFT_Str[8]; float temp_S1_LUFT; START_DISPLAYS(i); while(1) { ds1820_init(DS1820_pin_po); //Initialize DS1820 Sensor 1 Luft temp_S1_LUFT = ds1820_read_temp(DS1820_pin_po); //temperature from Sensor 1 Luft(float) char WERT_Temp_Luft[8];
-
Thread
DS18S20, DS18B20, DS1820?!
Ich habe in einigen Schaltungen den DS1820 verbaut. Und benötige nun einen baugleichen. Welches ist der Baugleiceh?!? Ist der B oder der S der DS1820?! Oder ist der DS1820 ohne B oder S ein ganz andere?! Ich dachte es gibt nur die 9 und
den > The DS18S20 is only recommended for an application that is > currently using the original DS1820" Da sagt der Hersteller aber nur, daß der DS18S20 NUR für Anwendungen empfohlen wird, die derzeit den original DS1820 verwenden; er sagt allerdings nicht, daß als DS1820 Ersatz NUR der DS18S20 empfohlen
-
Thread
DS1820 liefert immer den gleichen wert
naja, der DS1820 heißt in Wirklichkeit genau DS18S20
vor allem die ID von was? dem DS1820?
-
Thread
Hat mir Reichelt was falsch geliefert ?
Habe beim Reichelt gerade DS18S20 bestellt. Steht zwar bei dem Artikel dabei "der Aufdruck wäre DS1820" Auf dem Sensor steht folgendes: DALLAS DS1820 1305C4 +650AA Ich glabe zu wissen, es gab mal DS1820 , also die "alten" dann gibt es B und S Typen Ist es jetzt ein S oder doch ein alter
Auf meinen DS18S20 von Pollin steht DS1820 drauf. Hab ich aber noch nicht im Einsatz gehabt;)
-
Thread
ds1820 Verwaltungsprogramm
;i++){ if(ds1820table[i]>0x0fff){ lg(2,1);for(jj=0;jj<8;jj++)lcd_hx(ds1820ids_tmp[i*8+jj]); for(j=0;j<MAX_ROMS;j++) { lg(4,1);for(jj=0;jj<8;jj++)lcd_hx(ds1820ids
. der Zugriff auf die Sensoren erfolgt dann über die im array abgespeicherte Position. [c] ds1820table[0]=9; ds1820table[1]=7; ds1820table[2]=2; ds1820table[3]=6; ds1820table[4]=0; ds1820table[5]=4; ds1820table[6]=8; ds1820table[7]=3; ds1820table[8]=5; ds1820table[9]=
-
Thread
2 Dallas ds18s20 haben 3 Grad Unterschied
Die DS18S20, die ich von Maxim bekommen habe, haben auch nur DS1820 draufstehen, ja.
Wie verpackt man einen DS1820 mit haushaltsüblichen Mitteln luftdicht in ein Schutzgas ??
-
Thread
raspberry pi zero: Kein Zugriff auf webserver mit lighttpd
timefmt "%s" set format x "%H:%M" set grid set key left box plot "/home/pi/Temperatur/gnuplot_temp_ds1820.dat" using 1:2 title "Temp" with lines [/c] ==> gnuplot_temp_ds1820.sh: [c] #!/bin/bash PLOT_CONFFILE="/home/pi/Temperatur/gnuplot_temp_ds1820.conf" PLOT_DATAFILE="/home/pi/Temperatur/gnuplot_temp_ds1820.dat" PLOT_DATETIME=$(/bin/date +%s) PLOT_TEMP=$(/usr/bin/python /home/pi/Temperatur/get_temp_ds1820.py) echo "$PLOT_DATETIME $PLOT_TEMP" >> $PLOT_DATAFILE cat $PLOT_CONFFILE | /usr/bin/gnuplot [/c] crontag -e: [c] 1 * * * * /home/pi/Temperatur/gnuplot_temp_ds1820.sh [/c]
-
Thread
DS1820
@ ThomasW Jeder DS1820 hat eine feste Adresse "eingebrannt" die man erst mal kennen muß, von jedem DS1820 die an dem Bus liegt. Mit dem Read_rom ( &H33) Befehl, kann man die Adresse aus dem DS 1820 auslesen. Es darf dann
ein kleiner Einstieg in Funktionen Aufruf nachher hiermit, irgendwo im Programm Temp = ds1820_read(1) Temp = ds1820_read(2) Function DS1820_read(byval nr As Integer) As word Hier kommt der Code rein z.B.: IF nr = 1 then adresse 1 IF nr = 2 then adresse 2 DS1820_read = ausgelesener
-
Thread
Problem mit Struct im Interrupt
Hakon Hennig schrieb im Beitrag #3494131: > volatile OWI_device * ds1820; Das ist nur ein Pointer. Und worauf zeigt der? > DS1820_ReadTemperature((*ds1820).bus, (*ds1820).id, true, false); C kennt den Zeigeroperator: DS1820_ReadTemperature(ds1820->bus, ds1820
Interruzpt abgefragt hatte funktionierte das so. Rufus Τ. Firefly schrieb im Beitrag #3494193: >> DS1820_ReadTemperature((*ds1820).bus, (*ds1820).id, true, false); > > C kennt den Zeigeroperator: > > DS1820_ReadTemperature(ds1820->bus, ds1820->id, true, false); > > Ist das nicht lesbarer?
-
Thread
DS1820 antwortet nicht
Hallo Leute! Versuche mich gerade an einem STK500 mit AT90S2313, an dem ein DS1820 angeschlossen ist. Der Code bewirkt folgendes: Schalte eine Board LED an und resette den DS1820; dann warte solange bis der DS1820 ein Low antwortet; wurde ein Low gesendet,dann Schalte die LED
ldi r16,31 rcall MCU_sleep1mueS cbi _I2C_PortDirection,_I2C_DataPin ;Sda = High DS1820_reset_wait: in r16,_I2C_InputPort andi r16,(1<<_I2C_DataPin) cpi r16,0 brne DS1820_reset_wait rjmp DS1820_reset_exit DS1820_reset_exit: rcall ErrorLed_off
-
Thread
DS18B20 Problem
die Temp. ausgelesen wird (im Anhang ist der Code für die Unterprogramme/Befehle): output_high(DS1820_DATA); if(!timer_DS1820) { timer_DS1820=TIMER_500msec; if(ds1820_present()) { DS_present=1; if(!conv) { ds1820_present(); ds1820_write_byte(SKIPROM); ds1820_write_byte(CONVERT); conv=1; } else { ds1820_present(); ds1820_write_byte(SKIPROM); ds1820_write_byte(READSCRATCH); conv=0;
-
Thread
DS1820
Hallo, Ich will einen DS18S20 auslesen... Ich benutze ienen Controller von Atmel mit nem Takt von 7,37 MHz. Die Prozeduren zum Reset, Schreiben und Lesen müssten eigentlich stimmen, hab mal ein Oszi dran gehangen... Doch irgendwie haut das noch nicht ganz hin... Könnt ihr mir weiter helfen? Hab meinen C-Code angehängt... Danke schön!
-
Thread
DS1820 Umrechnung
Der DS1820 hat den selben Familycode wie der DS18S20 -> 10h. Der DS1822 z.B. hat den Familycode 22h. Die Sensoren DS1820 und DS18S20 sind auch nicht baugleich. Der DS1820 arbeitet intern mit zwei Generatoren
Hier ist das Datenblatt des DS1820 Gruß John
-
Thread
1-Wire und DS1820 Testprog
Danke für deine Hinweise. Ich hab versucht den für den DS1820 Bit und Byte read/write Routinen zu erstellen. Leider funktioniert da, bis auf das initialisieren des DS1820, gar nichts :-( Vielleicht hat ja irgendwer lust, meinen Grauenvollen Quelltext anzugucken
wie ich das verstehe wird er jedesmal erst ausgelesen. Wäre es nicht einfacher ihn einmal für alle DS1820 auszulesen und die ROM Codes in einer Tabelle zu speichern. Zum ansprechen der enizelnen DS1820 dann auf den jeweiligen ROM Code in der Tabelle zuzugreifen? Bastian
-
Thread
Anfängerfrage: Temperaturgesteuerter Heizer
fürs erste weiterexperimentieren. > > Wo finde ich das? In der "Codesammlung", Suchbegriff DS1820
, die angeben an welchem Pin der DS1820 angeschlossen ist (W1_PIN et all) Das main ist ganz unten und macht nichts anderes als den DS1820 im 1 Sekundentakt auszulesen und das Messergebnis auf dem LCD auszugeben. Alle LCD Sachen sind mit
-
Thread
ATMEGA8 TEMPSensor --> Codegröße zu groß
Hallo Mit welcher Art sensor schaffe ich es den Code sehr klein zu halten? ich habe einen DS1820 am ATMEGA8 nur leider ist der code immer ca 50% (4K). Mit I²C kenne ich mich nicht aus aber kann man da Code sparen ? oder Kennt jemand für DS1820 1wire einen Simplen code zur abfrage? Analoge Sensoren
Hallo also Analog kommt nicht mehr in frage. ich mach ds1820 ... den ich möchte mehrer sensoren auswerten. und die ds1820 habe ich schon oft verbaut. ich habe jetzt eine DS1820 routine aus dem forum eingebaut und komme auf : Program: 6378 bytes (77.9%
-
Thread
Temperatur DS1820 ausgabe auf lcd
hallo, habe ein kleines testprogramm für den DS1820 funktioniert sowet,aber wie bekomme ich meine gemessene Temperatur aufs display. mfg kay
(evtl. hier posten)? schaltung ist so aufgebaut wie im daten blatt der DS1820 ist an PortD.0 angeschlossen sensor: gng->gnd , Vdd->5Volt , DQ->PD.0 mit Pullup 4,7K > - Hast du da wirklich einen ds1820 (beim Hersteller steht "No longer > available")? ja habe ich bei reichelt
-
Thread
Anlernprogramm ds1820
neu_sensors_eep=0; u8 zl_sensors_hw; u8 zl_sensors_hw_found; u32 neu_sensors_hw=0; #define eep_ds1820_adr 20 //eeprom_update_word(26,0xffff); //A. eeprom in array einlesen zl_sensors_eep=0; for(zl=0;zl<ds1820_max_sensors;zl++){ feld_eep[zl] = eeprom_read_word(eep_ds1820_adr+zl*2); lg
:");li(ds1820_valkk[zl_sensors_hw]); // eeprom_update_word((u16*)(eep_ds1820_adr+zl*2),ds1820_idkk[zl]); x=eep_ds1820_adr; x+=zl*2; lgi(4,1,x); //if(ds1820_idkk[zl]>0)eeprom_update_word(x,ds1820_idkk[zl]
-
Thread
Hilfe DS1820 und DS18b20 in c
// 480 us DS1820_DDR &= ~(1<<used_pin); // define as input DS1820_PORT |= 1<<used_pin; //Pullup on delay_us(66); // 66 us err = (DS1820_PIN & (1<<used_pin)) >> used_pin
DS1820_DDR &= ~(1<<used_pin); // define as input DS1820_PORT |= 1<<used_pin; //Pullup on delay_us(4); } if (wrbit ==1) { DS1820_DDR |= 1<<used_pin; // define
-
Thread
PT1000 & MAX31865: für Batteriebetrieb geeignet?
Häuschen stecken wenn man genau messen will. Der MAX lohnt nur, wenn man Temp ausserhalb des DS1820 messen will.
schaffst Du m.W. mit dem DS1820 auch.
-
Thread
Wie Uhr (Zeitmultiplex) und Auslesen DS1820, effektiv Parallelisieren?
Die Anzeige-Aktualisierung, sowie Uhr laufen komplett durch, da sie kurz sind, das auslesen des DS1820 dauert jedoch. Also muss das Auslesen des DS1820 immer wieder unterbrochen werden. Mein Problem ist nun dass mir meine Lösung des Auslesens des des DS1820 zu kompliziert erscheint. Denn ich muss
vom DS1820 wird ja furchtbar kompliziert. [c] int ReadTemp() { static int zustand=0; if(evente&0x04) { if ((ResetDS1820()==2)&&(zustand==0)) { zustand=1; } else if(zustand
-
Thread
RESET am DS1820 tut nicht
Display den Wert 0. Somit musste doch die Funktion korrekt sein. Das heisst doch auch, dass der DS1820 funktioniert oder?
Ich habe dan DS1820 ohne S bzw. B.
-
Thread
DS18B20 und Low Pegel
es der gleich Wert ist wie am obersten Widerstandsbeinchen oder am grünen Kabel. Code: .equ DS1820_REG = DDRB .equ DS1820_PORT = PORTB .equ DS1820_PIN = PINB .equ DS1820_WIRE = 0 ..... Gemessen 5,15V bei: cbi DS1820_PORT, DS1820_WIRE ; High cbi DS1820_REG, DS1820_WIRE main: rjmp main Gemessen 4,32V bei: cbi DS1820_PORT, DS1820_WIRE ; LOW sbi DS1820_REG, DS1820_WIRE main: rjmp main
-
Thread
Infineon XC888: Daten einlesen mit PORT
ein Starterkid Board mit dem Mikrocontroller XC888 besorgt. Darauf habe ich einen Temperatursensor DS1820 angepracht. Die Datenleitung vom DS1820 habe ich mit einem 4,7kOhm Widerstand auf Vcc (+5V) gelegt. Die anderen Leitungen sind an der Versorgungsspannung angeschlossen (+5V/GND). Laut Datenblatt habe
Die Verkabelung des DS1820 habe ich genau gemacht.
-
Thread
Relaisschaltung mit AVR verbinden
welche empfohlen. Warum nutzt Du nicht eine von denen? > >> Kommt es zur Temperaturerhöhung (DS1820) reagiert der AVR und schaltet >> das Relais ein und aus > > Moment. Dazu muß der Der AVR vom DS1820 zunächst die Temperatur > erfragen, dann muss er sie verarbeiten und dann entscheiden ob es
Thomas Berger schrieb im Beitrag #3055991: >> Dazu muß der Der AVR vom DS1820 zunächst die Temperatur erfragen, > na klar, das programm muss geschrieben werden sonst hat das hier kein > sinn ...wobei der DS1820 durchaus so einige Haken und Ösen (z.B. richtige Initialisierung
-
Thread
DS 1820 Frage
geändert um den 64 Bit ROM-Code auszulesen. Am Bildschirm wir aber nur 10 CA 66 70 03 08 bei dem einen DS 1820 und 10 CA 66 70 03 08 bei dem anderen DS 1820 angezeigt. Ich verwende am I2C Bus jeweils nur einen Sensor. Nun meine Frage, warum werden nicht mehr Bit ausgelesen? Kann es sein das die alten DS 1820
Es könnte zunächst mal daran liegen, daß der DS1820 gar kein I2C-Interface hat. Oliver
-
Thread
DS1820 und der neue DS18S20
zu dem Schluss gekommen, dass ich gar nicht im Besitz von DS18S20 bin sonder von deren Vorgängern DS1820 die 2000 überarbeitet wurden wie hier zu lesen ist: https://www.digitemp.com/docs/ds1820-report.pdf Und die auch kein TO92 Packing haben sondern etwa doppelt so lang wie TO29 sind. Das Erklärt
alten DS1820? klar. > Wenn ja, ähnelt sie meinen? Nein. Ich hab naemlich das Datenblatt gelesen. :-) Mit den Registern aus dem alten DS1820 konnte man sich die Temperatur auf 1/100Grad genau ausrechnen
-
Thread
ds1820 software probleme bascom
'dann "Minus" auf LCD ausgeben Ds1820 = 256 - Ds1820 'und negative Temperatur berechnen If Halb = 1 Then Ds1820 = Ds1820 - 1 'wenn Wert x.5 dann um 1 korrigieren Else
In C würde ich schreiben: [c] int ds1820; // ... ds1820 = onewread(9); if (ds1820 & (1<<8)) { ds1820 |= 0xFe00; }[/c] Was sich wohl so (oder zumindest so ähnlich) nach BASIC übersetzen lässt: [pre] '... Ds1820 = 1wread
-
Thread
Suche CodeVision-Programm für DS1820/DS18s20
bis jetzt am ende -9999 als messwert. hab ich hier im forum gelsen, dass das bedeutet, daß der DS1820 nicht erkannt wird. ist da ein softwarefehler auszuschliesen? beim programm von chris, bleibt er stehen bei 0 DS1820Device detected. ----------------------- und noch ne frage. ich hatte
mit meiner schaltung. los jungs und mädels, hier muss es doch jemanden gebn, der shon mal ein DS1820 benutzt hat. zur zeit versuch ichs mit diesem simplen programm, was ich hier im fproum gefunden habe, ich glaub von emil. ich bekomm wie gesagt als wert -9999, also er erkennt keinen DS1820.
-
Thread
DS18s20 Temperratur Berechnung Gesperrt
// 480 us DS1820_DDR &= ~(1<<used_pin); // define as input DS1820_PORT |= 1<<used_pin; //Pullup on _delay_us(66); // 66 us err = (DS1820_PIN & (1<<used_pin)) >> used_pin
; DS1820_DDR &= ~(1<<used_pin); // define as input DS1820_PORT |= 1<<used_pin; //Pullup on _delay_us(4); } if (wrbit ==1) { DS1820_DDR |= 1<<used_pin; // define
-
Thread
DS1820 läuft nicht!
Ok danke für die Info. CodeVision oder WINAVR, ich habe den DS1820 so eingebaut wie in der PDF Dokumentation vom DS1820 zu sehen ist. Ist dies auch wirklich korrekt so?
hat einen Pullup-Widerstand von der Größe 4,7kOhm bekommen. Ich habe nur mal die Funktion RESET DS1820 geschrieben. Die Funktion gibt eine 1 zurück wenn kein DS1820 erkannt wurde und 0 wenn DS1820 angeschlossen ist. Diese Funktion habe ich von einer Applikations PDF Datei. Auf meinem Display sehe
-
Thread
433Mhz RF Wireless Transmitter + Receiver
Hallo ich habe ein Projekt mit dem Atmega 32 und den DS 1820 mit Temperatur Ausgabe und Aufzeichnung auf SD Karte. Es funktioniert alles perfekt. 1 Wire. Einen Sensor DS 1820 möchte ich mit einen 433Mhz RF Wireless Transmitter + Receiver einbinden. Kann
Sensor nicht. Falls 1-wire dann > muss Strom in Spannung gewandelt werden. Der Sensor ist ein DS 1820. Dieser Sensor gibt die Pegel als Spannung aus. Der Sensor gibt den 1 wire Datenstrom direkt aus.
-
Thread
Sensoren & Conrad Experiment Interface
a high state via the 5K pull–up resistor . After detecting the rising edge on the I/O pin, the DS1820 waits 15–60 µs and then transmits the presence pulse (a low signal for 60–240 µs)." *DS1820 1–Wire Digital Thermometer* http://www.micro-ide.com/downloads/ds1820.pdf > Jedoch ist mein > Problem
im 10ms Bereich fürs Toggeln aus einem C++ Programm heraus bestätigen. Damit kannst du bei einem DS1820 definitiv nix reissen.
-
Thread
DS1820
hallo, befor ichs falsch zusammen löte. kann ich den DS1820 direkt an ein port von meinem controller hängen, also einfach nur eine leitung auf ground, und die datenleitung ans portpin?
Das mit dem Datenformat ist nicht schlimm. Man muß nur das Meßergebnis beim DS1820 3* nach links schieben und schon hauts hin. Hier ein Beispiel, welches einen DS1820 in 0,5°C und einen DS18B20 in 0,1°C Schritten anzeigt: http://www.mikrocontroller.net/forum/read-4-27035.html
-
Thread
DS18B20: Mehrere Sensoren am Bus, nur letzte Temp. stimmt
100°C, since it may not be able to sustain communications given the higher leakage currents the DS1820 exhibits at these temperatures. For applications in which such temperatures are likely, it is strongly recommended that VDD be applied to the DS1820. For situations where the bus master does not know whether the DS1820’s on the bus are parasite powered or supplied with external VDD, a provision is made in the DS1820 to signal the power supply scheme used. The bus master can determine if any DS1820’s are on the bus