hallo Leute,
ich brauche mal hilfreiche tips
ich nutze ein LCD Display zus temperaturanzeige. nun möchte ich die hintergrundbeleuchtung aber nicht ständig an haben sondern nur auf taster druck.
soweit so gut script läuft auch allerding blinkt die hintergrundbeleuchtung so ca. alle 4sec kurz auf auch lässt sich die hintergrundbeleuchtung nur dann einschalten wenn sie
"automatisch" auf flasht.
hier das script das ich nutze
Python
#!/usr/bin/env python3
import lcddriver
import RPi.GPIO as GPIO
import time
import re
from time import *
from time import strftime
lcd = lcddriver.lcd()
lcd.lcd_clear()
input_pin = 6
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(input_pin, GPIO.IN)
# 1-Wire Sensor Name ermitteln.
# Es wird nur ein Sensor unterstuezt dieser kann aber ausgetauscht werden
# wenn ein Defekt vorliegen sollte oder einfach bei Bedarf.
# Dadurch laeuft dieses Programm auf jedem RaspPi egal wie der Sensor Name ist.
Sensoroben = "/sys/bus/w1/devices/28-0315546c1dff/" # Ist immer der Pfad zu dem/den Sensor(en)
Sensorunten = "/sys/bus/w1/devices/28-02155371f4ff" # Ist immer der Pfad zu dem/den Sensor(en)
# Temperatur ermitteln und Wert value zurckgeben
def GetTempoben():
a = open(Sensoroben+'/w1_slave', 'r') # Ermittelten Sensor lesen
Temp = a.readline()
if re.match(r"([0-9a-f]{2} ){9}: crc=[0-9a-f]{2} YES", Temp): # Erste Zeile auf "YES" am Ende uberprufen
Temp = a.readline()
m = re.match(r"([0-9a-f]{2} ){9}t=([+-]?[0-9]+)", Temp) # Wert aus zweiter Zeile prufen
if m:
value = str(float(m.group(2)) / 1000.0) # Wert nach t= auslesen und umwandeln
a.close()
return value # Ruckgabewert "value" definieren
def GetTempunten():
a = open(Sensorunten+'/w1_slave', 'r') # Ermittelten Sensor lesen
Temp = a.readline()
if re.match(r"([0-9a-f]{2} ){9}: crc=[0-9a-f]{2} YES", Temp): # Erste Zeile auf "YES" am Ende uberprufen
Temp = a.readline()
m = re.match(r"([0-9a-f]{2} ){9}t=([+-]?[0-9]+)", Temp) # Wert aus zweiter Zeile prufen
if m:
value = str(float(m.group(2)) / 1000.0) # Wert nach t= auslesen und umwandeln
a.close()
return value # Ruckgabewert "value" definieren
while 1:
input_value = GPIO.input(input_pin)
if (input_value == True):
lcd.lcd_backlight("ON")
sleep(10)
else:
lcd.lcd_backlight("OFF")
Tempoben = float(GetTempoben()) # Die Temperatur in eine Zahl wandeln....
Nowoben = GetTempoben() # (einfaches auslesen)
Tempunten = float(GetTempunten()) # Die Temperatur in eine Zahl wandeln....
Nowunten = GetTempunten() # (einfaches auslesen)
lcd.lcd_display_string(" Aqua Pi", 1)
lcd.lcd_display_string("", 2)
lcd.lcd_display_string(Nowoben+chr(223)+"C oben", 3)
lcd.lcd_display_string(Nowunten+chr(223)+"C unten", 4)
Alles anzeigen
kann mir einer von euch bei dem problem helfen oder mir ein paar tips geben wie ich das hinbekomme?
vielen dank im vorraus
LG Veleen