Abfragen mehrerer if-Bedingungen hintereinander
Verfasst: Samstag 30. November 2019, 18:00
Hey ich in neu in der Python-Programmierung und bin gerade dabei mir ein Radio mit einem RaspberryPi 3 zu bauen.
Das Radio funktioniert soweit auch.
Nun möchte ich gern ein LCD-Display als Anzeige benutzen.
Es scheint irgend einen Fehler in meinem Code zu geben aber ich finde seit Stunden keine Lösung...
Ich habe schon einige Erfahrung in VB.net daher sollte es von der Grundidee funktionieren.
Ich benutze MPD zur Abfrage der Daten.
Wäre nett wenn sich mal Jemand meinen Code ansehen würde
Das Radio funktioniert soweit auch.
Nun möchte ich gern ein LCD-Display als Anzeige benutzen.
Es scheint irgend einen Fehler in meinem Code zu geben aber ich finde seit Stunden keine Lösung...
Ich habe schon einige Erfahrung in VB.net daher sollte es von der Grundidee funktionieren.
Ich benutze MPD zur Abfrage der Daten.
Wäre nett wenn sich mal Jemand meinen Code ansehen würde

Code: Alles auswählen
def main():
# Main program block
# Initialise display
lcd_init()
global current_volume
get_status = client.status()
if 'volume' in get_status:
current_volume = get_status['volume']
# Display Method
while True:
#while player is running
while client.status()['state'] == "play":
#Display Volume Changes Start
get_status = client.status()
if get_status['volume'] != current_volume:
if current_volume > get_status['volume']:
diff = int(current_volume) - int(get_status['volume'])
lcd_string('Volume: ' + '-' + str(diff), LCD_LINE_2, 2)
lcd_string('', LCD_LINE_3, 2)
time.sleep(1)
else:
diff = int(get_status['volume']) - int(current_volume)
lcd_string('Volume: ' + '+' + str(diff), LCD_LINE_2, 2)
lcd_string('', LCD_LINE_3, 2)
time.sleep(1)
current_volume = get_status['volume']
lcd_string('Volume: ' + current_volume, LCD_LINE_2,2)
lcd_string('', LCD_LINE_3, 2)
time.sleep(1)
#Display Volume Changes End
#Display Channel / Title / Artist (if isdefined) Start
get_song = client.currentsong()
if 'name' in get_song:
channel = 'Radio: ' + str(get_song['name'])
lcd_string(channel, LCD_LINE_1, 1)
else:
channel = 'Radio: ' + 'Unknown')
lcd_string(channel, LCD_LINE_1, 1)
if 'title' in get_song:
LongTitle = get_song['title']
if '-' in LongTitle:
Artist, Title = LongTitle.split('-')
else:
Title = LongTitle
Artist = ' '
if Title != '':
lcd_string(Title, LCD_LINE_2,2)
else:
lcd_string('', LCD_LINE_2, 2)
if Artist != '':
lcd_string(Artist, LCD_LINE_3,2)
print(get_song)
#lcd_string('',LCD_LINE_3,3)
lcd_string(song_elapsed()+" / Stream Time",LCD_LINE_4,3)
# Display Channel / Title / Artist (if isdefined) End
#while player is not running
while client.status()['state'] != "play":
# Display Clock
lcd_string(datetime.now().strftime('%H:%M'),LCD_LINE_2,2)
lcd_string(datetime.now().strftime('%m/%d/%Y'),LCD_LINE_3,2)
lcd_string('', LCD_LINE_1,2)
lcd_string('', LCD_LINE_4,2)
time.sleep(1)
time.sleep(0.1)