LEDs Sim / Duty Cycle

LEDs Sim / Duty Cycle

Die Sequenzer-Simulation und Duty Cycle Gruppe besteht aus Felix Reineke und Miriam Zeineddine.

Ein Sequenzer ist realisiert als ein Gerät oder als Software zur Aufnahme, Wiedergabe und Bearbeitung von speziell codierten Daten zur Erstellung von Musik. Ziel dieser Gruppe war es einen Duty Cycle für einen solchen Sequenzer zu erstellen und dafür zu sorgen, dass 8 LEDs im Takt der eingegebenen Noten aufleuchten um diese Sequenzeraktivität darzustellen. Es werden im Rahmen des Programms immer 8 Noten eingegeben und mit der Hilfe von 8 LEDs simuliert. Des Weiteren wurde der genannte Duty Cycle implementiert, welcher die Klangdauer eines einzelnen Tons als weiteren Ausgang mittels High und Low Signals darstellt.
Hierzu wurde ab dem vierten Labortermin angefangen in den Kleingruppen zu arbeiten. Zuerst wurde der Timer Interrupt aktiviert. Der dazugehörige Code ist im Codeverzeichnis zu sehen.
Außerdem wurde ein Programm zur Ansteuerung des Demultiplexers (HC4051E) geschrieben. Eine zugehörige Schaltung wurde auf einem Steckbrett aufgebaut und ist in Abbildung 1 zu sehen. Das Programm wurde getestet und es traten keine Probleme mehr auf. Die LEDs haben in der richtigen Reihenfolge geleuchtet.

Abbildung 1: Schaltung mit Demultiplexer

Es wurde der Eingabebuffer entwickelt und ein Programm zur Verarbeitung der Töne aus dem Eingabebuffer geschrieben, welches im Wesentlichen aus einem Timerinterrupt und Schnittstellen zur Verarbeitung aller Toneingaben und Tonausgaben besteht. Während des Testens ist leider das Problem aufgetreten, dass das Programm immer wieder die vergangenen Cycles ausgeführt hat. Nach intensivem Debugging konnte jedoch eine Lösung für genau dieses Problem gefunden und implementiert werden.
Wie bereits beschrieben, wurden ihm Rahmen dessen auch die Schnittstellen für die ADC/DAC- und LCD/Taster-Gruppe bereitgestellt. Die Kleingruppen sind dadurch in der Lage sich vergangene Töne, welche gerade abgespielt werden, zu nehmen und sie zu bearbeiten. Nach der Bearbeitung können diese Töne dann wieder in den Buffer eingefügt werden. Des Weiteren können sie damit auch auf gerade aktive Töne zugreifen, diese entgegennehmen und Ausgabefunktionen für diese bereitstellen. Im Codeverzeichnis ist das Programm zu sehen.
Das Programm wurde in Kombination mit der IDE Atmel Studio 7 erstellt.

Folgende Methoden wurden implementiert:

  • void UpdateDeMultiplexer(void)
  • void InitPorts(void)
  • void machkeinScheiss(void)
  • void InitTimer0(void)
  • void InitSound(void)
  • uint8t PutSound
  • void GetNextSound(void)
  • uint8t GetActualNote(void)
  • ISR(TIMER0 OVF vect)

Zusammenfassung

Zusammenfassend kann man sagen, dass alle gesetzten Ziele erreicht wurden.
Diese Ziele waren:

  • ein Programm für den Demultiplexer um mit den LEDs am Ausgang anzuzeigen, welche der 8 Noten gerade klingt
  • eine Initialisierung eines Timers, so dass dieser vollständig konfiguriert und aktiviert wird
  • eine Matrix (ein Buffer) für die Töne, um mit diesen nachfolgend arbeiten zu können
  • eine Schnittstelle für die LCD-Gruppe, um neue Töne in den Buffer einbringen zu können
  • ein Sprung zu den nächsten 8 Tönen, wenn notwendig (die letzten 8 Töne werden wiederholt, wenn es keine weiteren Töne gibt)
  • eine Funktion zu dem Auslesen der aktuell klingenden Note
  • ein Timerinterrupt, welcher zeitabhängig alle Ausgänge, in Abhängigkeit von den aktuellen Tönen aktualisiert, sowie neue Töne für die Ausgabe bereitstellt
  • ein Duty Cycle, welcher innerhalb des Timerinterrupts implementiert ist

Wie bereits erwähnt, trat zwischenzeitlich leider ein Problem bei der Verarbeitung der Töne aus dem Eingabebuffer auf. Dieses Problem wurde allerdings erfolgreich gelöst.

Neueste Beiträge

Projekt Synthaffäre

Was ist das Projektlabor ? 
Die Studierenden realisieren ein selbst ausgedachtes und gewähltes elektronisches Projekt. In Kleingruppen aufgeteilt bearbeiten sie selbständig Teile des Projekts unter Anleitung der Betreuer und erlernen dabei auch Grundlagen des Projektmanage-
ments.
Die einzelnen Schaltungen der Gruppen werden durch selbst definierte Schnittstellen miteinander verbunden. Diese sollen dann gemeinsam funktionieren und zusammen ein Gerät bilden. Fehlende Kenntnisse zum Bau des Geräts werden während des Semesters erworben. Außerdem können und sollen sich die Kenntnisse der TeilnehmerInnen in den Arbeitsgruppen ergänzen.
Das Projektlabor umfasst 6 SWS, in denen der Umgang mit den Programmen LTspice und Eagle, das Entwickeln von Schaltungen, das praktische Arbeiten an Schaltungen, Platinendesign und der Einsatz von Messgeräten zur Fehlerbestimmung erlernt werden sollen.

https://www.projektlabor.tu-berlin.de/menue/home/

Das Projektlabor SS2019

Herzlich willkommen auf unserer Projektlabor-Seite. In diesem Semester wird das  Projekt Synthaffäre umgesetzt . Um das zu erreichen sind wir in 4 großen Gruppen aufgeteilt und jede Gruppe in 3-6 Kleingruppen aufgeteilt.
Dabei handelt es sich um einen Synthesizer – ein Musikinstrument.
Der Synthesizer ist dazu in der Lage auf elektronischem Weg auf analoger oder digitaler Basis Klänge zu erzeugen  und diese weiterzuverarbeiten. Er ist eines der zentralen Werkzeuge in der Produktion elektronischer Musik insbesondere für Musikstile wie House, Techno oder Drum and Bass.
Hier können Sie den Verlauf der Entwicklung des Synthesizers kennenlernen. Darüber hinaus  sind hier noch  verwendete Schaltungen, Bilder des Arbeitsprozesses, Codes und Vieles mehr zu finden .

 

Wichtige Termine und Friste für das Projektlabor :

1. Abgabefrist fur den Abschlussbericht : 1.Juli

2. Abschlusspräsentation : 11.Juli um 16:00 Uhr im E020