-
Thread
C-Code optimieren (passt nicht in Attiny2313) :( Gesperrt
Hi zusammen, ich hab ein kleines C-Programm geschrieben dass mir zwei DS1621 Temp. Sensoren und einen ADS1112 AD Wandler abfrägt und auf einem LCD Display mit 4x20 Zeichen ausgibt. So, nun habe ich leider das Problem dass ich das Programm nicht in den Controller
TWI_ADR_BITS) | (TRUE<<TWI_READ_BIT); .... [/c] ich weiss zwar nicht was das 0xAA macht, das du zum DS1621 schickst, aber offenbar machst du mit dem Ergebnis nichts. Denn 2 Zeilen weiter drunter wird temp mit einem neuen Ergebnis überschrieben. Auch könnte man sich überlegen, ob man diese ganzen Teile
-
Thread
Liste von I2C Bausteinen
Hallo, Habe am I2C inzwischen folgende Bausteine verwendet: RTC + Temp-Sensor :DS3231 Temp-Sensor :DS1621 UKW-Stereo-Radio :TEA5767 Doch es gibt noch viele andere interessante Bausteine wie MCP23017 :16Bit IO-Expander mit Interruptfähigkeit 24AA64 :64K-Bit EEPROM Wenn man
#4153546: > Hallo, > > Habe am I2C inzwischen folgende Bausteine verwendet: > RTC + Temp-Sensor :DS3231 > Temp-Sensor :DS1621 > UKW-Stereo-Radio :TEA5767 > > Doch es gibt noch viele andere interessante Bausteine wie > MCP23017 :16Bit IO-Expander mit Interruptfähigkeit > 24AA64 :64K-Bit EEPROM
-
Thread
DS1621 Temp-Sensor auflösung 0,1° / umsetzung Formel in C
Hallo, ich möchte einen DS1621 mit erhöhter Auflösung nutzen uns somit zehntel Grad anzeigen. Ich kenne bereits diesen Beitrag, bin mir mit der Umsetzung aber noch nicht ganz sicher, z.b. warum COUNTS_PER_C immer 16 sein soll
temptenth=temp/16+0x30; Ich denke bereits die einer-Stelle stimmt nicht, da sie von einem 2. Sensor (DS3231) in 0,5cm Entfernung > 2 Grad abweicht und ohne die verbesserte Rechenmethode sehr 0,5Grad ähnlich dem DS3231 war. Wenn ich das Datenblatt Bisher habe ich dazu folgende Funktion: [c] void DS1621
-
Thread
Atmega 328 / TWI-Problem / TWCR
Hallo, Ich möchte den TWI-Bus eines Atmega328 als I2C-Master verwenden um die Temperatur eines DS1621 Temp-Sensors auszulesen. Dazu habe ich den Code aus dem Datenblatt genommen, Baudrate auf 100KHZ gestellt. [c] void I2C_Init() { //SCL=16*10^6/(16+2*twbr*prescaler) //Prescaler=1;
-
Thread
I2C DS1631 nur NACK
Hallo, ich versuche derzeit mit dem openPicus Flyport Wifi B [1] den I2C-Temperatur Sensor DS1631 [2] (Nachfolger des DS1621) auszulesen. Das klappt aber leider nicht so wie gewünscht. Das ganze sieht folgendermaßen aus: SCL des Sensors an p1(SCL) des FlyPort Moduls. SDA des Sensors an
] http://wiki.openpicus.com/index.php/Flyport_WiFi_b [2] http://datasheets.maximintegrated.com/en/ds/DS1631-DS1731.pdf [3] http://wiki.openpicus.com/index.php/I2C_Functions
-
Artikel
Pollin Funk-AVR-Evaluationsboard
KOhm) lagen. Details zum I2C-Bus und dessen Hardware finden sich übrigens auf Die C-Quelltexte, das DS1621 Datenblatt und eine fertige Intel-HEX-Datei befinden sich im Archiv PFA_TWI_DS1621.zip. Zu Beginn von main() wird die UART mit 9600-8N1 initialisiert. Anschliessend wird der Sensor initialisiert.
0x90) ist dabei im Datenblatt fest vorgegeben und die Adressbits A0, A1, A2 für einen von 8 möglichen DS1621 an einem I2C Bus sind auf LOW eingestellt bzw. mit GND verbunden. Die eigentliche Messung ist ein einfacher Aufruf der Funktion DS1621_temperatur(). Die Aufbereitung des Ergebnisses ist primitiv
-
Thread
Wo werden 0,72 mA verbraucht??
einschalten i2c_init(); hh10d_init(); // init HH10D ds1621_init(); // init DS1621 } } [/c] Hier die neue Standby-Routine: [c] void rfm12_sleep() { rfm12_write(0x0000
einschalten i2c_init(); hh10d_init(); // init HH10D ds1621_init(); // init DS1621 } } [/c] Den Erfolg brachten die zwei Zeilen: [c] rfm12_write(0x8201);
-
Artikel
Temperaturmessungs Überblick
Beispiele: Analog Ausgang: LM34, LM35 PWM-Ausgang: MAX6673 Digitalausgang: I2C, SPI, 1W: TMP101, LM75, DS1621, DS1821 Allen diesen Sensoren ist gemeinsam, dass sie wegen der Fabrikskalibrierung einen relativ einfachen Einsatz ermöglichen. Die Umwandlung des Messwerts ist normalerweise programmatisch recht
-
Thread
Umstieg bzw. Ergänzung PIC Prozessoren auf Arduino.
In C ist der Wechsel sogut wie nicht spürbar. Sollten die irgendwann nicht reichen, gibts die PIC24/dsPIC und danach PIC32. Bei Arduino gibt es meines Wissens auch welche vom kleinen AVR bis zum ARM, da kann ich aber nichts zur durchgehenden konsistenz der Programmierung sagen. Doch selbst wenn es da
Bibliotheken für: - Digitalorts - Analogports - RS232 und RS-485 - I²C (PCF8574, PCF9591, PCF8583, DS1337, DS1621, MAX518) Bei Interesse bitte melden. Grüße Ingo
-
Thread
[S] I2C-Äquivalent für DS18B20
Hallo, welcher I2C-Baustein ist äquivalent zum OneWire DS18B20? mfg Q.
>Ich benötige nur einen Baustein. DS1621, aber ins Datenblatt musst du schon noch selber schauen.
-
Thread
DIY Temperatur-Messlanze für Temperaturverlauf in Aussenwand
Schau mal hier in [[Temperatursensor]] z.B. der DS1621, Die ganze Reihe von Sensoren an drei Leitungen über I2C Bus. Ansonsten wird der mechanische Aufbau interessant, daß du in deinem Rohr keine Strömung bekommst die die Temperatur verfälscht.
Pete K. schrieb im Beitrag #3874167: > Dann kleb' einfach ein paar DS18S20 oder DS18B20 Sensoren auf einen > Holz-Rundstab (z.B. im TO92 Gehäuse) und rein damit in die Wand. Du > kommst mit 3 Leitungen aus. Beim DS18B20 kommt man auch mit zwei Leitungen aus. Hier
-
Thread
BeagleBone Black I2C und DS1621 - keinen Zugriff auf Register
Hallo! Der DS1621 hat als binäre Basisadresse: bit7..............bit0 1 0 0 1 A2 A1 A0 R/W Das kommt also mit Deinem 0x48 nur dann hin, wenn man sich das Read-Write-Bit wegdenkt. und A0-A2 am Chip auf Low sind
was zutrifft. Kann es mit den Treibern für den I2C zu tun haben? Ich finde einen Treiber für die DS1307, allerdings nichts für den Ds1621 - wobei dazu die Suche im Netz ebenfalls nur bedingt erfolgreich war.
-
Thread
[V] MOS-FET´s, Dioden, OP´s, DAC´s, Sensoren
P-Kanal 20V 3,7A 10 Stk. DAC PCF8591T SOW16 AD/DA 2.5-6V 10 Stk. Sensoren DS1621 SO8 Temperatur-Sensor 250 Stk. DS18B20U+ µSOP8 125 Stk. BPW34S Fotodiode 4.5x4.5x1.2mm 200 Stk. Temperatursensor PT1000 1206 Temperatur-Sensor 50 Stk.
10 Stk. 0,15 DAC PCF8591T SOW16 AD/DA 2.5-6V 10 Stk. 1,20 Sensoren DS1621 SO8 Temperatur-Sensor 250 Stk. 3,00 DS18B20U+ µSOP8 125 Stk. 2,00 BPW34S Fotodiode 4.5x4.5x1.2mm 200 Stk. 0,4 Temperatursensor PT1000 1206 Temperatur-Sensor
-
Thread
Mittelwertbildung von Temperatur
. Hat jemand eine Idee, sieht was ich falsch mache ? [c] #define F_CPU 8000000 #define DS1621_Write 0x9E #define DS1621_Read 0x9F #define Segment_1_AN PORTB &= ~(1<<PB3) #define Segment_1_AUS PORTB |= (1<<PB3) #define Segment_2_AN PORTB &= ~(1<<PB2) #define Segment_2_AUS PORTB
CS10)); // Prescaler auf 1024 setzen (F_CPU/1024) sei(); i2c_init(); i2c_start(DS1621_Write); // Starten der Umwandlung (Messung) i2c_write(0xEE); i2c_stop(); i2c_start(DS1621_Write); // Starten der Auslesung (Temperaturregister) i2c_write(0xAA); i2c_stop()
-
Thread
Mittelwertbildung von Temperaturmessung?
); Wie setze ich das in meinem Quellcode nun um ?... [c] #define F_CPU 8000000 #define DS1621_Write 0x9E #define DS1621_Read 0x9F #define Segment_1_AN PORTB &= ~(1<<PB3) #define Segment_1_AUS PORTB |= (1<<PB3) #define Segment_2_AN PORTB &= ~(1<<PB2) #define Segment_2_AUS PORTB
TCCR1B = ((1<<CS10)); // Prescaler 64 OCR1A = 100; sei(); i2c_init(); i2c_start(DS1621_Write); // Starten der Umwandlung (Messung) i2c_write(0xEE); i2c_stop(); i2c_start(DS1621_Write); // Starten der Auslesung (Temperaturregister) i2c_write(0xAA); i2c_stop();
-
Thread
PIC16F887 auf MC2V0 - I2C
aus dem Datenblatt gehalten. Ich initialisiere den Baustein direkt nach dem PIC: [c] void init_DS1621(void) { peripherie_I2C(); I2C_Start(); I2C_Send_Data(DS1621_Write); I2C_Send_Data(0xAC); I2C_Send_Data(0x01); //1SHOT Mode Enabled I2C_Stop(); for(unsigned long
NACK zurück und das Datenbyte ist Leer. Alle meine übetragungen entsprechen den im Datenblatt, des DS1621, gezeigten Figuren. (Seite 9) Ich weis es gibt hier im Forum schon genug Artikel zu dem DS1621 und ich habe mich seit meinem letzten Beitrag mit nichts anderem mehr beschäftigt, aber ich finde
-
Thread
Bauteil Display HD44780 für sPlan
Als Bauteil nicht, aber eventuell kannst du damit was anfangen: http://www.grilec.com/download/temp_DS1621_lcd_rs232.spl
Bauteil nicht, aber eventuell kannst du damit was anfangen: > http://www.grilec.com/download/temp_DS1621_lcd_rs232.spl Hallo Ingolf, Frohe Weihnachten. Könntest du eventuell die folgende Datei hier hochladen? http://www.grilec.com/download/temp_DS1621_lcd_rs232.spl Danke. MfG Tobi
-
Artikel
Liste von integrierten Schaltkreisen
Spannungen Bauformen Betriebstemperatur D. Name Beschreibung Spannungen Bauformen Betriebstemperatur DS1621 digitaler Temperatursensor; I2C 2,7-5,5V DIP; SO -55 bis 125°C DS1820 digitaler Temperatursensor; 1-Wire 3-5,5V TO92; SO -55 bis 125°C E. Name Beschreibung Spannungen Bauformen Betriebstemperatur
-
Thread
Negative Werte ausgeben
Hallo Community, ich programmiere gerade an einem DS1621 und möchte gerne negative Temperaturen lesen. Das ganze funktioniert mit dem Zweierkomplement. Bisher habe ich folgenden Code geschrieben, doch leider funktioniert er nicht wie erwünscht. Ich erreiche
/part/DS1621 auf Seite 4.
-
Thread
I2C Kommunitkation funktioniert nicht
lpc17xx_clkpwr.h" #include "lc798x.h" #include "lpc17xx.h" #include "i2c.h" //Definition der DS1621 Befehle bzw. Register #define START_CONVERT_TEMP 0xEE #define READ_TEMPERATURE 0xAA #define DS1621_ADDR 0x90 //Schreibender Zugriff #define DS1621_Read 0x91 //lesender
I2CWriteLength[PORT_USED] = 2; I2CReadLength[PORT_USED] = 0; I2CMasterBuffer[PORT_USED][0] = DS1621_ADDR; I2CMasterBuffer[PORT_USED][1] = START_CONVERT_TEMP; //I2CMasterBuffer[PORT_USED][2] = DS1621_ADDR | RD_BIT; //Nötig? I2CEngine(PORT_USED); delayMs(0,1000); while(1)
-
Thread
DS1621 am Raspberry Pi - (fast) alles funktioniert
zu stellen. Ich bin nach dieser Anleitung vorgegangen: http://chemdroid.net/en/raspberry-pi/29-ds1621-temperature-sensor Ich kann - die Temperaturmessung starten (Register 0xEE) - das Messergebnis ausgeben (0xAA), - das Konfigurationsregister lesen und schreiben (0xAC), alles funktioniert
- warum kann ich die Temperaturschwellen-Register nicht beschreiben??? Ich habe auch einen zweiten DS1621 getestet, Verhalten ist exakt gleich. Hier meine Versuche: [code] Anfangszustand: pi@raspberrypi ~ $ sudo i2cget -y 1 0x4f 0xa1 0x0f pi@raspberrypi ~ $ sudo i2cget -y 1 0x4f 0xa2 0x0a
-
Thread
Binäre Uhr Schaltungsentwurf
bis der Pulsstrom auf die im Datenblatt angegebenen 100mA sinkt? -muss die I2C-Verbindung vom DS1307 beim Benutzen des ISP Steckers noch getrennt werden? -hab ich etwas übersehen? Vielen Dank, Gruß Dennis
Verstehe. Wie ich gerade sehe sind Temperatursensor und A/D-Wandler in einem ziemlich teuer wie der DS1621. Der LM75 ist zwar ungenau jedoch mit 1,40€ in Ordnung.
-
Thread
Moderne Temperaturmessung
Wenn die Leitungen nicht zu lang sind: http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf
ausreichend genau ist? Muss > ich mich dafür in ein Bussystem einarbeiten? Wenn ja welches? Der DS1621 ist sehr gut und sehr einfach über I2C anzusprechen, mit ein paar einfachen Berechnungen auf dem µC ist der dann auch sehr genau, aber auch ohne die erreicht er die geforderten 0.5°C Genauigkeit.
-
Thread
Zwei Motoren mit Attiny85 ansteuern
ist, dass ich einen Attiny 85 verwende. Dieser soll über I2C einen AD Wandler (PCF8591), eine Uhr (DS1621), eine Portwerweiterung ( PCF 8574 an welches ich die Motor"steuerung" hänge), eine Porterweiterung (PCF 8574) für das Einlesen von Tastern und ein LCD Modul (Pollin 810145) ansteuern. Es reicht
Lutz S. schrieb im Beitrag #3327895: > Dieser soll über I2C > einen AD Wandler (PCF8591), eine Uhr (DS1621), eine Portwerweiterung ( > PCF 8574 an welches ich die Motor"steuerung" hänge), eine > Porterweiterung (PCF 8574) für das Einlesen von Tastern und ein LCD > Modul (Pollin 810145) ansteuern.
-
Thread
Kühlschrank mit Attiny84 steuern
ist, dass ich einen Attiny 84 verwende. Dieser soll über I2C einen AD Wandler (PCF95??), eine Uhr (DS1621), eine Portwerweiterung (an welches ich die Motor"steuerung" hänge) und ein LCD Modul ansteuern. Meine Frage: Ist das aus Eurer Erfahrung möglich diese Schmittstellen sämtlichst über einen kleinen
, dass ich einen Attiny 84 verwende. Dieser soll über I2C > einen AD Wandler (PCF95??), eine Uhr (DS1621), eine Portwerweiterung (an > welches ich die Motor"steuerung" hänge) und ein LCD Modul ansteuern. Warum so viel Aufwand? Als Temperatursensor ein 1-Wire Element von Dallas, ein DCF-Empfänger
-
Thread
Suche I2C Sensor
einem Sensor, welchen ich über i2c ansteuern kann. Verbaut habe ich schon einen Temperatursensor DS1621. Vorteilhaft wäre, wenn der neue Sensor, so ähnlich (von der Größe her) aufgebaut wäre, ansonsten ist es aber egal was für eine Art von Sensor er ist. Desweiteren bräuchte ich einen Servomotor,
-
Thread
Vorgehensweise in Eagle zum Erstellen einer Platine
Hallo uC-Gemeinde, ich möchte einen Temperatursensor DS1621(S) mit Hilfe eines "LPC1769" Mikrocontrollers auslesen. Dazu würde ich eine Platine in Eagle Layouten wollen, auf dem ich den Sensor anbringen würde. Die erstellte Platine würde ich auf den Mikrocontoller
-
Thread
RP6 I2C Temp Sensor DS1621 abfragen
writeInteger(DS1621Temp[0], DEC); writeInteger(DS1621Temp[1], DEC); writeChar('\n'); mSleep(250); } return 0; } [/code]
(DS1621Temp[0], DEC); writeInteger(DS1621Temp[1], DEC); writeChar('\n'); mSleep(250); } [/code]
-
Thread
MSP430 USI - I2C
Ein DS1621. Achso. Es müssen also nicht genau 100kHz sein, sondern nur die maximale Frequenz darf nicht überschritten werden? Das ist klar. Es ging mir eher um das Zurechtfinden auf der TI homepage.
Der DS1621 kann mit bis zu 400kHz betrieben werden! Und ja, das sind nur die Maximalwerte.
-
Thread
MSP430 IAR Error[e104]
eine kleine while-Schleife mit Befehlen. Zum Beispiel: [c] //config. temp. sensor giDS1621_Sensor_Register = DS1621_ACCESS_CONFIG; USICTL1 |= USIIFG; // Set flag and start communication LOW_POWER_MODE_1; __no_operation(); Sleep(20);
giI2C_ERROR) { USI_ERROR (); break; } //start temp. conversion giDS1621_Sensor_Register = DS1621_START_CONVERSION; USICTL1 |= USIIFG; // Set flag and start communication LOW_POWER_MODE_1; __no_operation(); Sleep(10); if (giI2C_ERROR
-
Thread
I2C Datenübertragung von DS1621 (Temperatursensor) auf ATMEGA16
meines Werkstättenprojekts in der Schule die Temperatur mit einem ATMEGA16 aus dem Temperatursensor DS1621 auslesen. Der Datenausgang des Sensors ist jedoch ein I2C-Ausgang und ich habe keine Ahnung von wegen Adressierung des Slaves und auslesen der Daten. Ich würde mich sehr freuen wenn wer von den
-
Thread
PC Lüfter Drehzahl regeln
System_einstellen(void) { // Beginn System einstellen // Temperatur einlesen DS1621_lesen(Adr_Wasser); // DS1621 Temperatur einlesen // Variabeln uint8_t Reset_OK = 0; // 0 = OK - Alarm zurück setzen int16_t Temperatur = (DS1621_Temperatur * 10) + DS1621_Kommastelle; // Temperatur zur Berechnung int16_t Tmp_Not_Aus = Sollwert + Not_Aus; // Sollwert + Not-Aus int16_t Tmp_SWP = OCR1AL; // Temp Schrittweite PWM für Berechnung
-
Thread
Kennt jemand das Teil?
weitere ICs: DS1621 A82C250 7705BC ATMLH822 ??? 831 1376 ?? Power via PS2: Hmmm.. in http://www.mikrocontroller.net/topic/142539 schrieb er nicht darüber. Ich breche mir auch die Ohren für P5 (CAN). Die 8
-
Thread
I²C Luftdruck- und Feuchtigkeitssensor gesucht
ausgibt, dies ist aber nicht zwangsweise erforderlich. Bei den Temperatursensoren ist hier ja der DS1621 eine optimale Lösung. Ich bin nun auf die beiden Sensoren HP03SA (Luftdruck) und HH10D (Luftfeuchtigkeit) gestoßen, bin mir aber nicht sicher, ob diese im DIP8-Steckformat erhältlich sind. Könnt
Danke. :-) Die Ansteuerung scheint ja ähnlich wie z. B. beim DS1621 zu funktionieren, nur dass dieser Chip eben sein eigenes 2-Wire-System verwendet.
-
Thread
Temperatursensor DS1621 über I²C ansteuern
provides a command protocol. After receiving this protocol, the DS1621 will issue an acknowledge, and then the master may send data to the DS1621. If the DS1621 is to be read, the master must send the command protocol as before, and then issue a repeated START condition
the control byte again, this time with the R/W bit set to 1 to allow reading of the data from the DS1621. The command set for the DS1621 as shown in Table 3 is as follows:
-
Thread
DS1621 und I2C
dabei mich in den I2C einzuarbeiten. Dazu verwende ich ein Bsp. bei dem die Temperatur mit einem DS1621 ermittelt werden soll. Im Anhang befindet sich das Programm. (I2cinit habe ich vergessen) Nun schön und gut, die Zeilen mit I2cstart bis I2cstop verstehe ich ja, da wird einfach die Temperatur