Banner Ausblenden
Kleines Logo

Willkommen auf PSI-Online

Arduino Auto

Das Arduino-Auto ist der finale Schritt in der Robotik. Hier ist unser 3-rädriges Auto ohne Servo, das über eine Schaltung eine Strcke fährt und diese nach einer Hindernisserkennung dann wechselt. Das Auto hat Blinker und Scheinwerfer sowie eine Hupe. Das ganze wird mit folgener Schaltung gesteuert:

 

 

 

 

//
//                    ARDUINO AUTO PROGRAMM
//
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
//Motor rechts

int enRechts = ;  //Geschwindigkeit
int inR1 = ;       //Vorwärts
int inR2 = ;       //Rückwärts
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// Motor links

int enLinks = ;    //Geschwindigkeit
int inL1 = ;       //Vorwärts
int inL2 = ;       //Rückwärts
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
//Ultraschallsensor

int EchoPin = ;    //Ultraschall Echo
int TrigPin = ;    //ULtraschall Trigger
long dauer = 0;     //Speicherung der Zeit für die Schallmessung
long entf = 0;      //speicherung der Entfehrnung
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
//Licht
int vorderlichtL = 10;
int vorderlichtR = 5;
int ruecklichtL = ;
int ruecklichtR = ;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
//Blinker
int blinkerVL = ;
int blinkerVR = ;
int blinkerHL = ;
int blinkerHR = ;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
//Hupe

int Buzzer = 9;
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
/*
void setup()

{
 
pinMode(EchoPin, INPUT);
pinMode(TrigPin, OUTPUT);
//setze mehrere Pins auf einmal als Output fest:
  for (int pinindex = 6; pinindex < 11; pinindex++) {
  pinMode(pinindex, OUTPUT); // Schleife setzt Pins 6-10 als Output fest
 
  }
 
}
*/
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
/*
void loop()
{
//Entfernungsmessung
  digitalWrite(TrigPin, LOW);
  delay (5); //kurz Spannung vom Pin nehmen
  digitalWrite(TrigPin, HIGH);
  delay (10); //Schallwelle aussenden
  digitalWrite(TrigPin, LOW);//Dann wird der „Ton“ abgeschaltet.
  dauer = pulseIn(EchoPin, HIGH); //Mit dem Befehl „pulseIn“ zählt der Mikrokontroller die Zeit in Mikrosekunden, bis der Schall zum Ultraschallsensor zurückkehrt.
  entf = (dauer/2) * 0.03432; //Nun berechnet man die Entfernung in Zentimetern. Man teilt zunächst die Zeit durch zwei (Weil man ja nur eine Strecke berechnen möchte und nicht die Strecke hin- und zurück).
                              //Den Wert multipliziert man mit der Schallgeschwindigkeit in der Einheit Zentimeter/Mikrosekunde und erhält dann den Wert in Zentimetern.
    if (entf <= 20) //Wenn die gemessene Entfernung über 500cm oder unter 0cm liegt,…
    {
      anhalten();
      delay(1000);
      rueckwaerts();
      delay(1000);
       anhalten();
      delay(1000);
      rechtsV();
      delay(3000);
       anhalten();
      delay(1000);
      linksV();
      delay(3000);
       anhalten();
      delay(1000);
    }
    else
    {
    rueckwaerts();
    }
}
*/
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
void vorwaerts()                //geradeaus nach vorne

{
 
// start rechter Motor
  digitalWrite(inR1, HIGH);
  digitalWrite(inR2, LOW);
  analogWrite(enRechts, 60);    //Geschwindigkeit von 0-255
// start linker Motor
  digitalWrite(inL1, HIGH);
  digitalWrite(inL2, LOW);
  analogWrite(enLinks, 60);     //Geschwindigkeit von 0-255
  delay(2000);
 
}
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
void rueckwaerts()              //geradeaus nach hinten

{
 
// start rechter Motor
  digitalWrite(inR1, LOW);
  digitalWrite(inR2, HIGH);
  analogWrite(enRechts, 60);    //Geschwindigkeit von 0-255
// start linker Motor
  digitalWrite(inL1, LOW);
  digitalWrite(inL2, HIGH);
  analogWrite(enLinks, 60);     //Geschwindigkeit von 0-255
  delay(2000);
 
}  

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
void anhalten()                 //Alle Motoren aus

{
 
// Start beider Motoren     
  digitalWrite(inR1, LOW);
  digitalWrite(inR2, LOW);  
  digitalWrite(inL1, LOW);
  digitalWrite(inL2, LOW);
 
}

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
void rechtsV()                  //rechts nach vorne

{
 
// start rechter Motor
 digitalWrite(inR1, HIGH);
  digitalWrite(inR2, LOW);
  analogWrite(enRechts,60);     //Geschwindigkeit von 0-255
// start linker Motor
  digitalWrite(inL1, HIGH);
  digitalWrite(inL2, LOW);
  analogWrite(enLinks, 120);    //Geschwindigkeit von 0-255
  delay(2000);
 
}

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
void linksV()                   //links nach vorne

{
 
// start rechter Motor   
 digitalWrite(inR1, HIGH);
  digitalWrite(inR2, LOW);
  analogWrite(enRechts,120);    //Geschwindigkeit von 0-255
// start linker Motor
  digitalWrite(inL1, HIGH);
  digitalWrite(inL2, LOW);
  analogWrite(enLinks, 60);     //Geschwindigkeit von 0-255
  delay(2000);
 
}

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
void rechtsH()                  //rechts nach hinten

{
 
// start rechter Motor    
 digitalWrite(inR1, LOW);
  digitalWrite(inR2, HIGH);
  analogWrite(enRechts,60);     //Geschwindigkeit von 0-255
// start linker Motor
  digitalWrite(inL1, LOW);
  digitalWrite(inL2, HIGH);
  analogWrite(enLinks, 120);    //Geschwindigkeit von 0-255
  delay(2000);
 
}

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
void linksH()                   //links nach hinten

{  
 
// start rechter Motor
  digitalWrite(inR1, LOW);
  digitalWrite(inR2, HIGH);
  analogWrite(enRechts,120);    //Geschwindigkeit von 0-255
// start linker Motor
  digitalWrite(inL1, LOW);
  digitalWrite(inL2, HIGH);
  analogWrite(enLinks, 60);     //Geschwindigkeit von 0-255
  delay(2000);
 
}

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
void blinkerR()                 //Blinker nach rechts

{

digitalWrite();
  delay();
digitalWrite();
  delay();
digitalWrite();
  delay();
digitalWrite();
  delay();
digitalWrite();
  delay();
digitalWrite();
  delay();
digitalWrite();
  delay();
digitalWrite();
  delay();
digitalWrite();
  delay();
digitalWrite();
  delay();
digitalWrite();
  delay();
digitalWrite();
  delay();

}
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *






























 

 

 

 

 

 

 

 

 

 

 

 

 


steuerung auto.PNG

Erstellt: Luis Börner (04.03.2020) Letzte Änderung: Luis Börner (11.03.2020)