-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: M32 LED's mit Tastern steuern

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    11.12.2010
    Beiträge
    147

    M32 LED's mit Tastern steuern

    Anzeige

    Ich habe die Beschreibung gelesen und das Beispielprogramm durchgearbeitet, jedoch verstehe ich nicht wie ich die einzelnen Tasten bezeichne.

    Also wenn Taste 1 gedrückt wird dann soll LED 1 leuchten.

    Denn momentan geht nur wenn ( irgendeine ) Taste gedrück dann soll LED 1 leuchten.

    Ich hab auch schon ein Code geschrieben der mir anzeigt was die Taster für Signale senden, doch diese sind etwas unverständlich.
    z.B sendet Taster 1 " i□Ÿ□§ "

    Weiß jemand wie die einzelnen Tasten benannt werden ?
    Mein RP6 YouTube Kanal
    Abonnieren & Kommentieren

    http://www.youtube.com/user/MyRP6

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    11.12.2010
    Beiträge
    147
    Hat keiner eine Idee ??
    Mein RP6 YouTube Kanal
    Abonnieren & Kommentieren

    http://www.youtube.com/user/MyRP6

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    @Mario94:
    Ich hab auch schon ein Code geschrieben der mir anzeigt was die Taster für Signale senden, ...
    Die Tasten auf der M32 "senden" nichts.
    Die Funktion getPressedKeyNumber() gibt dir die Nummer der gedrückten Taste aus. Darauf kann dein Programm dann reagieren.

    Das Beispiel RP6Control_Button.c zeigt das genau. Da werden auch LEDs je nach gedrückter Taste eingeschaltet,- also genau das, was du willst.

    Was fehlt dir noch?

    Gruß Dirk

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    11.12.2010
    Beiträge
    147
    Was ich an der Sache nicht verstehe ist, wenn getPressedKeyNumber() mir die Nummer der aktuell gedrückten taste gibt kann ich ja nicht sagen:


    if(key1) // 1 jetzt nur als beispiel für taste 1
    {
    setLEDs(0b0001)
    }


    Ich muss ja schon beim Programm schreiben wissen wie ich auf eine bestimmte Taste reagiere.
    Mein RP6 YouTube Kanal
    Abonnieren & Kommentieren

    http://www.youtube.com/user/MyRP6

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Genau so:

    uint8_t key = getPressedKeyNumber();
    if(key == 1) setLEDs(0b0001);
    if(key == 2) setLEDs(0b0010);
    ....

    Gruß Dirk

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    11.12.2010
    Beiträge
    147
    Danke, ich werds mal ausprobiern

    EDIT: Es funktioniert, danke^^
    Mein RP6 YouTube Kanal
    Abonnieren & Kommentieren

    http://www.youtube.com/user/MyRP6

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    11.12.2010
    Beiträge
    147
    In verbindung mit dem RP6 klappt es allerdings nicht so gut...
    Hier der Code:
    Code:
     #include "RP6ControlLib.h"
    #include "RP6Control_I2CMasterLib.h"
    #include "RP6I2CmasterTWI.h"
    
    
    int main(void)
    {
    initRP6Control();
    
    while(true)
    {
    	uint8_t key = getPressedKeyNumber(); 
    	
    if(key == 1)
    {
    	move(120,FWD,DIST_CM(25),true);
    }
    
    if(key == 2)
    {
    	move(120,BWD,DIST_CM(25),true);
    }
    }
    
    return 0;
    }
    Hier die Fehlermeldung:

    C:\Users\Mario\Desktop\RP6 Loader\RP6-Programme\Tasten mit LED/TastenLED.c:15: undefined reference to `move'

    Die Aufgabe ist :
    - Wenn taste 1 gedrückt wird, fahr gerade aus ( 25 cm)
    - Wenn taste 2 gedrückt wird, fahr rückwärts ( 25 cm)
    Mein RP6 YouTube Kanal
    Abonnieren & Kommentieren

    http://www.youtube.com/user/MyRP6

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    ...undefined reference to `move'
    Klar! Da an der M32 ja keine Motoren hängen, gibt es in der RP6ControlLib keinen Move-Befehl.

    Also: So einfach geht es nicht.

    Hast du dich schon mit dem I2C-Bus beschäftigt, der die Base und M32 verbindet?

    Gruß Dirk

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    11.12.2010
    Beiträge
    147
    nicht wirklich, was muss ich da lesen um zu verstehen wie es geht?
    Oder brauche ich 2 Programme wo das eine sagt :

    ( M32 ) wenn taster 1 gedrückt sende befehl xy an Base
    (RP6) wenn xy befehl von base kommt, fahre geradeaus
    Mein RP6 YouTube Kanal
    Abonnieren & Kommentieren

    http://www.youtube.com/user/MyRP6

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Oder brauche ich 2 Programme wo das eine sagt :
    ( M32 ) wenn taster 1 gedrückt sende befehl xy an Base
    (RP6) wenn xy befehl von base kommt, fahre geradeaus
    Genau!

    Gruß Dirk

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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