Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Feuchte immer gleicher wert??? HILFE! Kategorie: Programmierung Basic (von Gerhard - 9.05.2005 23:30)
 Als Antwort auf Feuchte immer gleicher wert??? HILFE! von Pierre - 9.05.2005 23:08
Gerhard nutzt:  Micro, Open-Micro, Open-Mini

> Hallo Ihr Fachleute!
>
> Ich habe den digitalen Feuchtesensor SHT 71 an mein Applikation Board angeschlossen.
> Den Quelltext habe ich von diesem Forum bekommen! Ich Entwickle zwar Software unter C++. Dies aber eher im Datenbankbereich.
> Nun das Problem.
>
> Ich bekomme immer die gleichen Werte zurück?
>
>
> 0:1:38  -42,56  99,9
>
>
> Quelltext:
>
> '================= Sensirion SHT11 / 71 steuerung.
> '
> 'Fred Stevens, Niederlanden.
> 'homepage: [url=http://www.fredstevens.nl]www.fredstevens.nl[/url]
> '
> 'Statinon Sensor über ports 7 und 8 verbunden.
>
> 'define Temp1 ad[4] 'Tempsensor 1
> 'define Temp2 ad[6] 'Tempsensor 2
>
> define sck port[8]
> define dataout port[7]
> define Power port [5]
> define f1 word
> define ts word
> define shtvalue word
> define xy word
> define cmd byte
> define i byte
> define j byte
>
> #loop
>      power = on
>      pause 1*50
>      gosub sht11
> goto loop
>
> #sht11
> Cmd = &B00000011        'temp
> gosub Getit
> shtvalue=shtvalue-4000
>       Print Hour;":";Minute;":";Second,
>       print (temp1*5-250)/10 ;",";
>       print (temp1*5-250) mod 10,
>       print (temp2*5-250)/10 ;",";
>       print (temp2*5-250) mod 10,
>       print shtvalue/100;",";
>       print shtvalue mod 100,
> Cmd = &B00000101        'hyg
> gosub Getit
> ts = shtvalue / 16
> i = shtvalue Mod 16
> looktab shtab,ts,xy
> ts=ts-1
> looktab shtab,ts,f1
> xy = (xy - f1) * i /16
> shtvalue=f1 + xy
> if shtvalue>=1000 then shtvalue=999
>      print shtvalue/10;",";
>      print shtvalue mod 10
> return
> #getit
> 'first reset comm.
> sck=0
> Dataout=1
> For i = 1 To 12
>    Sck=1
>    gosub wait
>    Sck=0
>    gosub wait
> Next
> 'start sequence
> sck=1
> gosub wait
> Dataout=0
> gosub wait
> Sck=0
> gosub wait
> Sck=1
> gosub wait
> Dataout=1
> gosub wait
> Sck=0
> gosub wait
> 'Shiftout command
> for i=0 to 7
>   if (cmd and 128)=0 then dataout=0 else dataout=1
>   sck=1
>   gosub wait
>   sck=0
>   gosub wait
>   cmd=cmd shl 1
> next
> deact dataout
> sck=1
> gosub wait
> Sck=0
> gosub wait
> #bitwait
> if dataout<>0 then goto bitwait
> 'Shiftin data MSB
> gosub shiftin
> shtvalue = xy
> Dataout=0
> 'ack
> Sck=1
> gosub wait
> Sck=0
> gosub wait
> deact dataout
> 'Shiftin Data LSB
> gosub shiftin
> shtvalue=shtvalue shl 8
> shtvalue = shtvalue Or xy
> return
> #shiftin
> xy=0
> for i=0 to 7
>     sck=1
>     gosub wait
>     j=abs(dataout)
>     sck=0
>     gosub wait
>     xy=xy shl 1
>     xy=xy or j
> next
> return
> #wait
> return
> table shtab "sht11a.tab"
>
>
>
> Bin für jede Hilfe Dankbar. Ich denke ich habe nur etwas übersehen. Oder ich habe den SHT71 gekillt?
>
> lg
> pierre

Hallo Pierre,
ich habe den SHT11 zwar auch noch hier liegen, aber noch nichts probiert.
Aber folgendes fällt auf:
Fred hat seinerzeit auf einer (langsamen) Mainunit 1 gearbeitet.
Die notwendige Verzögerung bei der Ansprache des Sensor hat er durch ein gosub wait in ein leeres
sub gelöst.
Wenn Du jetzt das Progr.auf die (schnelle) munit2 portierst, stimmen die Zeiten nicht mehr.
Vorschlag: nimmt erstmal 'ne alte mainunit zum testen oder probiere die Verzögerungzu verändern.

2.) hast Du die verkabelung zum Sensor richtig ausgeführt ?? Fred hatte seinerzeit ein Bild davon auf
seiner Seite. in Clk und data jeweils am ende Widerstand 1k seriell, und je 1 100nF vor dem SHT11
von data und clk zu GND.

Leider gibt es die Homepage nicht mehr.

mfg gerhard

 Antwort schreiben

Bisherige Antworten:

Re: Feuchte immer gleicher wert??? HILFE! (von Pierre - 9.05.2005 23:47)
    Re: Feuchte immer gleicher wert??? HILFE! (von Gerhard - 10.05.2005 22:54)
        Re: Feuchte immer gleicher wert??? HILFE! (von Pierre - 12.05.2005 9:29)
            Re: Feuchte immer gleicher wert??? HILFE! (von Stefan Tappertzhofen - 14.05.2005 16:42)
            Re: Feuchte immer gleicher wert??? HILFE! (von Stefan Tappertzhofen - 14.05.2005 16:39)