- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 23

Thema: Arduino Leonardo/Micro Frage

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.210
    Nimm doch einfach nen Portexpander.
    Dann kannst du hunderte Digitalpins haben....
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    31.03.2014
    Beiträge
    179
    Bei Verwendung eines Portexpander kann ich immer nur eine Taste simultan verwenden. Drücke ich mehrere Tasten gleichzeitig, wird dies durch die Logik des Portexpander dennoch als eine (völlig andere) Taste interpretiert. Gehen die Tasten jedoch direkt einzeln in einen eigenen Digital-In, so wird jede Taste entsprechend interpretiert, auch bei gleichzeitigem drücken mehrerer Tasten.

    Andi



    Ich hab mir das mal mit den Teensy angeschaut. Klingt recht gut. Ausreichend DigitalPIN, geringe Baugröße (die kann man gut direkt auf einer anderen Platine mit auflöten). Und das Anpassen der Arduino-Sketches scheint nicht so kompliziert zu sein. Habe da noch nicht weiter gegoogelt, aber ich denke, auch für die Anpassung der Sketches werde ich fündig werden.

    Andi
    Geändert von Andi#87 (13.01.2019 um 12:02 Uhr)

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.210
    Dann verschalt die Tasten als Matrix.
    Guck mal, das geht mit nem Uno schon: https://www.youtube.com/watch?v=lXX8v-ZW6Tk
    Hast du so viele Tasten?

    Ich lese ein 61-Tasten-Keyboard _ohne_ Portexpander mit nem Mega 2560 ganz problemlos ein- und ja: auch mehrere Tasten simultan.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    31.03.2014
    Beiträge
    179
    Ich verstehe nicht, wie das funktionieren soll. Ein Portexpander-IC macht letztlich nichts weiter, als eine typische Binär-Matrix zu erstellen bzw. abzufragen. Also, z.B.: 0-0-0, 0-0-1, 0-1-0, 0-1-1, 1-0-0-, 1-0-1 usw. Wenn ich nun 2 Tasten gleichzeitig drücke, entsteht doch dort ein völlig anderes "Gebilde". Oder hab ich hier einen Denkfehler?

    Andi

  5. #5
    HaWe
    Gast
    Zitat Zitat von Andi#87 Beitrag anzeigen
    Ich verstehe nicht, wie das funktionieren soll. Ein Portexpander-IC macht letztlich nichts weiter, als eine typische Binär-Matrix zu erstellen bzw. abzufragen. Also, z.B.: 0-0-0, 0-0-1, 0-1-0, 0-1-1, 1-0-0-, 1-0-1 usw. Wenn ich nun 2 Tasten gleichzeitig drücke, entsteht doch dort ein völlig anderes "Gebilde". Oder hab ich hier einen Denkfehler?

    Andi
    hängt sicher vom Portexpander ab, aber (IIRC) z.B. beim PCF8574 kannst du alle Werte als Byte-Mask für pins 0-7 gemeinsam abrufen. Sind z.B. Pins 0, 3 und 4 gedrückt und der Rest nicht, ist das Bitmuster 00011001.

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    31.03.2014
    Beiträge
    179
    Aha. Ok, vielen Dank.
    In welchem Zeitintervall werden dann diese DigitalPIN vom Prozessor abgefragt? Ist das im unteren Millisekundenbereich?

    Andi

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.210
    Nö- von alleine fragt der gar nix ab.
    Entweder du benutzt Interrupts (dann merkt er automatisch, wenn du was drückst oder loslässt) oder aber du sagst ihm, wie oft er die Eingänge abfragen soll.
    Da ich weder mit Leonardos noch mit Micros arbeite, weiss ich nicht, wie lange das Einlesen dauert, aber da es um digitale Eingänge geht, wirds nicht schlimm sein (analog dauert ein klein bisschen) auf jeden Fall weit schneller als man Tasten drücken könnte- denk dabei auch ans entprellen.
    Bei manuell betätigten Tasten sind Frequenzen im einstelligen Millisekundenbereich völlig illusorisch (so schnell _kann_ man sie nicht drücken), wenn du die also alle 2/100s einliest (und das geht, wenn man nich im Hautprogramm rumtüdelt), wird das vollkommen reichen.
    Wie gesagt: entprellt werden muss sowieso, egal wie man das anstellt: es wird länger dauern als das Einlesen selber.

    Falls du es wirklich genau wissen musst: Dokus lesen. Irgendwo auf den Arduino-Seiten (den richtigen, nich abgeschriebener Kram) steht, wie man die Zeit, die die loop() für einen Durchlauf braucht, messen kann.
    So kannst du leicht ermitteln, wie schnell alles läuft.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 29.08.2015, 07:34
  2. Mikrocontroller Beetle / Arduino Leonardo wird nicht erkannt
    Von recke im Forum Arduino -Plattform
    Antworten: 1
    Letzter Beitrag: 12.01.2015, 09:13
  3. Bitte um Unterstützung bei MC33926 Dual Motor Controller an Arduino Micro
    Von pemiso im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 6
    Letzter Beitrag: 28.10.2014, 13:35
  4. Arduino IDE = C ? => Frage zu Pin0 und Pin1 MEGA32U4 / Leonardo
    Von PsiQ im Forum C - Programmierung (GCC u.a.)
    Antworten: 0
    Letzter Beitrag: 12.07.2013, 11:51
  5. Antworten: 0
    Letzter Beitrag: 29.01.2013, 19:33

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress