Mittwoch, 31. März 2021

Telefunken Partner Compact 101 mit iRadio

FAQ zum iRadio 

noch ein weiterer Radiorecorder. Gegenüber dem uliberry hab ich das Konzept etwas geändert.

Im Tastensatz sitzt ein Mikroschalter. Bei gedrückter Wiedergabe-Taste nimmt er dem Rasperry Netzteil die Netzspannung weg. Dadurch fällt auf der 5V-Seite ein Relais ab, welches dann den Signalweg auf das ursprüngliche FM/AM-Radio umschaltet. Schaltet man mit der Aufnahmetaste auf das iRadio um dauert es dann natürlich erst mal eine Zeit bis der raspberry wieder hochgefahren ist.

Hier kam mir der Umstand entgegen dass sich das Kassettenreorder-Laufwerk von den Bedientasten einfach durch Abschrauben trennen lies. Es kam aber auch eine Erschwernis hinzu. Der Recorder hat keine abnehmbare Rückwand, sondern eine Gehäuse-Haube, die von oben übergestülpt wird. Die Raspberry/Display-Einheit muss daher von vorne durch das Kassettenfach eingesetzt werden. Die Einheit ist auf dem Kassettenfachdeckel fest montiert. Die Halterung habe ich so konstruiert dass ein Steg in eine angeklebte Führung auf der Rückseite der Haube eingesteckt wird und durch eine kleine Bohrung mit einer M3-Schraube fixiert wird. Mit dieser einen Schraube ist also die ganze Einheit entnehmbar. Ausser der einen Schraube auf der Rückseite und dem Bedienknopf an der Seite ist dem Gerät von aussen erst mal nichts anzusehen. Der dunkel getönte Kassettenfachdeckel lässt kein Display dahinter erahnen.

An der linken Seitenwand gab es eine TA-Buchse. Diese habe ich entfernt und in die Öffnung einen Drehencoder montiert. Natürlich zurückversetzt, damit die Haube sich noch abnehmen läßt. Ein stilechter Knopf mit langem Schaft wird auf den Encoder aufgesteckt. Durch Drehung wird sich innerhalb der playlist bzw. den Mediendateien bewegt. Ein Druck auf den Encoder schaltet um zwischen Internetstationen und Medienbetrieb.

Das Gekabel auf der Oberseite ist ein Provisorium. An dem Schieberegler für Lautstärke ist eine Miniatur-Niete ausgebrochen. Ein neuer Schieberegler ist bestellt, solange kann die Lautstärke mit einem 4mm-Poti eingestellt werden. Es gibt auf analoger Seite noch ein weiteres Problem. Das Skalenseil muss neu aufgelegt werden und ich konnte mich noch nicht dazu durchringen mich darum zu kümmern.

Das Gerät hat einen sauberen, störungsfreien Klang und es macht Freude damit Radio (analog oder digital) zu hören oder meine Mediendateien mit den Kassettensimulationen abzuspielen. Ebenso wie beim uliberry läuft im Internetradiobetrieb die hmaisch-Animation mit der gelben Musikkassette.

Das Relais für die NF-Umschaltung und der Halter für den Encoder (den Encoder hatte ich später noch ausgetauscht):
 



Die Digitaleinheit wird von vorne eingesetzt:

 

..und mit dem Ausleger an der Halterung an der Rückseite angeschraubt

Die Medienwiedergabe:


 
 
der defekte Schieberegler und der Mikroschalter im Tastensatz:

Gesamtansicht:


 

eine Übersicht der gedruckten Teile:

der Halter für den Encoder:

seitliche Halterung für den raspberry:


 

das Gegenstück für die Gewindeeinsätze:

der Ausleger:


 

Gegenstück für Gewindeeinsatz:

Halter für den Mikroschalter:


 

die Führung für den Ausleger:

Grundplatte für das Relais:


 

die software hab ich ja an anderer Stelle schon mehrmals beschrieben. Ich will trotzdem noch einmal alle Schritte auflisten, vor allem alle Anpassungen genauestens dokumentieren. Auch wenn ich mich damit wiederhole. So hat ein Nachbauer aber alles an der Hand ohne sich Details woanders zusammensuchen zu müssen.


Der raspberry wird mit dem aktuellsten raspberry pi os bespielt. Es wird wlan und ssh eingerichtet, hostname und passwort vergeben und weitere Angaben über das Umfeld per automatischem Assistent festgelegt. Also eine Standardinstallation auf der man dann aufbauen kann.

Es folgt die iRadio Grundinstallation

git clone https://github.com/BM45/iRadio.git

und anschliessendes Ausführen von

sudo ./install.sh

im iRadio-Ordner.

cassettensim-Animation

Vorbereitend für die cassettensim-Animation benötigen wir die SDL2-Bibliothek:

sudo apt-get install libsdl2-*

und passen in der sdlskale.cxx im Ordner iRadio/display/x11/cassettensim diverse Werte vor allem für die Größenverhältnisse eines 3,5" SPI-RPI-Display an:

Code:
// Rotationsgeschwindigkeit der Kassettenspulen
              rotationswinkel -= 8;

Code:
#define SKALE_HOEHE 667
#define SKALE_BREITE 1000

Code:
// Position und Dimension der Kassetenspulen
       SDL_Rect SpuleLinksRect;
       SpuleLinksRect.x = 240; SpuleLinksRect.y = 246;
       SpuleLinksRect.w = 120;  SpuleLinksRect.h = 120;

       SDL_Rect SpuleRechtsRect;
       SpuleRechtsRect.x = 649; SpuleRechtsRect.y = 246;
       SpuleRechtsRect.w = 120;  SpuleRechtsRect.h = 120;

Code:
/ Position und Dimension Programmanzeige
               int texW = 0; int texH = 0;
               SDL_QueryTexture(textur_prgtitel, NULL, NULL, &texW, &texH);
               SDL_Rect dstrect_p = { 370, 350, texW, texH };

Code:
// Position und Dimension Songanzeige
               SDL_QueryTexture(textur_songtitel, NULL, NULL, &texW, &texH);
               SDL_Rect dstrect_s = { 370, 460, texW, texH };

mit:
sudo ./build.sh

im gleichen Ordner kann nun die Animation compiliert werden. Der Aufruf wird in die rc.loal eingetragen.

Code:
startx /home/pi/iRadio/display/x11/cassettensim/sdlskale &

der Teiber fbcp-ili9341:


sudo apt-get install cmake
cd ~
git clone https://github.com/juj/fbcp-ili9341.git
cd fbcp-ili9341
mkdir build
cd build

cmake -DSPI_BUS_CLOCK_DIVISOR=40 -DWAVESHARE35B_ILI9486=ON -DUSE_DMA_TRANSFERS=OFF -DDISPLAY_BREAK_ASPECT_RATIO_WHEN_SCALING=ON -DSTATISTICS=0 ..

make -j


auch hier wird ein Aufruf in der rc.local hinterlegt

Code:
/home/pi/fbcp-ili9341/build/fbcp-ili9341 &


in der raspi-config stellen wir eine Auflösung von 720x480 16:9 ein.

mediaplayerd

im Ordner iRadio/mediaplayerd wird die mediaplayerd.cpp ausgetauscht gegen die Version hier in post #420:

FAQ zum iRadio 

die Steuerdatei iRadio/mediaplayerd/mpvlcd wird ergänzt durch:

Code:
--random \
--zoom 2.3 \
--aspect 16:9 \
--no-autoscale \

und der mediaplayerd mittels build.sh wie gehabt erzeugt und in der rc.local eingetragen.

Code:
/usr/bin/mediaplayerd &

Bau der Drehencodersteuerung

unter dem obigen link in post #419 findet sich ein neuer Inhalt für die Datei iRadio/rotary.c. Damit wird der Taster für die Medienumschaltung aktiviert.

Die Belegung des encoders ist im Quellcode ersichtlich. Hier noch der Hinweis: es muss ein encoder-Modul mit pullup-Widerständen benutzt werden.

natürlich ist hier auch wieder ein build.sh notwendig.

Aktivierung der Tonausgabe über die Klinkenbuchse

mit:

aplay -l

lassen wir uns die card-nummer der Klinkenbuchse anzeigen und übernehmen den Wert in die Datei asound.conf

sudo nano /etc/asound.conf

die dann z.B. so aussieht:

Code:
pcm.!default {
 type hw
 card 1
}

ctl.!default {
 type hw
 card 1
}

Keine Kommentare:

Kommentar veröffentlichen