first commit
This commit is contained in:
commit
b8768c3ff8
249 files changed
+38439
No files matched your search
@@ -0,0 +1,67 @@
|
||||
import wiringpi
|
||||
from wiringpi import GPIO
|
||||
|
||||
pin = 6
|
||||
|
||||
def getval(pin):
|
||||
tl=[]
|
||||
tb=[]
|
||||
wiringpi.wiringPiSetup()
|
||||
wiringpi.pinMode(pin, GPIO.OUTPUT)
|
||||
wiringpi.digitalWrite(pin, GPIO.HIGH)
|
||||
wiringpi.delay(1)
|
||||
wiringpi.digitalWrite(pin, GPIO.LOW)
|
||||
wiringpi.delay(25)
|
||||
wiringpi.digitalWrite(pin, GPIO.HIGH)
|
||||
wiringpi.delayMicroseconds(20)
|
||||
wiringpi.pinMode(pin, GPIO.INPUT)
|
||||
while(wiringpi.digitalRead(pin)==1): pass
|
||||
|
||||
for i in range(45):
|
||||
tc=wiringpi.micros()
|
||||
'''
|
||||
'''
|
||||
while(wiringpi.digitalRead(pin)==0): pass
|
||||
while(wiringpi.digitalRead(pin)==1):
|
||||
if wiringpi.micros()-tc>500:
|
||||
break
|
||||
if wiringpi.micros()-tc>500:
|
||||
break
|
||||
tl.append(wiringpi.micros()-tc)
|
||||
|
||||
tl=tl[1:]
|
||||
for i in tl:
|
||||
if i>100:
|
||||
tb.append(1)
|
||||
else:
|
||||
tb.append(0)
|
||||
|
||||
return tb
|
||||
|
||||
def GetResult(pin):
|
||||
for i in range(10):
|
||||
SH=0;SL=0;TH=0;TL=0;C=0
|
||||
result=getval(pin)
|
||||
|
||||
if len(result)==40:
|
||||
for i in range(8):
|
||||
SH*=2;SH+=result[i] # humi Integer
|
||||
SL*=2;SL+=result[i+8] # humi decimal
|
||||
TH*=2;TH+=result[i+16] # temp Integer
|
||||
TL*=2;TL+=result[i+24] # temp decimal
|
||||
C*=2;C+=result[i+32] # Checksum
|
||||
if ((SH+SL+TH+TL)%256)==C and C!=0:
|
||||
break
|
||||
else:
|
||||
print("Read Sucess,But checksum error! retrying")
|
||||
|
||||
else:
|
||||
print("Read failer! Retrying")
|
||||
break
|
||||
wiringpi.delay(200)
|
||||
return SH,SL,TH,TL
|
||||
|
||||
SH,SL,TH,TL=GetResult(pin)
|
||||
print("humi:",SH,SL,"temp:",TH,TL)
|
||||
|
||||
|
||||
Reference in new issue
Block a user