Hallo Zusammen, zwischen den Feiertagen habe ich meine Rennstrecke um eine kleine Tankstelle erweitert. Die hat natürlich auch wieder eine Tankstellenanzeige mit zwei 0.91 OLED-Displays. Eines für die Vorderseite und eines hinten. Angesteuert werden die beiden Displays mit einem ESP32 der alle 5 Minuten aktuelle Preise aus dem Internet holt und auf das Display schreibt. Da der Geschäftsführer einer gewissen Modellbaufirma uns in Leipzig besucht und für lau alle Ideen eingesammelt und mitgenommen hat, dachte ich mir ich veröffentliche mal eine Anleitung zum Nachbauen. Ich will ja keine Namen verraten, aber bei Viessmann gibt es jetzt meine Werbetafeln und eine Tankstellenanzeige...
Hier könnt ihr eine Bauanleitung sehen. Den Arduino Code und die benötigten .STL Dateien zum Ausdrucken findet ihr darunter.
/* Dieser Sketch ermöglicht die Anzeige der aktuellen Spritpreise auf einem OLED SSD1306 32x128 auf einer Modelleisenbahn. Die Größe der Anzeige ist für den MAßstab H0 sehr gut geeignet. Der Empfang aktueller Spritpreise erfolgt über einen ESP32 von der Webseite https://creativecommons.tankerkoenig.de/ Hier kann nach Registierung der entsprechende (kostenlose) API-Key angefordert und die ID einer Tankstelle nach freier Wahl ermittelt werden. Die Verbindung zwischen ESP 32 und dem SSD1306 Display erfolgt über I2C. IO21 -> SDA IO22 -> SCL
U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R3, /* reset=*/ U8X8_PIN_NONE,SCL,SDA); // R1 dreht das Display un 90 Grad zum Hochformat //U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R1, /* reset=*/ U8X8_PIN_NONE);
#define U8G2_16BIT // setzen der 16bit Verison
//const char *text = "Werkstatt Reifendienst Shop CleanCar "; // Lauftext von rechts nach links const char *text = "Geoeffnet "; // Lauftext von rechts nach links
x = offset; // draw the scrolling text at current offset u8g2.setFont(u8g2_font_4x6_mr); // set the target font const u8g2_uint_t width = u8g2.getUTF8Width(text); // Bechnung der Pixelbreite des Textes do { // repeated drawing of the scrolling text... u8g2.drawUTF8(x, 125, text); // draw the scolling text x += width; // add the pixel width of the scrolling text } while ( x < u8g2.getDisplayWidth() ); // draw again until the complete display is filled
u8g2.sendBuffer(); // transfer internal memory to the display
offset -= 1; // scroll by one pixel if ( (u8g2_uint_t)offset < (u8g2_uint_t) - width ) offset = 0; // start over again } }
void preisanzeige() { static unsigned long lastTime = 0; // 5 Minuten (300000) const unsigned long timerDelay = 300000UL; // Um die ersten 5 Minuten zu überspringen static bool skiptimer = true;
if ((millis() - lastTime) > timerDelay || skiptimer == true) { // sende eine HTTP GET Anforderung
if (WiFi.status() == WL_CONNECTED) { // überprüfe die WLAN-Verbindung
if (JSON.typeof(myObject) == "undefined") { Serial.println("Parsing input failed!"); return; }
u8g2.clearBuffer(); // internen Speicher löschen u8g2.setFont(u8g2_font_5x7_mr); // setzen der Font-Größe u8g2.setCursor(0, 6 ); // setzen des Cursers u8g2.print("Diesel"); // Schreiben des Textes an die Curserposition
u8g2.setFont(u8g2_font_6x12_mr); // setzen der Font-Größe u8g2.setCursor(3, 18 ); // setzen des Cursers u8g2.print(myObject["station"]["diesel"]); // Schreiben des Wertes sus dem augelesenen JSON-String
das ist ja mal eine super geniale Erklärung !! Mit Video und allem was wir Modellbastler zum Nachbauen benötigen. Ob ich jemals dazu komme steht allerdings in den Sternen. Aber warum erzählst Du dem Viess-Typen so viel?
Die Firma Viessmann ist bei mir sowieso unten durch.... Nehmen einfach unsere Modelle am Stand in die Hand und machen Fotos. Das geht garnicht ! Sie klauen überall Ideen und verkaufen es dann als ihre Ideen. Und die Leute rennen Ihnen hinterher als wären es Götter...
Moin Zusammen, da ja nicht jeder eine Aral Tankstelle besitzt, habe ich die Anzeigetafel für verschiedene Marken gezeichnet. Das Logo als Quadrat für z.B. Shell und BP, ein Rechteck für z.B. Jet und eine Ellipse für z.B. ESSO. Die .STL Daten sollten demnächst bei Thingiverse zum Download bereit stehen.
Tankanzeigen.jpg - Bild entfernt (keine Rechte)
---------------------------------------------------- Viele Grüße aus dem Norden
Hm, das ist leider ungewolltes Salz in meine Wunde. Der Fortschritt beim Projekt "Modulbau" ist leider eher im negativen Bereich. Ich muss also eher schauen, dass ich überhaupt mal vorwärts komme.
Also ich finde die Idee klasse. Das hat mich gereizt, weil ich noch nie etwas mit einem Arduino gemacht habe. (man braucht halt ein Projekt..) Und weil ich einen ferngesteuerten Shell Lkw habe. Und weil ich noch Platz für eine Tankstelle auf der Moba habe.
Mit dem beiliegenden Bildchen bedanke ich mich,
Rüdiger der MilchMAN aus Lehrte.
Vielleicht noch ein paar Tipps für andere Totalneulinge auf dem Arduino: Ich musste nur nach Installation der IDE (https://docs.sunfounder.com/projects/vin...rduino_ide.html) noch den Treiber für die CP2102 Usb-to-serial bridge installieren. Im Netz gesucht, Hm. Der erste Versuch hatte nicht funktioniert (ungültige Treibersignatur...); mit dem hier: https://www.pololu.com/docs/0J7/all bin ich zum Ziel gekommen. Das benötigte Kabel USB auf Micro-USB hatte ich zum Glück noch rumliegen. Und die Zeit zum kompilieren fand ich erstaunlich lang. Da darf man nicht die Gedult verlieren. 20240202_182541.jpg - Bild entfernt (keine Rechte)
Moin Zusammen, in der .STL Datei für den Sockel war noch ein Fehler vorhanden. Ich habe jetzt bei Thingiverse die gespiegelte Variante hochgeladen. Die sollte in der nächsten Zeit zum Download zur Verfügung stehen.
---------------------------------------------------- Viele Grüße aus dem Norden
Hallo Leute, ich war von dem Projekt so angetan, das ich das auf jeden Fall umsetzen wollte. Da meine Anlage noch im Aufbau ist, habe ich mir gedacht ich baue ein kleines Diorama. Ist noch nicht ganz fertig, denn der Amarok soll noch Licht bekommen und auf dem Gehweg soll auch noch ein bisschen was zu sehen sein. Aber seht selbst.
Gruß Björn
Angefügte Bilder:
Aufgrund eingeschränkter Benutzerrechte werden nur die Namen der Dateianhänge angezeigt Jetzt anmelden! 20240208_173540.jpg 20240208_173635.jpg