Merhabalar,
Raspberry Pi'de Python ile basit bir şekilde durum değişince ekrana yazdırmak istiyorum. Şu şekilde açıklayabilirim: Örneğin ON iken OFF konumuna geçerse sadece bir kez ekrana OFF gelsin, yine aynı şekilde OFF durumunda iken ON olursa sadece bir kez ekrana ON yazsın. Biliyorum çok basit bir şey ama kurgulamakta zorlandım ve internette bulamadım. Yardımcı olursanız sevinirim.
Şu anda kullandığım kod:
Görüşmek Üzere!
------
EDIT:
Kodu şu şekilde yaparak çözümü buldum.
Raspberry Pi'de Python ile basit bir şekilde durum değişince ekrana yazdırmak istiyorum. Şu şekilde açıklayabilirim: Örneğin ON iken OFF konumuna geçerse sadece bir kez ekrana OFF gelsin, yine aynı şekilde OFF durumunda iken ON olursa sadece bir kez ekrana ON yazsın. Biliyorum çok basit bir şey ama kurgulamakta zorlandım ve internette bulamadım. Yardımcı olursanız sevinirim.
Şu anda kullandığım kod:
Kod:
import spidev
import time
import os
import urllib
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
spi=spidev.SpiDev()
spi.open(0,0)
def ReadChannel (channel):
adc = spi.xfer2([1,(8+channel)<<4,0])
data = ((adc[1]&3)<<8) + adc[2]
return data
def ConvertVolts(data,places):
volts = (data*3.1815)/float(1023)
volts = round(volts,places)
return volts
sensor1_channel = 1
while True:
foldtime = time.time()
fnewtime = time.time()
fstore = 0.1
while True:
fnewtime = time.time()
fdtime = fnewtime-foldtime
sensor1_level = ReadChannel(sensor1_channel)
sensor1_volts = ConvertVolts(sensor1_level,9)
if sensor1_volts > 1.60:
Durum = 'ON'
else:
Durum = 'OFF'
if fdtime >= fstore:
foldtime=fnewtime
print('------------------------')
print("Sensor1 : {} V, {}".format(sensor1_volts,sensor1_level))
print("Durum : {}".format;(Durum))
time.sleep(delay)
Görüşmek Üzere!
------
EDIT:
Kodu şu şekilde yaparak çözümü buldum.
Kod:
import spidev
import time
import os
import urllib
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
spi=spidev.SpiDev()
spi.open(0,0)
def ReadChannel (channel):
adc = spi.xfer2([1,(8+channel)<<4,0])
data = ((adc[1]&3)<<8) + adc[2]
return data
def ConvertVolts(data,places):
volts = (data*3.1815)/float(1023)
volts = round(volts,places)
return volts
sensor1_channel = 1
previous_Status = None
foldtime = time.time()
fnewtime = time.time()
fstore = 3.0
while True:
fnewtime = time.time()
fdtime = fnewtime-foldtime
if fdtime >= fstore:
foldtime = fnewtime
sensor1_level = ReadChannel(sensor1_channel)
sensor1_volts = ConvertVolts(sensor1_level,9)
if sensor1_volts > 1.60:
Status = 'ON'
elif sensor1_volts <= 1.60:
Status = 'OFF'
if Status != previous_Status:
print('------------------------')
print("Sensor1 : {} V, {}".format(sensor1_volts,sensor1_level))
print("Status : {}".format;(Status))
previous_Status = Status
time.sleep(delay)