HT16K33 schnelltest LED Blink :P

OP Persönliche Seite #4916094
Lesenswert?
• ▲
▼
Hi,

es ist 5 vor 12 ;) und ich bin scheinbar noch nicht ganz wach ODER ich 
habe einen defekten HT16K33 geliefert bekommen.

Könnt ihr mir Tipps, geben um zweiteres auszuschließen?

    #define LCD_I2C_DEVICE    0x7E
    #define SEG7_I2C_DEVICE    0x70

    ...
    while(1)
    {
      ioinit();
      i2c_init();
      lcd_init();
      HT16K33_Init();
      wait_10ms(1);//der ganze block nur zur Sicherheit, um das Device 
abziehen zu können.

      lcd_printlc_P(1, 1, PSTR("TEST AN"));
      lcd_light(true);
      lcd_printlc_P(2, 1, PSTR("TEST   "));

      HT16K33_ClearDisplay(0);
      HT16K33_ClearDisplay(1);
      HT16K33_ClearDisplay(2);
      HT16K33_ClearDisplay(3);
      HT16K33_ClearDisplay(4);

      wait_10ms(500);

      lcd_printlc_P(1, 1, PSTR("TEST    "));
      lcd_light(false);
      lcd_printlc_P(2, 1, PSTR("TEST AUS"));

      HT16K33_FillDisplay(0);
      HT16K33_FillDisplay(1);
      HT16K33_FillDisplay(2);
      HT16K33_FillDisplay(3);
      HT16K33_FillDisplay(4);

      wait_10ms(500);
    }


Die lib habe ich mir von
#include "HT16K33.h"
/* alle Rechte by achim seeger unter GPL
   myroboter@web.de, wünsche viel Spass damit */

Geborgt.

An dem HT16K33 auf dem Adafruit Breakoutborad habe ich stumpf 8 
mini-LEDs direkt mit den kleinen Beinchen an C0-C7 und mit den langen 
(Annode) an A0-A7 verlötet.

Die im Code angedeutete Schrift vom 2x16 LCD sehe ich!
Irgendein Blinken oder Flackern an den LEDs am HT16K33 jedoch nicht.

Verwende 1:1 das gleiche Kabel für Beide Devices.

Irgendwer eine schlaue Testmethodik für mich?
Codeschnipsel?

Grüße Oekel
OP Persönliche Seite #4919556
Lesenswert?
• ▲
▼
Bis auf
#define HT16K33 0x70

habe ich nun mal 1:1 folgenden Code verwendet:
http://w8bh.net/avr/AvrDS1307.pdf

Und natürlich nicht den DS1307 abgefragt, sondern fix mit x07F und x0FF 
getestet.

Es bleibt trotzdem alles dunkel.

Ist es denn ein Irrglaube, das eine LED verbunden mit COM0 & ROW0 
leuchten muss, sofern ich die komplette Matrix auf "ON" setze?

Nur zur Sicherheit: Wie lautet die Schleife, die das komplette 
Ausgangs-Mapping der LED-Matrix EINschaltet?

(Ich iteriere da gerade stumpf beim I2C_WriteRegister(uint8_t busAddr, 
uint8_t deviceRegister, uint8_t data)

über alle deviceRegister aus dem Datenblatt und für data von 0 bis x0FF.

Habt ihr noch Tipps für mich? (Zweites Testboard mit verlöteter Anzeige 
ist bereits unterwegs, ich denke es liegt aber eher an der 
Ansteuerung==Denkfehler)

Danke

Oekel
OP Persönliche Seite #4927681
Lesenswert?
• ▲
▼
Danke für die diesmal ungewöhnlich niedrige Hilfestellung :P

Auf den richtigen Pfad hat mich dann folgender Beitrag von Frank 
gebracht:
Beitrag "Re: adafruit led backpack ht16k33"

Basierend darauf habe ich folgende Anleitung geschrieben:
http://www.mikrocontroller.net/articles/HT16K33_Schnelleinstieg

Falls gewünscht kann DIESER ganze Thread gelöscht werden, da die Lösung 
ja nun im Wiki zu finden ist ;)

Grüße Oekel
#6250958
Lesenswert?
• ▲
▼
...ich glaube, ich bin auch nicht ganz da - habe eine CC 7 SEG Anzeige 
mit K an C0...4 und A an A0...8 angeschlossen - leider bleibt das 
Drecksding dunkel, COM klappt aber. Ich sehe auch die ~106 Hz Anzeige 
takt an den Pins, aber A wird nicht auf VDD gesetzt.

-> Jmd eine Idee?
1
#define LED    0xE0
2

3
void LED_init () {
4

5
  i2c_start_wait(LED+I2C_WRITE);
6
  i2c_write(0x21);
7
  i2c_write(0x81);
8
  i2c_write(0xA0);
9
  i2c_stop();
10

11
  }
12

13
void LED_setbrt (char brt) {
14

15
  i2c_start_wait(LED+I2C_WRITE);
16
  i2c_write(0xE0 | brt);
17
  i2c_stop();
18

19
  }
20

21
void LED_test () {
22

23
  char i;
24

25
  i2c_start_wait(LED+I2C_WRITE);
26
  i2c_write(0x00);
27
  
28
  for(i=0; i<16; i++) {
29

30
    i2c_write(0xAA);
31

32
    }
33

34
  i2c_stop();
35

36
  }

(Die Fkt werden der Reihe nach in Main aufgerufen)

Danke, Klaus.
#6251166
Lesenswert?
• ▲
▼
...rästelhaft, es sieht so aus als wenn A0...15 nicht auf HIGH gehen, 
wenn man es erwartet. Ich sehe mit dem Oszi ansonsten alles so wie im 
DaBla angegeben, nur gehen die A nicht auf High (die C gehen auf low und 
dann auch High-Z). Auch die Keyscan Phase sieht man gut.

EDIT: Modul mal gewechselt und nur eine LED dran - auch nix, selbes 
Problem. Gut...ich rästel mal weiter - bin mir sicher, dass das Problem 
vor dem Rechner sitzt.

Klaus.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren