INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 1 Bewertungen - 2 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Modellauto mit Ir-Steuerung und Abstandssensor
09.03.2015, 08:54
Beitrag #1
Modellauto mit Ir-Steuerung und Abstandssensor
Hallo,
habe Probleme den Ultraschallsensor in dem Programm zu integrieren.
Es ist geplant das der Ultraschallsensor den Abstand beim Vorwärtsfahren misst und automatisch abschalten soll, wenn ein Gegenstand 10cm entfernt ist.


Code:
#include <IRremote.h>

int RECV_PIN = 8;        // Dieser Kontakt gibt die Daten vom Infrarotsensor zum Arduino
IRrecv irrecv(RECV_PIN); // Hier wird definiert, dass die Signale an Pin 8 des Arduinos ausgelesen werden
decode_results results;  // Dieser Befehl sorg dafür, dass die Daten des Infrarotsensors unter (results) gespeichert werden
int motor1V=11;          // Pin 11 mit einem Namen versehen
int motor2V=10;          // Pin 10 mit einem Namen versehen
int motor1R=9;           // Pin 9 mit einem Namen versehen
int motor2R=6;           // Pin 6 mit einem Namen versehen
int trigger=7;
int echo=5;
long dauer=0;

void setup()
{
Serial.begin(9600);
pinMode (motor1V, OUTPUT); // Motor1 vor
pinMode (motor2V, OUTPUT); // Motor2 vor
pinMode (motor1R, OUTPUT); // Motor1 zurück
pinMode (motor2R, OUTPUT); // Motor2 zurück
pinMode (trigger, OUTPUT);
pinMode (echo, INPUT);
irrecv.enableIRIn();
}

void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, DEC);

if (results.value ==16718055) // Taste 2 läst das Auto vorfahren
{
digitalWrite (motor1V, HIGH);
digitalWrite (motor2V, HIGH);
digitalWrite (motor1R, LOW);
digitalWrite (motor2R, LOW);
}

if (results.value ==16716015) // Taste 4 läst das Auto nach links fahren
{
digitalWrite (motor1V, LOW);
digitalWrite (motor2V, HIGH);
digitalWrite (motor1R, HIGH);
digitalWrite (motor2R, LOW);
}

if (results.value ==16734885) // Taste 6 läst das Auto nach rechts fahren
{
digitalWrite (motor1V, HIGH);
digitalWrite (motor2V, LOW);
digitalWrite (motor1R, LOW);
digitalWrite (motor2R, HIGH);
}

if (results.value ==16730805) // Taste 8 läst das Auto zurück fahren
{
digitalWrite (motor1V, LOW);
digitalWrite (motor2V, LOW);
digitalWrite (motor1R, HIGH);
digitalWrite (motor2R, HIGH);
}

if (results.value ==16726215) // Taste 5 ist der Not-Aus und läst das Auto stopen
{
digitalWrite (motor1V, LOW);
digitalWrite (motor2V, LOW);
digitalWrite (motor1R, LOW);
digitalWrite (motor2R, LOW);
}

irrecv.resume();             // Der nächst Wert soll vom Infrarotempfänger eingelesen werden
}
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.03.2015, 09:18 (Dieser Beitrag wurde zuletzt bearbeitet: 09.03.2015 09:25 von marcus.)
Beitrag #2
RE: Modellauto mit Ir-Steuerung und Abstandssensor
Hallo ASD, die einfachste Variante ist die newping Bibliothek einzubinden

http://playground.arduino.cc/Code/NewPing

und dann so etwas zu machen:

Code:
// übersichtlicher wäre es die Funkcodes etwas leserlicher zu gestalten,
// also weiter oben if(results.value ==123){richtung="L";}  o.Ä.

//Wenn der Abstand kleiner ist und eine der Vorwärtsfahrten (vor, links, rechts) eingelegt ist...
if(    (abstand<mindestabstand)   &&  ( (results.value ==16718055)   ||  (results.value ==16716015)  || (results.value ==16734885)  )    )  
{
//alle Motoren aus
}
else
{  //der  Fernsteuercode für Gerade-Aus, L & R
}

Leider ist das newPing Beispiel mit Delay, da müsste man ggf. etwas mit millis() einsetzen. Aber während des Ping-Vorgangs gibt es trotzdem eine kleine Verzögerung. (Gerade im Moment gefunden: Dieses Beispiel mit 15 Sensoren ist ohne Delay gelöst, https://code.google.com/p/arduino-new-pi...s_Example) Eventuell einfach nur jede 1000mS den Ping durchführen (dafür dann etwas mehr Abstand) oder bei IR Eingang mit Interrupts arbeiten.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Infrarot zu RS232 für Steuerung DG0JG 46 693 22.10.2016 11:35
Letzter Beitrag: hotsystems
  Slider Steuerung, Programmierung blueblack 21 622 16.10.2016 22:31
Letzter Beitrag: blueblack
  Hilfe: IR Remote Steuerung, MSGEQ7 + RGB-LED Streifen dastob 1 123 14.10.2016 21:40
Letzter Beitrag: hotsystems
  Hilfe bei Servo-steuerung Innocence 7 821 23.02.2016 11:00
Letzter Beitrag: hotsystems
  Steuerung eines Remotekopfes mit Joystick, 2Stck DC Motore und Arduino max123 6 610 30.12.2015 14:56
Letzter Beitrag: max123
  Milight Openmili Steuerung gronph 22 3.452 23.12.2015 11:18
Letzter Beitrag: Phil333
  propleme beim programmieren einer steuerung für funksteckdosen purzele06 18 3.676 19.11.2015 11:06
Letzter Beitrag: Phil94
  Steuerung von mehreren Programmabläufen TimF 21 1.434 04.11.2015 23:28
Letzter Beitrag: hotsystems
  Komplexer Kamera Timelaeps Steuerung (Gimbal/Slider Kombination) fknobel 6 823 25.10.2015 14:25
Letzter Beitrag: Klaus(i)
  Pendelbahn (Seilbahn) Steuerung K@mi 34 5.035 30.07.2015 08:15
Letzter Beitrag: fraju

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste