2020/03/05

水位感測器Spyder語法

import RPi.GPIO as GPIO
import time
import spidev

spi=spidev.SpiDev()
spi.open(0,0)
spi.max_speed_hz=1000000

def ReadChannel(channel):
    adc=spi.xfer2([1,(8+channel)<<4 p="">    data=((adc[1]&3) <<8 adc="" p="">    return data

def ConverttoPercent(data):
    percent=int(round(data/10.24))
    return percent

channel=0
delay=2
while True:
    level=ReadChannel(channel)
    percent=ConverttoPercent(level)
    print('-'*50)
    print('水位:{} ({}%)'.format(level,percent))
    time.sleep(delay)
<4 p=""><8 adc="" p="">
<4 p=""><8 adc="" p="">
<4 p=""><8 adc="" p="">----------------------------------------------------------------------------------------------------------------
<4 p=""><8 adc="" p="">led燈/IFTT訊息
<4 p=""><8 adc="" p="">
import RPi.GPIO as GPIO
import time
import spidev
import requests

def sendMessage(v1,v2,v3):
    params = {}
    params['value1'] = v1
    params['value2'] = v2
    params['value3'] = v3
    requests.post('https://maker.ifttt.com/trigger/test/with/key/chAO3iW6OVlGdei_Wo5pOJ',data=params)

led = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(led,GPIO.OUT) #LED


spi=spidev.SpiDev()
spi.open(0,0)
spi.max_speed_hz=1000000

def ReadChannel(channel):
    adc=spi.xfer2([1,(8+channel)<<4 p="">    data=((adc[1]&3) <<8 adc="" p="">    return data
def ConverttoPercent(data):
    percent=int(round(data/10.24))
    return percent
channel=0
delay=2

try:
 
 while True:
    level=ReadChannel(channel)
    percent=ConverttoPercent(level)
    print('-'*50)
    print('水位:{} ({}%)'.format(level,percent))
 
    if   percent>=50:#LED
         GPIO.output(led,GPIO.HIGH) #LED
         sendMessage('大水','超五十','快逃')
    else:     
         GPIO.output(led,GPIO.LOW) #LED       
    time.sleep(delay)
 

finally:
<4 p=""><8 adc="" p="">
         GPIO.cleanup()

沒有留言:

Related Posts Plugin for WordPress, Blogger...