Hi
Anyone know how I can get a "ultrasonic distance sensor" to stop a arduino car?
I'm using "case" to control the car (using IR remote) and I would like the car to stop before it crashes.
I have several cases in my code, so I would like the "ultrasonic distance sensor" to activate my "stop" case. How do I do that?
Mabye you could modify my code?
#include <IRremote.h> //Inkluderer biblioteket for IR kontroll
const int mhp = 8; //MotorHøyrePositiv
const int mhn = 9; //MotorHøyreNegativ
const int mvp = 10; //MotorVenstrePositiv
const int mvn = 11; //MotorVenstreNegativ
const int trigPin = 6; //
const int echoPin = 7; //
const int RECV_PIN = 5;
IRrecv irrecv(RECV_PIN);
decode_results results;
const int svingetid = 400; //Bestemmer hvor lenge skal bilen svinge
void setup(){
Serial.begin(9600);
pinMode(3, OUTPUT); //Kjørelys
pinMode(4, OUTPUT); //Blått lys (indikerer at kjørelys er PÅ)
pinMode(mhp, OUTPUT);
pinMode(mhn, OUTPUT);
pinMode(mvp, OUTPUT);
pinMode(mvn, OUTPUT);
digitalWrite(mhp, LOW);
digitalWrite(mhn, LOW); //Bilen står stille når den skrus på
digitalWrite(mvp, LOW); //...venter så på kommando
digitalWrite(mvn, LOW);
irrecv.enableIRIn();
}
void stopp(){ // >>|
digitalWrite(mhp, LOW);
digitalWrite(mhn, LOW);
digitalWrite(mvp, LOW);
digitalWrite(mvn, LOW);
}
void fremover(){ // CH
digitalWrite(mhp, LOW);
digitalWrite(mhn, HIGH);
digitalWrite(mvp, HIGH);
digitalWrite(mvn, LOW);
}
void bakover(){ // +
digitalWrite(mhp, HIGH);
digitalWrite(mhn, LOW);
digitalWrite(mvp, LOW);
digitalWrite(mvn, HIGH);
}
void venstre(int svingetid){ // |<<
digitalWrite(mhp, HIGH);
digitalWrite(mhn, LOW);
digitalWrite(mvp, HIGH);
digitalWrite(mvn, LOW);
delay(svingetid);
digitalWrite(mhp, LOW);
digitalWrite(mhn, LOW);
digitalWrite(mvp, LOW);
digitalWrite(mvn, LOW);
}
void hoyre(int svingetid){ // >||
digitalWrite(mhp, LOW);
digitalWrite(mhn, HIGH);
digitalWrite(mvp, LOW);
digitalWrite(mvn, HIGH);
delay(svingetid);
digitalWrite(mhp, LOW);
digitalWrite(mhn, LOW);
digitalWrite(mvp, LOW);
digitalWrite(mvn, LOW);
}
//IR, MOTOR - START
void irkontroll(){
switch (results.value){
case 16712445: //STOPP >>|
stopp();
break;
case 16736925: //Fremover CH
fremover();
break;
case 16754775: //Bakover +
bakover();
break;
case 16720605: //Venstre |<<
venstre(svingetid);
stopp();
break;
case 16761405: //Høyre >||
hoyre(svingetid);
stopp();
break;
default:
;
}
}
//IR, MOTOR - SLUTT
void loop(){
}
Thanks