- 3D-Druck Einstieg und Tipps         
Seite 3 von 5 ErsteErste 12345 LetzteLetzte
Ergebnis 21 bis 30 von 48

Thema: MIDI auslesen?

  1. #21
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    17.04.2006
    Beiträge
    2.193
    Anzeige

    LiFePo4 Akku selber bauen - Video
    In einer Matrix steuerst Du natürlich die Spalten nicht alle gleichzeitig an, sondern nacheinander und aktivierst jeweils die Zeilen, deren LEDs in der jeweils angesprochenen Spalte leuchten sollen
    Schieberegister kannst Du selbstverständlich nehmen, wie schnell die Daten midiseitig reinkommen ist doch ziemlich egal und hat mit der Ausgabe nichts zu tun. Ich lese die Daten auch interruptgesteuert ein und je nach Note speichere ich deren Wert an eine Adresse und setze den Speicher für "ihre" LED auf einen voereingestellten Wert. Eine zweite, timergesteuerte Interruptroutine dekrementiert dann sämtliche gesetzten Speicher in 10ms-Abständen und sorgt dafür, dass alle LEDs, deren Speicherstellen ungleich Null sind, leuchten.

  2. #22
    1hdsquad
    Gast
    Nacheinander heißt in winzigen Abständen von Sekundenbruchteilen? Gibts da online irgendeine "Lektüre" zu?
    Mit der Geschwindigkeit stimmt auch, war zu kurz gedacht...
    Mit der Matrix würde praktisch heißen: Ich aktiviere in meinen obigen Beispiel erst die eine und dann die andere LED, aber so schnell, dass man es nicht sieht? Oder versteh ich das nicht? Ich hab als Vorbild einfach die Matrix einer Tastatur genommen.
    MFG

  3. #23
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    17.04.2006
    Beiträge
    2.193
    Hast völlig recht, genau so läuft's. Nennt sich dann gemultiplext, unter "multiplex led" mal suchen, je nach Laune noch den Controllertypen dazu, dann findest Du bestimmt brauchbare Codebeispiele. Wird übrigens meistens für 7-Segment-LED-Anzeigen gemacht, alle Segmentleitungen parallel und dann ein Display nach dem anderen mit einigen 100Hz ansteuern. Der Strom muss dabei natürlich grösser werden, theoretisch soviel mal Nennstrom wie Du Displays bzw. Spalten hast, praktisch hilft der Einsatz von Low-Current-LEDs viel mehr. Bei hochstromiger Ansteuerung muss man auch immer dran denken, dass die LEDs der gerade aktiven Spalte bei einem Programmabsturz nichts zu lachen haben.

  4. #24
    1hdsquad
    Gast
    Kann ich denn überhaupt einen Ausgang auf + und - schalten? Sonst könnt ich auch An jeden Port 2 LEDs anschliessen, eine mit Kathode, eine mit Anode. Je nach Polund leuchtet dann die eine oder die andere, und dann auch ebenb PWM, wenn beide an einem Port leuchten sollen.
    MFG

  5. #25
    1hdsquad
    Gast
    Haha, wenn das Programm abstürzt, merkt man es wenigstens sofort .
    Code muss ich mal zurecht fummeln, wird schon klappen (die Programme auf meinem TI 83+ sind auch Basic...). Allerdings muss man auch bedenken, dass ich in den seltesten Fällen so viele Tasten einer Gruppe drücke, denn ich spiele ja auf dem Keyboard "nur" Musik und ich habe nur 10 Finger.
    Multiplexen ist also auch nur pulsen der LEDs.
    MFG

  6. #26
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.191
    Kann ich denn überhaupt einen Ausgang auf + und - schalten? Sonst könnt ich auch An jeden Port 2 LEDs anschliessen, eine mit Kathode, eine mit Anode. Je nach Pol und leuchtet dann die eine oder die andere.
    Richtig, aber nicht zu Ende gedacht, denn dann leuchtet die Eine, oder die Andere aber niemals sind beide gleichzeitig Ein- bzw. Auszuschalten.

    Ich würds trotzdem mit nem Hardware Schieberegister mit Latch machen.
    Ist auch vom Timing her unkritischer und braucht nur 3 Leitungen - DATA; CLOCK; LATCH.
    Da dabei die leuchtenden LED's ständig angesteuert sind, gibts auch bei einem Controllerhänger keine Probleme mit Überlastung.

    Dann gehts eventuell schon mit nem ATMEGA8

  7. #27
    1hdsquad
    Gast
    Naja, dann hab ich wieder keine Ahnung von der Ansteuerung der Register
    MFG

  8. #28
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.191
    Das geht relativ einfach.
    ich geh mal von einem 48 stufigen Schieberegister aus.
    Im Controller sind die Werte der 48 Bits also 6 Bytes aus deiner MIDI Routine vorliegend.
    Wo eine LED leuchten soll liegt eine 1, wo keine leuchten soll ist eine Null.
    (Du kannst es aber auch genau andersrum machen, wenn Du ein IC mit open Collector ausgängen hast)

    Nun legst Du das erste Bit auf einen Controllerausgang, der mit dem Dateneingang des Schieberegisters verbunden ist.
    Nun produzierst Du auf dem Ausgang der mit Clock des Schieberegisters verbunden ist eine 1 und gleich wieder eine 0.
    Damit wurde das erste Bit ins Schieberegister eingelesen.
    Jetzt legst Du das zweite Bit auf den Data Ausgang und erzeugst wieder einen Clock impuls usw. usw.........
    Sind alle Bits dermaßen eingelesen übernimmst Du die Daten mit einem Impuls auf der Latch Leitung des Schieberegisters.
    Die meisten Schieberegister kann man Kaskadieren, d.h. mehrere hintereinanderschalten - musst Dir halt nur ein passendes = möglichst viele Ausgänge, serial Data out( zum Kaskadieren), mit Latch raussuchen.

    Hab mal in meine Halbleiteranschlußtabelle geschaut und den CD 4094 gefunden - das könnte ein möglicher Kandidat sein. Schau Dir bei Bedarf halt mal das Datenblatt an (von wegen Strombelastbarkeit, Geschwindigkeit usw.) Den gibts auch als 74HC4094 variante.

  9. #29
    1hdsquad
    Gast
    Ich nehme definitiv den MEGA16. Da ich genügend Pins frei habe, werde ich mir die Register sparen (weniger Kosten und Schaltungsaufwand). Wenn ich z.B. diese LEDs nehme http://www.produktinfo.conrad.com/da...00_rot_5mm.pdf
    kann ich entspannt meine Matrix aufbauen, da ich einen Pulsstrom von 1 Ampere 10 Mikrosekunden lang haben kann...
    Und wenn ich bei 2 Gruppen jede LED-Gruppe der Matrix z.B. 0,5 Millisekunden "aktualisiere", habe ich 100 Hertz. Dann hätte ich doch einen Pulsstrom von 60mA (normal 30mA), weil die LED nur die halbe Zeit leuchtet, oder nicht?
    Das ist mir jedenfalls leichter, einfach weil auch die Bauteilmenge sinkt.
    Wie ist denn das jetzt mit den Treibern? Im Datenblatt des MEGAs steht, dass er pro pin 60 mA oder so was aushält, insgesamt glaub ich 300. Ist mir zu knapp, kann ich einfach Transistoren nehmen?Ich poste auch mal den Plan, noch ohne LEDs...
    MFG
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken midi-schaltplan.gif  

  10. #30
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.191
    60mA pro Port ?
    Ich hatte mal irgendso was mit 20mA gegen Masse und 10mA gegen die positive Versorgungsspannung im Kopf und 200...300mA insgesamt, aber Datenblatt befragen hilft weiter \/
    Wenn du gegen die positive Versorgungsspannung PNP Transistoren einsetzt und gegen die Negative NPN geht das mit Transistoren sicher.

    Für die Menge an Transistoren würd ich aber dann schon wieder Transistorarrays einsetzen (Bauteileaufwand ?).

    Bevor Du Dir Gedanken über die LED Ausgabe machst würd ich erstmal mit der Abfrageroutine für das MIDI Signal und ein paar LED's zur Ausgabe meine ersten Versuche machen. Da brauchst Du noch nicht so viele Bauteile und zum vorläufigen Austesten sollte das auch genügen.
    Die "große" Version kannst Du ja dann später noch auflegen.

Seite 3 von 5 ErsteErste 12345 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress