- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 23

Thema: RP6 - Schulprojekt: Ultraschall und Labyrinth

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Fleißiges Mitglied Avatar von masasibe
    Registriert seit
    21.01.2011
    Beiträge
    181
    Nachteil von Ultraschallmodulen, die eine Entfernungsmessung durch
    die Stärke des empfangenen Signals ermitteln (z.b. das Ultraschallmodule von Conrad), ist, dass sie sehr
    von der reflektierenden Oberfläche abhängig sind.
    Besser geht das, wenn man stattdessen die benötigte Zeit des
    Schalls misst.

    Allerdings ist das mit der Oberfläche für das Labyrinth wahrscheinlich
    kein so großes Problem, da sie ja im ganzen Labyrinth die gleich sein wird
    und man das dann kalibrieren könnte.

  2. #2
    Erfahrener Benutzer Begeisterter Techniker Avatar von avrrobot
    Registriert seit
    12.01.2011
    Beiträge
    210
    Blog-Einträge
    9
    Außerdem kann man die Ultraschall-Module ja auch steckbar machen, und dann später für andere Zwecke verwenden.
    Ich finde, es lohnt sich allein schon wegen der Reichtweite (bei Conrad Modul eher gering) ein gutes US-Modul zu kaufen.
    Sooooooo teuer sind die ja auch nicht.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    25.01.2012
    Beiträge
    7
    Also, wenn ich den beschriebenen Algorithmus nutze, dann sollte das ja eigentlich wirklich nicht besonders schwer sein.

    Die andere Sache mit dem Summer.

    Ich habe hier einen Summer, wenn man den an 'ne Stromquelle hält, dann macht der "Mööp". Hat 2 Drähte und ist rund
    Das Ding soll jetzt ohne höheren Aufwand und für Laien verständlich auf meinen RP6 gefriemelt werden.


    Wenn ich das Labyrinth aber wirklich mit dem beschriebenen Algorithmus lösen lasse, dann brauche ich ja an und für sich keine Ultraschallsensoren sondern einfach 2 Seitenbumper, die nunmal auf "false" springen, sobald links oder rechts eine Öffnung ist. Obwohl es dann schwierig wäre, den RP6 dann zu drehen, es sei denn, er würde durch die Bumper praktisch kreisförmig gemacht, wenn ihr versteht, was ich meine...

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    773
    Jap. So einen Summer meine ich!
    Die beiden Kabel, das sind + und -.
    + Schließt du an deine VCC, das ist die 5V-Betriebsspannung des RP6 (vielleicht vorher noch rausfinden, ob der Summer 5V verträgt, oder weniger, oder ob er mehr braucht. Aber 5V sind denke ich gut).
    - schließt du über einen Transistor (bc547 zum Beispiel) an GND und an den I/O, den du verwenden möchtest. Bei der Base kann man z.B. wunderschön die I/Os 2 und 5 verwenden, das sind die mittleren LEDs in den 3er-Reihen (SL2 und SL5). Die werden nirgends gebraucht. Wenn du da Hilfe brauchst, sag bescheid.
    Deine zusätzlichen Bumper kann man an die LEDs SL1 und SL4 anschließen, an SL3 und SL6 sitzen schon die Standard-Bumper.
    SL4 ist glaube ich auch noch frei, SL1 ist die Blinke-LED, ist aber an sonsten auch verfügbar.

    Grüße

  5. #5
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    74
    Beiträge
    11.077
    @ Tim Hansen

    Wenn dein Summer nur ein paar mA (Strom) braucht, kannst du ihn direkt anschliessen (ohne Transistor, wie LED, aber ohne Vorwiderstand).
    Geändert von PICture (25.01.2012 um 17:25 Uhr)
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied Avatar von masasibe
    Registriert seit
    21.01.2011
    Beiträge
    181
    Mit Bumper ist das sicher einfacher und billiger zu lösen als mit Ultraschall, aber eleganter sieht es natürlich mit Ultraschall aus, weil der Roboter dann nicht gegen eine Wand fährt wenn er in eine Sackgasse fährt.
    Aber man kann es ja zuerst mit Bumper und später als Erweiterung vielleicht mit Ultraschall realisieren.

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    25.01.2012
    Beiträge
    7
    Also, meine Überlegung ist jetzt momentan, ihn das ganze mit dem ACS machen zu lassen. Er soll sich auf jedem Feldchen einmal nach links umschauen und bei Möglichkeit abbiegen. Wenn vorne, links und rechts blockiert ist, soll er umdrehen.

    Jetzt habe ich aber ein Problem mit meinem Code.

    Wieso wird immer das aus "ELSE {}" gemacht?

    Code:
    // Includes:
    
    #include "RP6RobotBaseLib.h" 	
    
    uint8_t acs_bool = 0;
    
    // Main:
    
    void acsStateChanged(void)
    {
      //Nix.
    }
    
    int main(void)
    {
    	initRobotBase(); 
    	setLEDs(0b111111);
    	mSleep(2500);
    	
    	powerON(); // Strom für alle Systeme wie ACS, Bumper und die LEDs
    
    	ACS_setStateChangedHandler(acsStateChanged);
    	
    	// Main loop
    	while(true) 
    	{		
    		setLEDs(0b100100); 
    		
    		//LEDs setzen
    		setLEDs(0b111001);
    		updateStatusLEDs();
    		
    		// Prüfe, ob links eine Öffnung ist
    		if (obstacle_left && obstacle_right)
    		{
    			// LEDs setzen
    			setLEDs(0b001111);
    			updateStatusLEDs();
    			
    			// Rotiere wieder zurück in gerade Position
    			rotate(40, RIGHT, 90, BLOCKING);
    			
    			//LEDs setzen
    			setLEDs(0b001001);
    			updateStatusLEDs();
    				
    			// Prüfe, ob vorne ein Hindernis ist
    			if (obstacle_left && obstacle_right)
    			{
    				// LEDs setzen
    				setLEDs(0b001111);
    				updateStatusLEDs();
    				
    				// Rotiere rechts
    				rotate(40, RIGHT, 90, BLOCKING);
    				
    				//LEDs setzen
    				setLEDs(0b111001);
    				updateStatusLEDs();
    				
    				// Prüfe, ob rechts ein Hindernis ist
    				if (obstacle_left && obstacle_right)
    				{
    					// LEDs setzen
    					setLEDs(0b001111);
    					updateStatusLEDs();
    					
    					// Rotiere rechts
    					rotate(40, RIGHT, 90, BLOCKING);
    					
    					//LEDs setzen
    					setLEDs(0b111001);
    					updateStatusLEDs();
    				} else { move(50, FWD, DIST_MM(250), BLOCKING);}
    			} else { move(50, FWD, DIST_MM(250), BLOCKING);}
    		} else { move(50, FWD, DIST_MM(250), BLOCKING);}
    		
    		
    
    	}
    	return 0;
    }
    Das verstehe ich nicht :O

    Danke schonmal!
    Geändert von radbruch (26.01.2012 um 16:32 Uhr)

Ähnliche Themen

  1. Labyrinth
    Von asuro11 im Forum Sensoren / Sensorik
    Antworten: 14
    Letzter Beitrag: 10.05.2009, 12:02
  2. Beispielprogramm Labyrinth
    Von Joee im Forum Asuro
    Antworten: 10
    Letzter Beitrag: 07.07.2007, 16:45
  3. Hilfe für Labyrinth-Roboter?
    Von Scott im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 21
    Letzter Beitrag: 23.05.2005, 17:19
  4. [ERLEDIGT] Kugel Labyrinth
    Von sinclair im Forum Mechanik
    Antworten: 11
    Letzter Beitrag: 03.12.2004, 12:55
  5. Robby durch ein Labyrinth
    Von Maro im Forum Robby CCRP5
    Antworten: 1
    Letzter Beitrag: 13.08.2004, 19:29

Berechtigungen

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

12V Akku bauen