Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Art-Deco Radio mit iRadioMini
#1
ich will heute mein erstes Selbstbauradio mit Bernhard's iRadioMini-Software vorstellen.

Die Grundkonstruktion stammt von educ8s.tv, der das Gehäuse für ein Arduino-UKW-Radio konstruiert hatte.



Die STL-Dateien gibt es hier:

Art Deco FM Radio with Arduino

Ein paar Kleinigkeiten habe ich mit tinkercad geändert. Hauptsächlich Bohrungen für Gewindeeinsätze. Eine Schallwand und ein Innenchassis hab ich mir angefertigt. Das Nokia Display PCD8544 wollte ich beibehalten. Ich hätte auch ein 1,3" OLED mit SSH1106 Controller anpassen können. Ich wollte aber den nostalgischen Flair des Nokia.

Der Ausdruck des Gehäuses ist mit über 8 Stunden recht zeitintensiv. Der erste Versuch ist nicht sonderlich gelungen. Das Gehäuse hatte sich übermässig verformt. Das war aber meine eigene Schuld. Hier ein Bild mit dem 1,3" OLED.

   

Auch der zweite Druck ist nicht perfekt. Die Front ist etwas vernarbt. Der Flashforge braucht dringend ein neues Druckbett. Aber das Gehäuse ist gerade und masshaltig.

   

Auch das Chassis druckte ich zweimal, wegen Änderungen des mechanischen Konzeptes. Das TTGO T8 V1.7 Board ist auf eine kleine Lochrasterplatine aufgesockelt. Ich benutzte keine Dupont-Kabel, sondern lötete alle Verbindungen mit flexibler Litze. Der Encoder für die Senderwahl ist nur als einfacher Taster geschaltet und eine Drehbewegung schaltet die playlist immer nur in Vorwärts-Richtung.

   

das ist der aktuelle Stand. Das kleine Loch mittig zwischen den Knöpfen wird noch dem Anschrauben eines kleinen Emblemes dienen.

   

   

   

   

   

   

   

   

   

beim Einbinden des Nokia-Display in die Software hatte ich einige Startschwierigkeiten. Mit massiver Unterstützung von Bernhard ist es dann aber geglückt. Da ich erstmals den internen DAC zur Audioausgabe benutze baute ich mir eine extra toolchain mit der IDF 4.3. Die Version 4.4 unterstützt den internen DAC nicht mehr. Das ursprünglich vorgesehene NF Modul mit TDA2822M ersetzte ich später gegen ein XPT8871 Modul. Kaum zu glauben das ein D-Class Modul weniger Störgeräusche abliefert als ein konventionelles TDA-Modul.

In Kürze die Besonderheiten des Nokia 5110-LCD:

nach der Anleitung von Bernhard ganz normal die lvgl-Bibliotheken installieren.

in menuconfig folgende Einstellungen vornehmen (die PIN-Belegung ist natürlich nicht verpflichtend)


.jpg   nokia1.JPG (Größe: 28,65 KB / Downloads: 316)


.jpg   nokia2.JPG (Größe: 39,27 KB / Downloads: 316)


.jpg   nokia3.JPG (Größe: 37,01 KB / Downloads: 316)

in der iRadioMini/main/modules/display/lvgl/displayd_lvgl.c das Nokia Display ergänzen:

Code:
#if defined CONFIG_LV_TFT_DISPLAY_CONTROLLER_IL3820         \
    || defined CONFIG_LV_TFT_DISPLAY_CONTROLLER_JD79653A    \
    || defined CONFIG_LV_TFT_DISPLAY_CONTROLLER_UC8151D     \
    || defined CONFIG_LV_TFT_DISPLAY_CONTROLLER_SSD1306     \
    || defined CONFIG_LV_TFT_DISPLAY_CONTROLLER_PCD8544

Die Tastenabfragen durch Auskommentieren dieses Blockes deaktivieren:

Code:
/* static void btn_event_cb(lv_event_t * e)
{
    lv_event_code_t code = lv_event_get_code(e);
    lv_obj_t * btn = lv_event_get_target(e);
    if(code == LV_EVENT_CLICKED) {
        // Add your btn code here
    }
}
*/

diese 3 Blöcke ebenfalls auskommentieren oder löschen:

Code:
lv_obj_t * btn_next = lv_btn_create(lv_scr_act());
   lv_obj_set_pos(btn_next, 100, 170);
   lv_obj_set_size(btn_next, 60, 40);
   lv_obj_add_event_cb(btn_next, btn_event_cb, LV_EVENT_ALL, NULL);

   lv_obj_t * label = lv_label_create(btn_next);
   lv_label_set_text(label, LV_SYMBOL_NEXT);
   lv_obj_center(label);

   lv_obj_t * btn_prev = lv_btn_create(lv_scr_act());
   lv_obj_set_pos(btn_prev, 20, 170);
   lv_obj_set_size(btn_prev, 60, 40);

   lv_obj_t * label2 = lv_label_create(btn_prev);
   lv_label_set_text(label2, LV_SYMBOL_PREV);
   lv_obj_center(label2);

die Auflösung des LCD anpassen:

Code:
disp_drv.hor_res  = 84;
disp_drv.ver_res  = 48;

die Ausgabetexte für die kleine Auflösung anders positionieren:

Code:
/*Create a widgets on the currently active screen*/
   lv_obj_t * label_prog =  lv_label_create(scr);
   lv_obj_align(label_prog, LV_ALIGN_CENTER, -5, -10);
   lv_label_set_text(label_prog,"P");

   lv_obj_t * label_prog_num =  lv_label_create(scr);
   lv_obj_align(label_prog_num, LV_ALIGN_CENTER, 5, -10);

   lv_obj_t * label_url =  lv_label_create(scr);
   lv_label_set_long_mode(label_url, LV_LABEL_LONG_SCROLL_CIRCULAR);
   lv_obj_set_width(label_url,250);
   lv_obj_align(label_url, LV_ALIGN_CENTER, 0, 5);
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#2
Hallo Jupp,
ich finde Dein Projekt rundum gelungen!

Eine kleine kritische Anmerkung habe ich allerdings, nämlich die Schrift des Displays.
Sie erscheint mir als Fettschrift (Bold) eingestellt zu sein und wirkt ziemlich klobig.
Schau Dir bitte einmal diese WebSite an, dort wird eine wesentlich schlankere Schrift verwendet.
Möglicherweise verbirgt sich im Setup eine Einstellung?
Grüße aus Wassenberg,
Norbert.
Zitieren
#3
Ich wunderte mich immer was für Vorrat an Bildschirmen Jupp hat! Jetzt auch das Nokia5!!
Wo hast du es ausgegraben, Jupp?
Gruß,
Ivan
Zitieren
#4
(20.03.2022, 17:30)navi schrieb: Ich wunderte mich immer was für Vorrat an Bildschirmen Jupp hat! Jetzt auch das Nokia5!!
Wo hast du es ausgegraben, Jupp?

Hallo Ivan,

das ist ein preisgünstiges, beliebtes Bastlerdisplay, auch in der Arduino-Szene. Da muss ich nicht tief graben.

   
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#5
Unglaublich! Ich baue mir ein Radio mit!!! Versprochen!
Gruß,
Ivan
Zitieren
#6
(20.03.2022, 13:47)norbert_w schrieb: Hallo Jupp,
ich finde Dein Projekt rundum gelungen!

Eine kleine kritische Anmerkung habe ich allerdings, nämlich die Schrift des Displays.
Sie erscheint mir als Fettschrift (Bold) eingestellt zu sein und wirkt ziemlich klobig.
Schau Dir bitte einmal diese WebSite an, dort wird eine wesentlich schlankere Schrift verwendet.
Möglicherweise verbirgt sich im Setup eine Einstellung?

Hallo Norbert,

danke für das Lob! Jetzt wo im Groben alles funktioniert kann ich an die Feinheiten gehen.

ich wollte die Anzeige so minimalistisch wie im ersten post auf dem Video, wo einfach nur in großen Buchstaben die Frequenz steht. Den Punkt hab ich jetzt erreicht. Natürlich bin ich mir bewusst dass es als einzige Information nur die Stationsnummer gibt, und dass es bei Stationsnummern über 9 eng auf dem Display wird.

Als Schriftart habe ich per menuconfig Montserrat 46 eingestellt, und die Laufschrift ausgeblendet. Das Nokia 5110 ist ein Dinosaurier, einfarbig und mit einer für heutige Ansprüche klötzchenhafter Auflösung von 84 x 48 Pixel. Dem trage ich hiermit Rechnung. Wenn ich kontrastreiche, gestochen scharfe Informationen in geballter Fülle auf 1,3" haben will entscheide ich mich für ein modernes Display. Bei diesem Radio habe ich mich für die Ausgabe entschieden die ich jetzt realisiert habe.

   

   
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#7
..und noch ein Bild. Das kleine Pferdchen dient nicht nur der Zierde, sondern gibt dem Chassis mittels einer 2mm Schraube Halt im vorderen Bereich.

   
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren
#8
Hallo Jupp,

tolles Projekt! Da hast du jetzt quasi den Ferrari unter den iRadioMinis  Wink
Es genügt nicht keinen Gedanken zu haben: man muß ihn auch ausdrücken können. (Karl Kraus)
—-
Viele Grüße!
Shy Steffen
Zitieren
#9
Hallo, Jupp,
Gar keine Frage, sehr schönes Projekt! Thumbs_up
hat das Display auch eine Beleuchtung?
Gruß,
Ivan
Zitieren
#10
paulierwitte schrieb:Hallo Jupp,

tolles Projekt! Da hast du jetzt quasi den Ferrari unter den iRadioMinis  Wink

Ferrari war eigentlich nicht meine Intension, aber schöner Vergleich :-)

navi schrieb:hat das Display auch eine Beleuchtung?

TFT's oder LCD's haben immer eine Hintergrundbeleuchtung. Ich habe sie hier fest auf 3,3V gelegt. Es gibt Abblidungen wo ein 220 Ohm Widerstand vorgeschaltet ist. Man kann sie aber auch per gpio schaltbar machen.
Gruß,
Jupp
-----------------------------

was du baust ist immer mit dir verbunden
(Lego)

Einsamkeit ist nur ein Mangel an Technologie
(@beetlebum)
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  iRadioMini für ESP32 Bernhard45 17 11.256 09.03.2024, 22:29
Letzter Beitrag: OttoBerger
  FAQ zum iRadioMini Bernhard45 148 21.070 12.04.2022, 12:24
Letzter Beitrag: Bernhard45

Gehe zu: