Problem med DS18B20 temp sensorer.
Postat: 1 juli 2007, 13:45:54
Har ett litet problem.
är ganska ny på avr så jag tror att det är jag som gör fel och inte fel på själva temp sensorn.
Jag programmerar i MikroBasic använder en ATMEGA16
följande kod använder jag.
---------------------------------------
Dim j1 as byte
temp as char[6]
Main:
Lcd_init(PORTD, 6, 4, PORTA, LCD_HI_NIBBLE
Do
ow_reset(PORTC,7)
ow_write($CC)
ow_write($44)
delay_ms(120)
ow_reset(PORTC,7)
ow_write($CC)
ow_write($BE)
delay_ms(200)
J1 = ow_read
ByteToStr(j1,temp)
lcd_out(1,1,temp)
Loop until false
End.
------------------------------------------------------
När jag kör denna koden så får jag ut att tempaturen ska vara 135c grader.
först tänkte jag att den kanske skickade ut det i Fahrenheit. Men 135 gahrenheit är 57grader celsius..
och jag har runt 22 grader i lägenheten.
Vad gör jag för fel?
Tack på förhand.
är ganska ny på avr så jag tror att det är jag som gör fel och inte fel på själva temp sensorn.
Jag programmerar i MikroBasic använder en ATMEGA16
följande kod använder jag.
---------------------------------------
Dim j1 as byte
temp as char[6]
Main:
Lcd_init(PORTD, 6, 4, PORTA, LCD_HI_NIBBLE
Do
ow_reset(PORTC,7)
ow_write($CC)
ow_write($44)
delay_ms(120)
ow_reset(PORTC,7)
ow_write($CC)
ow_write($BE)
delay_ms(200)
J1 = ow_read
ByteToStr(j1,temp)
lcd_out(1,1,temp)
Loop until false
End.
------------------------------------------------------
När jag kör denna koden så får jag ut att tempaturen ska vara 135c grader.
först tänkte jag att den kanske skickade ut det i Fahrenheit. Men 135 gahrenheit är 57grader celsius..
och jag har runt 22 grader i lägenheten.
Vad gör jag för fel?
Tack på förhand.