Kölsche un‘ europäische Tön

Die Projektdokumentation (pdf) nach Vorlage für Code your life

Hier die mp3-Dateien der Lieder „Viva Colonia“ und der „Europa-hymne“

Daniel (Sound), Enes (Installation), Jannis (Texte und Organisation), Jan (Programmierung des RasPis)

Bitte folgen Sie den unten stehenden Links zu den Vorstellungsvideos (.mp4)

Eine kurze Beschreibung des Projektes

Wir wollen unsere direkte Heimat (Köln), welche durch den Kölner Dom dargestellt ist, mit der größeren, Europäischen Heimat verbinden. Dazu haben wir den Kölner Dom aus Holz nachgebaut und mit „Sonic Pi“ zwei verschiedene Lieder programmiert, einmal das Karnevalslied „Viva-Colonia“ von den Höhnern, welches für Köln steht und zum anderen die Europahymne „Ode an die Freude“. Die Lieder werden durch unterschiedlich farbige LEDs unterstützt, welche passend zur Musikauswahl leuchten.

Anleitung zur Bedienung

  1. Lautsprecher einschalten
  2. Kölner Dom auf das Podest stellen
  3. Kabel vom Raspberry Pi einstecken
  4. warten bis alle LEDs leuchten (danach nochmal ca. 15 Sekunden warten)
  5. ein Lied auswählen
  6. Um ein anderes Lied auszuwählen, muss der Raspberry Pi wieder ausgesteckt und die Schritte 3-5 wiederholt werden

Unsere Arbeitsschritte

19.03.2019-23.03.2019: Ideen und erste Entwürfe

23.03.2019 -30.03.2019: Fertigstellung des Kölner Doms, Sonic Pi Lieder erstellt und Python-Code weitestgehend fertiggestellt

31.03.2019-02.04.2019: Kölner Dom mit grauer Farbe angemalt und Innenleben fertig gestellt (LEDs verkabelt, Lautsprecher und Raspberry Pi untergebracht).

03.04.2019: Finale Feinheiten am Python-Programm und an der Melodie der Lieder verändert

04.04.201 Abgabe des Projektes an die Post

Bilder von der Entwicklung

Daniel (links) und Enes (rechts) bringen gerade das Holz des Doms in die richtige Form. Dazu benutzen sie Dremel und Feile
Hier wurden Teile des Doms mit grauer Farbe angemalt
Jannis (links) bearbeitet gerade das Podest, auf dem der Dom stehen soll und Jan (rechts) schließt die LEDs an den Raspberry Pi an und versucht sie anzusteuern

Die Codes unseres Projektes

Im Folgenden der Python-Code, welcher die LEDs blinken und die Musik abspielen lässt.
import RPi.GPIO as GPIO
import time
import vlc
Instance = vlc.Instance()
player = Instance.media_player_new()
Media1 = Instance.media_new('Europa8Bit120BPM.wav')
Media2 = Instance.media_new('Colonia80BPM.wav')
print("start")


try: 
 GPIO.setwarnings(False)
 GPIO.setmode(GPIO.BOARD)
 GPIO.setup(10, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
 GPIO.setup(8, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
 GPIO.setup(11,GPIO.OUT)
 GPIO.setup(13,GPIO.OUT)
 GPIO.setup(15,GPIO.OUT)
 GPIO.setup(7,GPIO.OUT)


 def button_callback_I(channel):
     print("Taste1 wurde gedrückt")
     b = 0
     player.set_media(Media1)
     player.play()
     while b < 16:
      GPIO.setmode(GPIO.BOARD)
      GPIO.setup(10, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
      GPIO.setup(8, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
      GPIO.setup(11,GPIO.OUT)
      GPIO.setup(13,GPIO.OUT)
      GPIO.setup(15,GPIO.OUT)
      GPIO.setup(7,GPIO.OUT)
      GPIO.output(7, GPIO.HIGH)
      GPIO.output(15, GPIO.HIGH)
      GPIO.output(11, GPIO.HIGH)
      time.sleep(1)
      GPIO.output(11, GPIO.LOW)
      GPIO.output(13, GPIO.HIGH)
      time.sleep(1)
      GPIO.output(13, GPIO.LOW)
      b = b + 1
      GPIO.cleanup()


 def button_callback_II(channel):
     print("Taste2 wurde gedrückt")
     b = 0
     player.set_media(Media2)
     player.play()
     while b < 75:
      GPIO.setmode(GPIO.BOARD)
      GPIO.setup(10, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
      GPIO.setup(8, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
      GPIO.setup(11,GPIO.OUT)
      GPIO.setup(13,GPIO.OUT)
      GPIO.setup(15,GPIO.OUT)
      GPIO.setup(7,GPIO.OUT)
      GPIO.output(11, GPIO.HIGH)
      GPIO.output(13, GPIO.HIGH)
      GPIO.output(7, GPIO.HIGH)
      time.sleep(0.75)
      GPIO.setmode(GPIO.BOARD)
      GPIO.output(7, GPIO.LOW)
      GPIO.output(15, GPIO.HIGH)
      time.sleep(0.75)
      GPIO.output(15, GPIO.LOW)
      b = b + 1
      GPIO.cleanup()


 GPIO.add_event_detect(10,GPIO.RISING,callback=button_callback_I)
 GPIO.add_event_detect(8,GPIO.RISING,callback=button_callback_II)
 message = input("Press enter to quit\n\n") 

except:
 pass

Hier ein Ausschnitt des Codes für das Karnevalslied (Insgesamt umfasst unser Lied 81 Takte, hier jetzt nur die ersten 5)
/Karnevalslied/
/Viva Colonia/
/von Jan,Jannis,Enes und Daniel/

/Dauer : 2min 25sec/


use_bpm 80


/Takt 1/
play :bb, release:2
play chord(:g3, :minor), release:2
sleep 2
play :a, release:2
play chord(:d3, :major), release:2
sleep 2

/Takt 2/
play :c, release: 0.5
play chord(:c3, :minor), release:2
sleep 0.5
play :bb, release: 0.5
sleep 0.5
play :a, release: 0.5
sleep 0.5
play :g, release: 0.5
sleep 0.5
play :a, release: 1
play chord(:d3, :major), release:2
sleep 1
play :d, release: 0.5
sleep 0.5
play :d, release: 0.5
sleep 0.5

/Takt 3/
play :g, release: 1
play chord(:g3, :minor), release:2
sleep 1
play :g, release: 0.5
sleep 0.5
play :g, release: 0.5
sleep 0.5
play :a, release: 1
play chord(:d3, :major), release:2
sleep 1
play :a, release: 0.5
sleep 0.5
play :a, release: 0.5
sleep 0.5

/Takt 4/
play :bb, release: 1
play chord(:b3, :major), release:2
sleep 1
play :c5, release: 0.5
sleep 0.5
play :d5, release: 0.5
sleep 0.5
play :c5, release: 2
play chord(:c3, :major), release:2
sleep 2

/Takt 5/
play :bb, release: 0.5
play chord(:e3, :minor), release:2
sleep 0.5
play :c5, release: 0.5
sleep 0.5
play :d5, release: 0.5
sleep 0.5
play :bb, release: 0.5
sleep 0.5
play :c, release: 0.5
play chord(:d3, :major), release:2
sleep 0.5
play :bb, release: 0.5
sleep 0.5
play :g, release: 1
sleep 1
Und zuletzt die Europa-Hymne (auch hier nur die ersten 5 Takte)
/Europahymne/
/Ode an die Freude/
/von Jan,Jannis,Enes und Daniel/

/Dauer : 40sec/

use_bpm 100

/Takt 1/
play :e
play :c3 , release:4
play :g3 , release:4
sleep 1
play :e
sleep 1
play :f
sleep 1
play :g
sleep 1

/Takt 2/
play :g
play :b2 , release:4
play :g3 , release:4
sleep 1
play :f
sleep 1
play :e
sleep 1
play :d
sleep 1

/Takt 3/
play :c
play :b2 , release:4
play :g3 , release:4
sleep 1
play :c
sleep 1
play :d
sleep 1
play :e
sleep 1

/Takt 4/
play :e
play :b2 , release: 1.5
play :g3 , release: 1.5
sleep 1.5

play :d
sleep 0.5
play :d
play :b3 , release: 2
play :g3 , release: 2
sleep 2

/Takt 5/
play :e
play :c3 , release:4
play :g3 , release:4
sleep 1
play :e
sleep 1
play :f
sleep 1
play :g
sleep 1
Erstelle deine Website auf WordPress.com
Jetzt starten
%d Bloggern gefällt das:
search previous next tag category expand menu location phone mail time cart zoom edit close