Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
Share Thread:
[ÇÖZÜLDÜ] Python Durum Değişince Print
#1
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:
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)
Ara
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  [Soru] Durum çubuğu kayıp furkan150061 3 3,403 11-15-2014, 11:50 AM
Son Yorum: özkan

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi