xcruell
Lt. Commander
- Registriert
- Dez. 2013
- Beiträge
- 1.194
Guten Tag ihr lieben,
und zwar hatte ich vor ein kleines "StatTrak"-Display für einen Kollegen zu bauen, da er sich eine Softair gekauft hat.
Da will ich nach Möglichkeit auch die selbe Font nutzen, woraufhin ich mir 0-9 selbst gepixelt und diese mit LCDAssistant in ein byte array konvertiert habe.
Die Bitmaps selbst kriege ich manuell ohne Probleme auf mein 128x32 OLED Display angezeigt.
Jetzt frage ich mich nur wie ich einen counter erstelle, welcher statt der Zahlen die jeweilige Bitmap anzeigt.
Bspw. der Counter steht bei 1337, dann sollen auch die bitmaps für 1, 3, 3 und 7 angezeigt werden.
Ich habe leider noch fast nichts mit Displays gemacht und finde mit bestem Willen nichts hilfreiches.
Falls mir jemand direkt helfen könnte oder mir einen Doku-link geben kann, wäre das fantastisch!
Grüße!
und zwar hatte ich vor ein kleines "StatTrak"-Display für einen Kollegen zu bauen, da er sich eine Softair gekauft hat.
Da will ich nach Möglichkeit auch die selbe Font nutzen, woraufhin ich mir 0-9 selbst gepixelt und diese mit LCDAssistant in ein byte array konvertiert habe.
Die Bitmaps selbst kriege ich manuell ohne Probleme auf mein 128x32 OLED Display angezeigt.
Jetzt frage ich mich nur wie ich einen counter erstelle, welcher statt der Zahlen die jeweilige Bitmap anzeigt.
Bspw. der Counter steht bei 1337, dann sollen auch die bitmaps für 1, 3, 3 und 7 angezeigt werden.
Ich habe leider noch fast nichts mit Displays gemacht und finde mit bestem Willen nichts hilfreiches.
Falls mir jemand direkt helfen könnte oder mir einen Doku-link geben kann, wäre das fantastisch!
Code:
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include "bmps.h"
#define LOGO_HEIGHT 34
#define LOGO_WIDTH 24
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 32
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup() {
Serial.begin(9600);
Wire.begin(0,2);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
for(;;);
}
display.clearDisplay();
bmptest();
}
void loop() {
}
void bmptest(void) {
display.clearDisplay();
display.drawBitmap(0, -1, one, LOGO_WIDTH, LOGO_HEIGHT, 1);
display.drawBitmap(32, -1, three, LOGO_WIDTH, LOGO_HEIGHT, 1);
display.drawBitmap(64, -1, three, LOGO_WIDTH, LOGO_HEIGHT, 1);
display.drawBitmap(96, -1, seven, LOGO_WIDTH, LOGO_HEIGHT, 1);
display.display();
delay(1000);
}