Hallo,
hat jemand ne Idee wie man mit dem M-Unit (dem Alten)
25 LED´s einzeln ansprechen kann?
Druckbare Version
Hallo,
hat jemand ne Idee wie man mit dem M-Unit (dem Alten)
25 LED´s einzeln ansprechen kann?
Hallo,
vlt. mit 74xx573 ( 8 bit Latch )? BytePort 1 als Datenbus, Ports von BytePort2 als latch-enable, ist schneller als Basic-I²C- Bus ( was auch eine Alternative wäre ).
MfG Lutz
Ich kenn mich mit I2C nicht aus.
könntest du es geanauer beschreiben?
danke
Inwieweit hast du Software von der M-Unit V1?
Da sind, glaub ich schon Bsp. dabei.
Kuck auch mal bei http://ccintern.dharlos.de/ rein, dietmar erklärt das ausführlicher, als ich das könnte.
Da gibt's auch einen ASM-Treiber, der die I²C-Ausgabe beschleunigt...
ich weiss ja nicht, wie schnell deine Ausgabe sein soll, sind die LED's "on bord" oder abgesetzt usw.
MfG Lutz
Ich hab an Software nur Basic.Zitat:
Inwieweit hast du Software von der M-Unit V1?
Das M-Unit hab ich bei ebay günstig ersteigert.
Was brauch ich denn noch als hardware?
Hallo,
also als Software brauchst du CCBasic- eine an die m-unit angepasste Variante, z.b. http://fdos.de/ oder eben das C(onrad) - Original.
Als Hardware eine 232- Schnittstelle als programmieradapter.
Ich hab das Original Basic von Conrad.
Und das M-Unit
Bild hier
Und den Programmieradapter
Bild hier
Ich hab gelesen das der I2C-Bus 2 digitale Eingänge braucht:
1 mal I2CDATA und
1 mal I2CTAKT
Das bedeutet das ich dann von den 16 digitalen Ports die ich vorher hatte 2 wegfallen.
Also hab ich jetzt nur noch 14. Um aber die 25 LED´s einzeln zu schalten bauch ich 25 Digital Ports das heißt das mir jetzt noch 11 Ports fehlen. Kann man aus einen I2C-Bus 11 digital Ports machen?
Hallo,
die rechte Hälfte vom Bild^^ entspricht dem Programmieradapter von Conrad.
Um 24 LEDs anzusteuern, brauchst du z.b. 3 x PCF8574 (8 bit-Expander), die 25.te dann halt extra. Es gibt viele verschiedene ICs für den I²C, und mir scheint , es werden ständig mehr...
Im Ernst: Durch die notwendige Adressierung der I²C-IC's und serielle Datenübertragung in Basic ist das ziemlich langsam und umständlich. mein Faforit ist daher dieses:
Jeweils 8 LEDs in eine Variable, Variable manipulieren und auf Byteport 1 ausgeben, entspechenden Latchport pulsen- fertig.
MfG Lutz
Jo Danke schon mal!!!
Sind das die richtigen? (conrad.de) Artikel-Nr.: 151335 - 62
Wie werden die LED´s angesprochen?
Hallo,
1. ja.Zitat:
Sind das die richtigen? (conrad.de) Artikel-Nr.: 151335 - 62
Wie werden die LED´s angesprochen?
zu 2: Da gibt's vieeele Möglichkeiten.
Erstmal definieren, etwa so:
jetzt kannst du die LEDs einzeln oder in 8er Gruppen ein/ausschalten -erstmal im Speicher- damit die Latches schalten, musst du den wert noch ausgeben:Code:
define bus byteport[1]
define latchport byteport[2]
define latch1 port [9]
define latch2 port[10]
define latch3 port[11]
define LED25 port[16] ' bei meinem Schaltplan!!- also anpassen
define LEDgruppe1 byte [1]
define LEDgruppe2 byte [2]
define LEDgruppe3 byte [3]
define LED1 bit [1]
... ' hier LED2- LED23 definieren
define LED24 bit [24]
wenn LED1-8 verändert wurde,
bus = LEDgruppe1
pulse latch1
genauso für die anderen gruppen;
LED25 ist ja direkt angeschlossen, also LED25 = on für "ein" LED25 = off für "aus"
Zum Manipulieren der LEDs ist deine Fantasie gefragt:
a: jede LED einzeln on/off
b: Per schiebebefehl ( Lauflicht )
c: Tabelle vordefinieren und auslesen ( Muster)
d: Formel ausdenken, ergebniss in LEDgruppex speichern ( zufall )
u.s.w.
MfG Lutz