Guten Abend zusammen, ich suche für meine Pic Hausaufgabe eine geeignete LED-Matrix Schaltung. Zwar ist das nur ein kleiner Bruchteil meiner Hausaufgabe aber da würdet Ihr mir schon sicherlich viel helfen. Und zwar müssen 16 LEDs verschaltet werden jeweils zwei LEDs(rot und grün) für eine Tür oder eines Fensters. Die Bedeutung der Farben der beiden LEDs hoffe ich mal ist jedem klar ansonsten wiederhole ich das lieber mal hier. Also es soll simuliert werden wenn ein Fenster auf ist dann soll entweder die rote oder die grüne led leuchten. Welche von beiden leuchtet wenn das Fenster oder die Tür geöffnet ist ist geschmacksache. Da ich nicht viele Pins verfügbar habe weil ja auch andere Dinge am MCU angeschlossen werden müssen wollte ich dies mit I2C ansteuern. Maximal steht mir nur der PortB beim PIC16F88 verfügbar für die Leds. Falls das nicht mit I2c hinhauen sollte. Hoffe ich mal nicht. Ich suche eine einfache Schaltung mit der ich über I2C diese Matrix ansteuern kann. Aus einem Forum von dieser Seite link hier-> Beitrag "8x32 LED-Matrix-Lauflicht per I2C" wurden einige solcher Schaltungen gezeigt. Beispielsweise diese Schaltung (Link im Anhang) sieht einfach Aufgebaut. Jetzt weiss ich nicht ob man mit dem HT1632C die LEDs ohne Vorwiderstand beschalten kann. Wie es im Schaubild abgebildet ist? Was mir auch Kopfverbrechen macht ist was die Pins WR, RD, DATA und CS machen. Eigentlich brauch ich doch nur Data und WriteClock? Was machen die anderen Pins. Das habe ich nicht so richtig aus dem Datenblatt verstanden. Ein weiteres Problem ist wie spreche ich das Bauteil im Programm an. Zwar weiss ich wie I2C funktioniert aber ich weiss nicht welche befehle ich ihm schicken soll. Aus dem Datenblatt S. 21 fand ich zwar eine Befehlsübersicht aber ich weiss nicht wie ich damit anfangen soll. Wie könnte da z.b ein Beispielprogramm in C ausehen wenn ich nur eine Led ansteuern sollte. Sollte nur ein kleines sein damit ich weiss welche Befehle ich senden soll. Ich hoffe Ihr nimmt jetzt meinen langen Text nicht übel. Auf Ratschläge oder Antworten bin ich sehr dankbar. Vielen Dank im voraus.
Adrian H. schrieb: > Jetzt weiss ich nicht ob man mit dem HT1632C die LEDs ohne Vorwiderstand > beschalten kann Nein, sollte man nicht. Den "ROW Sink Current" darfst Du per Widerstand auf maximal 16mA einstellen. Adrian H. schrieb: > Wie könnte da z.b ein Beispielprogramm in C ausehen wenn ich nur eine > Led ansteuern sollte. Ist hier jemand, der für Adrian ein C-Programm schreibt? ;-) @Adrian: Das ist kein I²C (TWI). Das Protokoll ist idiotensicher im Datenblatt beschrieben. Hast Du die ICs schon da? Ich könnte Dir ein paar zum ausprobieren schicken. Schicke mir ggf. 'ne PN. Technische Fragen aber bitte nicht per PN.
:
Bearbeitet durch User
Noch nicht da ich noch am überlegen bin ob ich diese Schaltung aufbauen
sollte. Wenn ja dann greife ich darauf gerne zurück.
Wenn ich richtig verstanden habe wird dieser Baustein nicht über I2C
gesteuert?.
Ich hab ein Arduino Beispiel gefunden in dem wurde es mit I2C
angesteuert, falls man dies als "Grundlage" nehmen könnte.
Deswegen irretiert mich dieser Satz einwenig:D
>@Adrian: Das ist kein I²C (TWI). Das Protokoll ist idiotensicher im
Datenblatt beschrieben.
Adrian H. schrieb: > Da ich nicht viele Pins verfügbar habe … wollte > ich dies mit I2C ansteuern. Neben I²C geht ja z.B. auch SPI. Wenn es minimal billig gein soll, nehme den FD9802. Ansonsten siehe "Spezielle_ICs" im Artikel LED-Matrix.
:
Bearbeitet durch User
Adrian H. schrieb: > Und zwar müssen 16 LEDs verschaltet werden Also nur ein/aus? Dann reichen also 127 Helligkeitsstufen. Adrian H. schrieb: > Da ich nicht viele Pins verfügbar habe ... Der LPD8806 braucht z.B. nur einen einzigen Pin. Du musst für 16 LEDs halt 3 Stück hintereinander schalten. Adrian H. schrieb: > ... LEDs ohne Vorwiderstand beschalten ... Beide (FD9802 und LPD8806) haben Konstantstromausgänge und brauchen keine Vorwiderstände.
:
Bearbeitet durch User
Also würdest du mir den(FD9802 und LPD8806) für meine LED matrix empfehlen? Ich hab mir eher an so einer 6x3 Matrix gedacht. Würde ja mit diesem Bauteil hinauen. Er hat ja 6 Outputs laut Datenblatt. Kurze Frage warum ich nach einem C Beispiel gefragt habe natürlich nicht ohne Hintergedanke. Ich muss leider alles in assembler schreiben deswegen weil ich das mit I2c in C am einfachsten geht dachte ich wird das auch in assembler so sein. Also empfielt es sich lieber über spi zu programmieren?.
Adrian schrieb: > Ich muss leider alles in assembler schreiben Dann ist SPI wohl noch am einfachsten: Keine Umschaltung der GPIOs zwischen Input und Output und keine zeitkritischen Protokolle, da es separate Clock- und Latch-Pins gibt. Du kannst Dir alternativ zum FD9802 auch mal die TLC5921, TLC5922, TLC5926, TLC5927, TLC5940, STP16CPC05 oder STP16CPC26 anschauen. Alle recht ähnlich, die Liste ist fast endlos. Ich habe mir halt wegen des Preises für 16€ 100 Stück von den FD9802ern gekauft.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.