#!/usr/bin/env python import os #Bibliotheken laden import time import vlc from mfrc522 import SimpleMFRC522 import lcddriver from gpiozero import MotionSensor lcd = lcddriver.lcd() #lcd definieren lcd.lcd_clear() p = vlc.MediaPlayer() # Player öffnen reader = SimpleMFRC522() pir = MotionSensor(23) # Sensor auf in 23 try: while True: # Endlosschleife die auf Bewegung wartet if pir.motion_detected: # aus der gpiozero wartet auf Bewegung p = vlc.MediaPlayer("Bitte scannen Sie eine Karte.mp3") # Mediaplayer öffnen p.play() lcd.lcd_clear() lcd.lcd_display_string("Bitte scannen ", 1) lcd.lcd_display_string("Sie eine Karte", 2) time.sleep(5) lcd.lcd_clear() lcd.lcd_display_string("Nutzen Sie Str+C", 1) lcd.lcd_display_string("um zu beenden", 2) while True: # Endlosschleife die darauf wartet das eine Karte gescannt wird id = reader.read()[0] # dazu wird die jeweilige Karten ID auf dem Display ausgegeben lcd.lcd_clear() print("Die Karten ID lautet:", id) lcd.lcd_display_string("Die Karten ID: ", 1) lcd.lcd_display_string('{0}'.format(id), 2) p.stop() time.sleep(2) if (id == 129095266764): p = vlc.MediaPlayer("Call me.mp3") p.play() time.sleep(3) lcd.lcd_display_string("Es wird Call me von", 3) lcd.lcd_display_string("Rae Jepsen gespielt", 4) p = vlc.MediaPlayer("Carly Rae Jepsen - Call Me Maybe.mp3") p.play() time.sleep (2) elif (id == 164276487417): p = vlc.MediaPlayer("Almost There.mp3") p.play() time.sleep(4) lcd.lcd_display_string("Es wird Almost There", 3) lcd.lcd_display_string("gespielt", 4) p = vlc.MediaPlayer("Disney's The Princess and The Frog OST - Almost There.mp3") p.play() time.sleep(2) elif (id ==613034193387): p = vlc.MediaPlayer("Happy.mp3") p.play() time.sleep(3) lcd.lcd_display_string("Es wird Happy ", 3) lcd.lcd_display_string("Birthday gespielt :)", 4) p = vlc.MediaPlayer("New Kids on the Block - Happy Birthday.mp3") p.play() time.sleep(2) elif (id == 611859984696): p = vlc.MediaPlayer("Linkin Park - Shadow Of The Day.mp3") p.play() lcd.lcd_display_string("Es wird Shadow ", 3) lcd.lcd_display_string("of the Day gespielt", 4) time.sleep(2) elif (id != 611859984696 or 613034193387 or 164276487417 or 129095266764): # prüft karte auf vorhandene Nummern lcd.lcd_clear() lcd.lcd_display_string("Diese Karte ist ", 1) lcd.lcd_display_string("leider nicht", 2) lcd.lcd_display_string("gueltig. Bitte versuchen", 3) lcd.lcd_display_string("Sie eine andere ", 4) else: lcd.lcd_clear() p.stop() lcd.lcd_display_string("Leider wurde keine", 1) lcd.lcd_display_string("Aktivitaet erkannt.", 2) lcd.lcd_display_string("Warte auf Aktivitaet", 3) lcd.lcd_display_string("um Programm zu starten", 4) time.sleep(10) except KeyboardInterrupt: p.stop() print ("Das Programm wird jetzt beendet") lcd.lcd_clear() lcd.lcd_display_string("Das Programm wird", 1) lcd.lcd_display_string("beendet....", 2) lcd.lcd_display_string("", 3) lcd.lcd_display_string("Auf Wiedersehen", 4) time.sleep(5) lcd.lcd_clear() GPIO.cleanup() }