- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: Wie Programmiere ich PollSwitch

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    03.02.2010
    Beiträge
    32

    Wie Programmiere ich PollSwitch

    Anzeige

    Praxistest und DIY Projekte
    Hallo
    Ich habe mir letztens den Asuro Roboter gekauft und zusammengebaut. Beim Programmieren kriege ich eigentlich alles hin, bis auf das mit den Tastern. Bitte helft mir!!

    Gruß Giftzwerg

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.01.2009
    Ort
    NRW
    Beiträge
    562
    Hallo

    Wie genau soll denn die Hilfe aussehen?
    Bitte formuliere die Frage etwas genauer damit man dir helfen kann

    Gruß Thund3r

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    03.02.2010
    Beiträge
    32
    Ich würde es gern mal hin kriegen das wenn er irgendwo gegen fährt, dreht und dann wieder weiter grade aus fährt. Das würde mir schon reichen.

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.01.2009
    Ort
    NRW
    Beiträge
    562
    Hallo

    Hier ein Kollisionsprogramm ist eig. selbsterklärend:

    Code:
    #include <asuro.h>
    int main (void)
    {
    Init();
    int p;
    while(1){
    MotorDir(FWD,FWD);
    MotorSpeed(125,125); // Fahre geradeaus
    if(PollSwitch()>=8 ) //Wenn eine Seite der Taster berügrung meldet 
    {
    MotorDir(RWD,RWD);
    MotorSpeed(125,125);  //Fahre ein Stück zurück
    for(p=0;p<300;p++)
    {Sleep(72);}
    
    MotorDir(BREAK,RWD); //Und dreh dann von der getasteten Seite weg
    MotorSpeed(0,125);
    for(p=0;p<1000;p++)
    {Sleep(72);}
    }
    if((PollSwitch()<8 && PollSwitch()>1)) // Gleiches wie oben nur für die andere Seite
    {
    MotorDir(RWD,RWD);
    MotorSpeed(125,125);
    for(p=0;p<300;p++)
    {Sleep(72);}
    
    MotorDir(RWD,BREAK);
    MotorSpeed(125,0);
    for(p=0;p<1000;p++)
    {Sleep(72);}
    }
    }
    while(1){}
    return 0;
    }
    Ein Taster wurde bewusst "igoriert" da hin und wieder mal 1 zurückgegeben auch wenn der zugehörige Taster nicht gedrückt wurde.

    Gruß Thund3r

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    03.02.2010
    Beiträge
    32
    danke das ist das was gern haben wollte

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.02.2010
    Ort
    irgendwo in BW
    Beiträge
    154
    du kannst auch die taster mehrfach abfragen, dann musst du den einen taster nicht ignorieren.

    gruß josua

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    03.02.2010
    Beiträge
    32
    ich hab noch eine Frage
    was ist an diesem Text falsch
    Code:
     #include "asuro.h"
    
    int main(void);
    {
    	unsigned char taste;
    	
    	Init();
    	taste = pollswitch();
    	StatusLED(OFF);
    	MotorDir(FWD,FWD);
    	MotorSpeed(100,100);
    	
    	while(1);
    	
    	if(taste>0){MotorSpeed(0,0);}
    	StatusLED(RED);
    	MotorDir(RWD,FWD);
    	MotorSpeed(100,70);
    	else(taste=0){MotorSpeed(100,100);}
    	
    	return 0;
    }

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.01.2009
    Ort
    NRW
    Beiträge
    562
    Hallo

    Auf den ersten Blick 2 Sachen.
    Zum ersten muss die Hauptwhile Schleife nciht so while(1); aussehen sondern while(1){ hie dein quellcode bis return0} return 0; muss außerhalb der klamemr stehen und 2tens ist das else (taste==0) nicht =0

    Gruß Thund3r

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    03.02.2010
    Beiträge
    32
    geht leider troßdem nicht

    gruß giftzwerg

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.01.2009
    Ort
    NRW
    Beiträge
    562
    Hallo

    Zeig mal wie dein Programm jetz aussieht

    Gruß Thund3r

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test