D1 Mini und zwei 1.8 Zoll SPI TFT Displays

  • Das Demo Projekt eines VU-Meters eignet sich gut um mit den Grafik und Farb Möglichkeiten der Displays zu spielen.

    Das Grad Zeichen vor dem C ist zb. auf Pixel Basis Programmiert.

    Um die beiden SPI Displays anzusteuern werden nur 5 Pins des D1 Mini benötigt.

    Per I2C Bus werden die Daten des BMP180(Temperatur), des BH1750(Lichtstärke) in Lux, sowie mit dem DS3231(RTC) die Uhrzeit und das Datum zum D1 Mini übertragen.

    Die NF(Wechselspannung) des Verstärkers wird zu einer Gleichspannung umgewandelt und mit Hilfe des MCP3424(18 Bit Analog/Digital) Wandlers über I2C zum D1 Mini übertragen.

    Der Zeiger des VU-Meters folgt der Gleichspannung bei einem neuen Wert wird die alte Zeiger Position gelöscht und die Skala mit Zeiger neu geschrieben.

    Im Moment wird die Gleichspannung(NF) für die ADC Eingänge mit dem Poti simuliert.

    Auch das Zeichnen von Logos oder Copyright Zeichen in allen Farben ist möglich.

    Hier ein Info Bild des Demos.

    lcd-vu-meter.pdf

  • Der Zeiger des VU-Meters folgt der Gleichspannung bei einem neuen Wert wird die alte Zeiger Position gelöscht und die Skala mit Zeiger neu geschrieben.

    Sieht gut aus. Wie hast du denn Zeiger und Skala gezeichnet? Hast du dafür eine Bibliothek benutzt?

    Kelvin

  • Sieht gut aus. Wie hast du denn Zeiger und Skala gezeichnet? Hast du dafür eine Bibliothek benutzt?

    Für den Sketch benutze ich Bibliotheken von Adafruit alle Zeilen für die Anzeige wurden aus den Beispielen der "GraphicsTest" abgeleitet.

    Ein paar Beispiele

    C
    #include <Adafruit_GFX.h>    // Core graphics library
    #include <Adafruit_ST7735.h> // Hardware-specific library for ST7735
    #include <Fonts/Picopixel.h> // Relativ klein wird für die Skalen Werte benutzt.
    tft_1.drawLine(10, 70, tft_1.width()-70, 70, ST77XX_GREEN);     // Links von Spalte 10 Zeile 70 waagerecht bis -70 Spalten vom Rechten Rand für den Grünen Teil
    tft_1.drawLine(0, 30, 9, tft_1.height()-58, ST77XX_GREEN);      // Links von Spalte 0 Zeile 30 schräg senkrecht bis Spalte 9 und -58 Abstand vom unteren Rand für die -20 Anzeige
    tft_2.drawPixel(46, 117, ST77XX_GREEN);            // Für das Gradzeichen ein Pixel.
    tft_1.fillCircle(135, 18, 7, ST77XX_CYAN);        // Ein gefüllter Kreis für das Logo.
    tft_1.drawCircle(135, 18, 6, ST77XX_BLACK);        // Der schwarze Kreis im Logo nur 1 Pixel breit.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!