Witam Panowie. Pomoże ktoś rozwiązać prosty problem ze skryptem python ??
Zmontowałem taki kod, ma on podać stan wysoki na pin GPIO16 kiedy temperatura przekroczy 40st. ( temperatura CPU ).
Generalnie działa, ale nie do końca. Mianowicie odczyt jest jakby pojedynczy i jeśli uruchomię skrypt kiedy temp. jest np. 35st to konsola drukuje caly czas wartość z momentu uruchomienia, ale jakby jej nie odświeża. Mam nadzieje że wiecie o co chodzi ;p..
Podpowie ktoś co muszę zmienić ? Nie znam się jeszcze aż tak na pytohnie aby znaleźć rozwiązanie sam.
Poniżej kod.
Dodano po 2 [minuty]:
Po uruchomieniu skryptu mam zawsze wartość taką jak w momencie uruchomienia, jeśli wynosi powyżej 40, mam stan wysoki, jak poniżej niski tak jak chciałem. Sęk w tym, że to nie odświeża wartości tylko czyta pojedynczo.
Zmontowałem taki kod, ma on podać stan wysoki na pin GPIO16 kiedy temperatura przekroczy 40st. ( temperatura CPU ).
Generalnie działa, ale nie do końca. Mianowicie odczyt jest jakby pojedynczy i jeśli uruchomię skrypt kiedy temp. jest np. 35st to konsola drukuje caly czas wartość z momentu uruchomienia, ale jakby jej nie odświeża. Mam nadzieje że wiecie o co chodzi ;p..
Podpowie ktoś co muszę zmienić ? Nie znam się jeszcze aż tak na pytohnie aby znaleźć rozwiązanie sam.
Poniżej kod.
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(16, GPIO.OUT)
GPIO.output(16, GPIO.LOW)
tFile = open('/sys/class/thermal/thermal_zone0/temp')
temp = float(tFile.read())
tempC = temp/1000
temp_max = 40
while True:
print(tempC)
if tempC > temp_max:
GPIO.output(16, GPIO.HIGH)
else:
GPIO.output(16, GPIO.LOW)
time.sleep(1.0)Dodano po 2 [minuty]:
Po uruchomieniu skryptu mam zawsze wartość taką jak w momencie uruchomienia, jeśli wynosi powyżej 40, mam stan wysoki, jak poniżej niski tak jak chciałem. Sęk w tym, że to nie odświeża wartości tylko czyta pojedynczo.