"Minus"-fråga om DS18s20 tempsensor.
"Minus"-fråga om DS18s20 tempsensor.
Hej, eftersom det nu börjar bli minus ute så kom funderingen på att beräkna minus ur DS18s20-sensorn.
Nu ligger ju plus/minus i första byten, tempen i andra byten.
"0000 0000" "0011 0010" = + 25 grader (enligt tabell 2 i databladet)
"1111 1111" "1100 1110" = - 25 grader (enligt tabell 2 i databladet)
Min tanke är om det går att ta byte två "0011 0010" (25) och sedan kolla om byte ett är 1 eller 0? Om den är 1 så är det -25, om 0 så är det +25 ?
Edit: Det sista jag skrev blir ju fel... den kommer ju ge mig andra siffror när den sjunker...
Är det nån som räknat med minus med denna?
/B
Nu ligger ju plus/minus i första byten, tempen i andra byten.
"0000 0000" "0011 0010" = + 25 grader (enligt tabell 2 i databladet)
"1111 1111" "1100 1110" = - 25 grader (enligt tabell 2 i databladet)
Min tanke är om det går att ta byte två "0011 0010" (25) och sedan kolla om byte ett är 1 eller 0? Om den är 1 så är det -25, om 0 så är det +25 ?
Edit: Det sista jag skrev blir ju fel... den kommer ju ge mig andra siffror när den sjunker...
Är det nån som räknat med minus med denna?
/B
Som en snabb gissning utan grund skulle jag gissa på att den representerar temperaturer i "signerat" format:
http://en.wikipedia.org/wiki/Signed_num ... sentations
Mvh
speakman
http://en.wikipedia.org/wiki/Signed_num ... sentations
Mvh
speakman
Hej, ja det ser rätt ut:
As an example, the ones' complement form of 00101011 (43) becomes 11010100 (−43).
"0011 0010" = 50 decimalt vilket blir +25)
"1100 1110" = 206 decimalt men skall bli -25
(inverterat är "1100 1110" = 49 och det är ju 24,5 men denna sensor är ju inte heller helt korrekt enligt databladet.
Så det jag inte vet är hur jag ska räkna, om jag kollar att det ÄR minus till o börja med, sen inverterar talet och kollar vilket plustal det blir, sen sätta det talet till minus.
Det borde ju funka.
/B
As an example, the ones' complement form of 00101011 (43) becomes 11010100 (−43).
"0011 0010" = 50 decimalt vilket blir +25)
"1100 1110" = 206 decimalt men skall bli -25
(inverterat är "1100 1110" = 49 och det är ju 24,5 men denna sensor är ju inte heller helt korrekt enligt databladet.
Så det jag inte vet är hur jag ska räkna, om jag kollar att det ÄR minus till o börja med, sen inverterar talet och kollar vilket plustal det blir, sen sätta det talet till minus.
Det borde ju funka.
/B
Det var inte så simpelt...
Jag hängde nyss ut en sensor, den stegade ner mot minusgraderna och när det så blev minus slutade den funka (pga min ursprungliga kod som endast hanterar plus)
Jag implementerade ovan men det ger mig helt felande siffror.
LSB visar binärt, direkt från scratchpad: "01111110", detta skall då inverteras så det blir "10000001" men det blir helt fel.
Det blir 129Dec
Dock visar MSB "11111111"b när den skall läsa denna sensor, "0" om den skall läsa en annan som är inne.
varför får jag detta värde?
Jag hängde nyss ut en sensor, den stegade ner mot minusgraderna och när det så blev minus slutade den funka (pga min ursprungliga kod som endast hanterar plus)
Jag implementerade ovan men det ger mig helt felande siffror.
LSB visar binärt, direkt från scratchpad: "01111110", detta skall då inverteras så det blir "10000001" men det blir helt fel.
Det blir 129Dec
Dock visar MSB "11111111"b när den skall läsa denna sensor, "0" om den skall läsa en annan som är inne.
varför får jag detta värde?
> direkt från scratchpad: "01111110"
Det känns som om det har smugit sig in en nolla för mycket i bit 7.
"11111110" hade ju varit en ganska rimligt värde.
Kan du läsa kontinuerligt och logga de binära värdena (t.ex till en fil)
medans givaren passerar över nollpunkten. Gärna i båda "riktningarna".
Då borde man få en bättre bild av vad som händer...
Det känns som om det har smugit sig in en nolla för mycket i bit 7.
"11111110" hade ju varit en ganska rimligt värde.
Kan du läsa kontinuerligt och logga de binära värdena (t.ex till en fil)
medans givaren passerar över nollpunkten. Gärna i båda "riktningarna".
Då borde man få en bättre bild av vad som händer...
OK, en "nolla" för mycket alltså... 
> 2,4 minus har jag här
Hm, jag måste gå ut från kontoret, genom gästrummet och tvättstugan till köket, genom hallen och in till vardagsrummet för att kolla...
Var det DS18S20 dom hette dom där ?
Du kör fortfarande via en DS2480B, eller hur ?
Hur tycker du att det fungerar ?

> 2,4 minus har jag här
Hm, jag måste gå ut från kontoret, genom gästrummet och tvättstugan till köket, genom hallen och in till vardagsrummet för att kolla...

Var det DS18S20 dom hette dom där ?

Du kör fortfarande via en DS2480B, eller hur ?
Hur tycker du att det fungerar ?
Godmorgon i kylan:)
Jag undrar o "min" kyla verkligen kan stämma... -9,8c har jag i Bålsta (lite norr om sthlm för er som inte vet*s*)
Det är -4c i södertälje, -3c i älvsjö....
Men tar jag in sensorn så blir det korrekt inne, jämfört med en digital köptermometer. (Jo jag vet, kan ju kolla me denna men hade inte möjlighet nu på morgonen.
http://tempsens.dyndns.org:8080/?page=utedata
/B
Jag undrar o "min" kyla verkligen kan stämma... -9,8c har jag i Bålsta (lite norr om sthlm för er som inte vet*s*)
Det är -4c i södertälje, -3c i älvsjö....
Men tar jag in sensorn så blir det korrekt inne, jämfört med en digital köptermometer. (Jo jag vet, kan ju kolla me denna men hade inte möjlighet nu på morgonen.
http://tempsens.dyndns.org:8080/?page=utedata
/B
Varför skulle det inte stämma ?
Det är väll bara att sticka ut nosen utanför dörren/fönstret och känna efter...
Det har ju varit en stilla natt/morgon, och min erfaranhet är att temperaturen ofta kan göra en "dipp" just kring gryningen/soluppgången. Jag vet inte vad det beror på, men det kan sjunka flera grader ganska snabbt just när det ljusnar. Vi har ibland 3-4 grader lägre morgon temp än inne i Söderköping ca 1 mil härifrån...
Det är väll bara att sticka ut nosen utanför dörren/fönstret och känna efter...

Det har ju varit en stilla natt/morgon, och min erfaranhet är att temperaturen ofta kan göra en "dipp" just kring gryningen/soluppgången. Jag vet inte vad det beror på, men det kan sjunka flera grader ganska snabbt just när det ljusnar. Vi har ibland 3-4 grader lägre morgon temp än inne i Söderköping ca 1 mil härifrån...