Hallo zusammen
Ich möchte mich zunächst kurz vorstellen, denn ich bin neu hier: Mein Name ist Cornelius, ich bin 34 und Energie-Elektroniker. Seit meiner Ausbildung habe ich mich auch im privaten Bereich mit Elektronik beschäftigt, und um zwei Hobbys zu verbinden baue und entwerfe ich selber Röhrenverstärker für Egitarre. Da ich in meinen Amps auch verschiedene Umschaltungen vornehmen möchte, kommen die uC`s ins Spiel. Letztes Jahr habe ich angefangen, mich in die Programmierung mit Bascom einzuarbeiten. Zunächst ging es darum, MIDI-Befehle zu senden, aber nun benötige ich für meinen Fussschalter eine Anzeige (für z.B. den Speicherplatz, den ich aufrufen möchte). Dafür habe ich mir von adafruit eine 8x8 LED-Matrix besorgt die mit einem HT16k33 bepackt ist. Ein LCD schied für mich aus, denn die Zeichen sind einfach viel zu klein, wenn da Teil auf dem Boden liegt und ich davor stehe.
Diese Woche nun habe ich mit der Matrix beschäftigt und dank Eurer Beiträge und Datenblatt-Wälzen ist es mir gelungen, die ersten "Bilder" anzuzeigen. Die Initialisierung ist also schon einmal geschafft, I2C funktioniert und ich habe nun auch herausgefunden, warum die erste Spalte immer als zweite und die eigentlich letzte als erste angezeigt wird (komische Hardware..das...)
So wie ich das Datebblatt verstanden habe, ist es wohl möglich, die LEDs auch direkt und einzeln anzusteuern, quasi Bit-weise. Leider bin ich aus dem Rest des Datenblattes nicht so richtig schlau geworden. Denn ich kann doch eigentlich immer nur Byte-Befehle übertragen, oder ? Also in meinem Fall die HT16K33-Adresse, dann der DisplayRAM-Pointer als Byte und anschliessend die Daten als beliebige Anzahl von Bytes. Ich könnte nun den DisplayRAM-Pointer an mein gewünschtes Bit setzen und dann ein Byte schicken, aber das würde ja die nachfolgenden 7 Stellen dann auch wieder überschreiben oder ?
Ziel ist es, den "Bildschirm" sozusagend zu teilen und unabhängig von einander die Anzeige zu ändern. Also links z.b. 2 kleine Buchstaben, die über die Taster 1-3 verändert werden. Unabhängig davon rechts untereinander 4 kleine 2x2-Quadtrate, die mir einen Schaltzustand von Sonderfunktionen zeigen sollen, gesteuert über Taster 4-6 meinetwegen.
Versteht ihr was ich meine ?
Ich könnte natürlich im Master die Bildzeilen als Variablen anlegen und dort nur die einzelnen Bits "toggeln", aber dann müsste ich jedesmal das ganze Bild schicken. Und würde man das dann nicht als "flackern" sehen ?
Könnt ihr mir helfen ?
Vielen lieben Dank,
Mit freundlichen Grüßen Cornelius
Ich möchte mich zunächst kurz vorstellen, denn ich bin neu hier: Mein Name ist Cornelius, ich bin 34 und Energie-Elektroniker. Seit meiner Ausbildung habe ich mich auch im privaten Bereich mit Elektronik beschäftigt, und um zwei Hobbys zu verbinden baue und entwerfe ich selber Röhrenverstärker für Egitarre. Da ich in meinen Amps auch verschiedene Umschaltungen vornehmen möchte, kommen die uC`s ins Spiel. Letztes Jahr habe ich angefangen, mich in die Programmierung mit Bascom einzuarbeiten. Zunächst ging es darum, MIDI-Befehle zu senden, aber nun benötige ich für meinen Fussschalter eine Anzeige (für z.B. den Speicherplatz, den ich aufrufen möchte). Dafür habe ich mir von adafruit eine 8x8 LED-Matrix besorgt die mit einem HT16k33 bepackt ist. Ein LCD schied für mich aus, denn die Zeichen sind einfach viel zu klein, wenn da Teil auf dem Boden liegt und ich davor stehe.
Diese Woche nun habe ich mit der Matrix beschäftigt und dank Eurer Beiträge und Datenblatt-Wälzen ist es mir gelungen, die ersten "Bilder" anzuzeigen. Die Initialisierung ist also schon einmal geschafft, I2C funktioniert und ich habe nun auch herausgefunden, warum die erste Spalte immer als zweite und die eigentlich letzte als erste angezeigt wird (komische Hardware..das...)
So wie ich das Datebblatt verstanden habe, ist es wohl möglich, die LEDs auch direkt und einzeln anzusteuern, quasi Bit-weise. Leider bin ich aus dem Rest des Datenblattes nicht so richtig schlau geworden. Denn ich kann doch eigentlich immer nur Byte-Befehle übertragen, oder ? Also in meinem Fall die HT16K33-Adresse, dann der DisplayRAM-Pointer als Byte und anschliessend die Daten als beliebige Anzahl von Bytes. Ich könnte nun den DisplayRAM-Pointer an mein gewünschtes Bit setzen und dann ein Byte schicken, aber das würde ja die nachfolgenden 7 Stellen dann auch wieder überschreiben oder ?
Ziel ist es, den "Bildschirm" sozusagend zu teilen und unabhängig von einander die Anzeige zu ändern. Also links z.b. 2 kleine Buchstaben, die über die Taster 1-3 verändert werden. Unabhängig davon rechts untereinander 4 kleine 2x2-Quadtrate, die mir einen Schaltzustand von Sonderfunktionen zeigen sollen, gesteuert über Taster 4-6 meinetwegen.
Versteht ihr was ich meine ?
Ich könnte natürlich im Master die Bildzeilen als Variablen anlegen und dort nur die einzelnen Bits "toggeln", aber dann müsste ich jedesmal das ganze Bild schicken. Und würde man das dann nicht als "flackern" sehen ?
Könnt ihr mir helfen ?
Vielen lieben Dank,
Mit freundlichen Grüßen Cornelius