Banner Ausblenden
Kleines Logo

Willkommen auf PSI-Online

Sie befinden sich in: Unterrichtsangebote Fächer Fachbereich III Informatik Arduino Bauteile und Sensoren 40 Sensoren Fahrprogramme WU8 Paul Trippler, Anton Bausch, Christian Klein, Janina Schmidtke

Paul Trippler, Anton Bausch, Christian Klein, Janina Schmidtke

Wir haben vor, einen fahrtauglichen Roboter zu konstruieren, welcher Koordinatenpunkte speichern kann, auf denen er sich gerade befindet. Später soll er die Strecke entlang der Koordinaten abfahren können.

Stand: 17.05.2016

Wir haben heute den Ultraschallsensor auf eine Platine gelötet, damit wir diesen über den Arduino besser ansteuern können. Außerdem haben wir einen Bauplan für den Roboter gezeichnet.

Nächste Woche wird hoffentlich der GPS Sensor ankommen und wir werden ihn in unsrem Roboter einbauen.

 

Stand: 24.05.2016

Wir haben heute angefangen ein Programm zu schreiben, welches Koordinatenpunkte speichert und haben den mathematischen Ansatz für die Ausrichtung des Roboters besprochen.

Bis zur nächsten Stunde wollen wir das Programm, welches Koordinatenpunkte speichert und ein Programm, welches den Roboter zu den Koordinatenpunkten ausrichtet, damit der Roboter diese abfahren kann, fertig haben.

 

Stand 31. 05. 2016

Heute haben wir das Programm fertiggestellt und können die Wegpunkte, welche momentan noch von einem Zufallsgenerator ermittelt werden über einen Button einspeichern.

Außerdem haben wir ein Programm, dass den Arduino richtig ausrichten kann und den nächsten Wegpunkt ansteuert geschrieben.

Bis zur nächsten Stunde wollen wir mit dem Befehl "Interrupt" arbeiten und das GPS Modul ansteuern können.

 

Stand 05.07.2016

Heute haben wir es nach 4 Wochen langer und harter Arbeit es endlich erfolgreich geschafft das GPS Modul anzusteuern, sodass es nun eingesetzt werden kann

Momentaner Code Download: Arduino_Roboter_mit_Ultraschall_sensor

short motorL_1 = 5; //Motor L vorwärts
short motorL_2 = 6; //Motor L rückwärts
short motorR_1 = 10; //Motor R vorwärts
short motorR_2 = 11; //Motor R rückwärts
short v = 255;
short led = 3;
int t = 390;

int echo = 8;
int trigger = 9;
int echomessung = 0;

void setup() {
  Serial.begin(9600);
  pinMode(motorL_1, OUTPUT);
  pinMode(motorL_2, OUTPUT);
  pinMode(motorR_1, OUTPUT);
  pinMode(motorR_2, OUTPUT);
  pinMode(led, OUTPUT);
  digitalWrite(led, LOW);
 
  pinMode(echo, INPUT);
  pinMode(trigger, OUTPUT);
 
  fahren( 0, 0 );
 
}
void loop() {
 
  digitalWrite(trigger, HIGH);
  delayMicroseconds(100);
  digitalWrite(trigger, LOW);
  echomessung = (pulseIn(echo, HIGH, 100000000)*34.3)/2/600;
 
  if(echomessung == 8) {echomessung = 1000000; }
 
  Serial.println(echomessung);
 
 
 
  if(echomessung > 15){
    fahren( 215, 200 );
    delay(200);
  }else{
    digitalWrite(led, HIGH);
    fahren( 215, -200 );
    delay( t );
    digitalWrite(led, HIGH);
    fahren( 215, 200 );
    delay( t );
    digitalWrite(led, LOW);
  }
 
 
}


void fahren(int links, int rechts) {
  if(links != 0 || rechts != 0){
 
    Serial.print("Links: ");
    Serial.print(links);
    Serial.print("   Rechts: ");
    Serial.println(rechts);
    
  }
 
  if(links < 0){
    links = -links;
    analogWrite(motorL_1, 0);
    analogWrite(motorL_2, links);
  }else{
    analogWrite(motorL_1, links);
    analogWrite(motorL_2, 0);    
  }
 
  if(rechts < 0){
    rechts = -rechts;
    analogWrite(motorR_1, 0);
    analogWrite(motorR_2, rechts);
  }else{
    analogWrite(motorR_1, rechts);
    analogWrite(motorR_2, 0);    
  }
 
}

 

 

Erstellt: Anton Bausch (17.05.2016) Letzte Änderung: Janina Schmidtke (05.07.2016)