- fchao-Sinus-Wechselrichter AliExpress         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 19

Thema: Taster für RP6

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    27.06.2009
    Alter
    28
    Beiträge
    54

    Taster für RP6

    Anzeige

    E-Bike
    Hallo,

    ich würde gernen an meinen RP6 2 - 3 Taster anschließen.
    Welche anschlüsse würden sich dafür eignen?
    wie viele ports brauche ich dafür ?
    wie kann ich außlesen ob ein taster gedrückt ist oder nicht ?

    schon mal danke für die hilfe im voraus.

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.04.2009
    Ort
    Wörgl
    Alter
    28
    Beiträge
    175
    Hallo,

    auf der M32 wären schon fünf Taster drauf. (außer du willst sie selber bauen)

    lg
    Michi

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    27.06.2009
    Alter
    28
    Beiträge
    54
    Nein aber ich hätte eigentlich vorgehabt direckt auf den RP6 Taster zubauen

  4. #4
    Erfahrener Benutzer Roboter Experte Avatar von Virus
    Registriert seit
    15.09.2009
    Ort
    Duisburg
    Alter
    29
    Beiträge
    527
    sollen die taster auf den Erweiterungsflächen vom RP6
    oder eine EXP ?

    ein taster wird jeweils in reihe mit einem Widerstand geschaltet und dann alle Taster parrallel zueinander.

    Dieses gebilde benutzt man zusammen mit einem zweiten wiederstand der konstand bleibt als Spannungsteiler.

    auskommen tus du so mit nur einem ADC, eine aussage ob 2taster gleichzeitig gedrückt werden ist nicht möglich, wenn mans so macht.
    Mit hochohmigen Grüßen
    Virus

    Es lebe der Digitalkäse !

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    27.06.2009
    Alter
    28
    Beiträge
    54
    Hallo und vielen dank für die hilfe
    ich habs jetzt hinbekommen.
    Ich habe mir den schaltpaln von der erweiterung angesschaut und dies nachgebaut (auf eine extra lochplatiene). Danach habe ich alles an ACD 0 angeschlossen. Hab die leibrary datei auf den richtigen port umgeschrieben.
    (Hab von der librarydatei vom M32 abgeschaut)
    Jetzt funktionierts !!!

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    27.06.2009
    Alter
    28
    Beiträge
    54
    Hab jetst doch ein problem wenn ich z.b. flogenden progrtammcode
    starte, leuchten die LEDs dauernt egal ob ich den taster drück oder nicht.

    Code:
    #include "RP6RobotBaseLib.h"
    
    int main(void)
    {
    	 initRobotBase(); 
    	 writeString_P("\n\n   _______________________\n");
    	 writeString_P("   \\| RP6  ROBOT SYSTEM |/\n");
    	 writeString_P("    \\_-_-_-_-_-_-_-_-_-_/\n\n");
    	 setLEDs(0b000000);
    	 powerON();
    	 
    	 while(true) 
    	{
    	 task_RP6System();
    	 
    		uint8_t key = getPressedKeyNumber(); 
    		
    		if(key == 1)
    		{
    		 writeString_P("Bin gedrückt !!!!!!\n");
    		 setLEDs(0b111111);
    			
    		}
    		else
    		{	 setLEDs(0);
    		}
    		
    	}
    	
    	return 0;
    }

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Hallo julianf123,

    die Funktion "getPressedKeyNumber()" ist ja in der RP6RobotBaseLib nicht vorhanden, weil der RP6 keine "freien" Taster hat. Es hilft auch nicht, die Funktion aus der RP6ControlLib zu kopieren. Man sollte die Libraries auch nicht ändern.

    Wenn du den/die Taster mit einem Spannungsteiler an ADC0 des RP6 angeschlossen hast, kannst du sie auch so auslesen, wie in der RP6-Anleitung Seite 90 beschrieben:

    uint16_t adc0 = readADC(ADC_ADC0);


    Gruß Dirk

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    27.06.2009
    Alter
    28
    Beiträge
    54
    Ich hab es in eine extra Library kopiert und es auch geändert und ins makefile eingetragen (soweit hat es auch funktioniert und das beispielprogramm jetzt auch), aber wenn ich eine taste drücke (egal welche) es ist immer die taste 1.

    Wo habe ich den fehler gemacht ?

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Ok, dann bleibt nur, dass du mal deine extra Library, dein Hauptprogramm und einen Schaltplan von den Tastern reinstellst!

    Gruß Dirk

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    27.06.2009
    Alter
    28
    Beiträge
    54
    Der fehler war an meinen Liebrarys gelegen.
    Aber es funktionirt immer noch nicht.
    Ich weiß zwar wie man den port adc 0 ausließt ob eine taste gedrückt ist oder nicht.
    Aber ich weiß nicht wie man festelt welche taste gedrückt ist ich hab zwischen jeder taste einen 10 k wiederstand eingefügt.
    (unten ist mein Schaltplan)

    Code:
    #include "RP6RobotBaseLib.h" 	
    
    int main(void)
    {
    	initRobotBase();
    	
    	
    	writeString_P("\n\n   _______________________\n");
    	writeString_P("   \\| RP6  ROBOT SYSTEM |/\n");
    	writeString_P("    \\_-_-_-_-_-_-_-_-_-_/\n\n");
    	
    
    	uint16_t keys;
    	
    	setLEDs(0b111111); 
    	mSleep(1000); 
    	setLEDs(0b000000);
    	mSleep(500); 
    	
    	while(true)
    	{
    		 keys = readADC(ADC_ADC0);
    		 if(keys != 1023);
    		 {
    		 setLEDs(0b111111);
    		 mSleep(1000);
    		 setLEDs(0b000000);
    		 }
    		 
    	}
    return 0;	
    }
    kann mir jemand sagen wie ich auslesen kann welche tastegedrückt ist
    denn keys ist bei mir immer null egal welche taste ich drücke:


    hier mein Schaltpalan:
    Angehängte Dateien Angehängte Dateien

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

12V Akku bauen