Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Teensy Audio Spectrum Analyser
Momentan baue ich einen Audio Spectrum Analyzer auf Basis eines Teensy 3.6 und den Audio Adaptor Board.
Gewünschte Funktionen:
- Stellt das Spektrum eines Stereoaudiosignals auf zweifarbigen LED-Matrix-Displays an.
- Signaleinspeisung über Toslink (optisch).
- Das Toslink-Signal wird durchgeschleift.
- Der Pegel kann eingestellt werden (ist evtl. nicht erforderlich).
Links:
Gehäuse
NeoPixel-Matrix
Beispiel von GreatScott
Bibliotheken
Elektronik
OLED-Display
Auf einem OLED-Display soll eine Menüstruktur abgebildet werden. Wie bei meinem Flaschenkühler wird ein Display von Adafruit verwendet. Das Display funktioniert mit der Library von Adafruit, die aber sehr langsam ist und die Verwendung des Displays stark einschränkt. Eine vielversprechende Alternative ist die optimierte Bibliothek von kirberich, die aber nur funktioniert, wenn der Teensy mit 72 MHz läuft (https://forum.pjrc.com/threads/40462-Teensy3-5-and-SSD1351-128x128-OLEDsiehe dazu auch diese Diskussion). Es muss also eine andere Alternative her …
- Die Bibliothek SSD13XX funktioniert auch nicht. Bei 96 MHz wird etwas angezeigt, was Testgrafiken sein könnten, aber alles wird falsch angezeigt.
Links:
Das OLED-Display wird an den folgenden Pins angeschlossen:
Teensy 3.6 Adafruit OLED Breakout Board GND GND (G) 3,3 V VIN (+) 14 (SCK0) SCLK (CL) 7 (MOSI0) MOSI (SI) 20 (CS0) DC 21 (CS0) OLEDCS (OC) CS 8 RST (R)
Dreh-Encoder
Einstellungen können über zwei Dreh-Encoder mit zusätzlicher Tastfunktion vorgenommen werden.
Umschalten des Eingangssignals
Der Spektrumanalysator kann aus drei Signalquellen gespeist werden:
- digital (optisch/coaxial)
- analog (Cinch)
- analog (Klinke)
Mit dem Dreh-Encoder 1 kann zwischen den Signalquellen umgeschaltet werden. Das Schalten geschieht mit bistabilen Relais (Datenblatt). Die Spulen der Relais werden mit einem ULN2803A (Datenblatt) geschaltet. Das Signal des Teensy 3.6 wird mit einem 74HCT245 (Datenblatt) auf 5 Volt gebracht.
Interessante Links:
Programmversionen
- Programmversion 0.1: FFT und Peak-Analyse
- Programmversion 0.2: Fügt einen Drehencoder hinzu
- Programmversion 0.3: Das Eingangssignal kann mit dem Drehencoder eingestellt werden.
- Programmversion 0.4: Ein NeoPixel-Streifen wird angesteuert
- Programmversion 0.5: Bindet das OLED-Display ein
- Programmversion 0.6: Eine NeoPixel-Matrix wird angesteuert