Robotbil med to hjul kode
// connect motor controller pins to Arduino digital pins
// motor one
int enA = 10;
int in1 = 9;
int in2 = 8;
// motor two
int enB = 5;
int in3 = 7;
int in4 = 6;
int distance = 0;
int MAX_DISTANCE = 300;
#define TRIG_PIN A0
#define ECHO_PIN A1
#include <NewPing.h>
NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
void setup()
{
// set all the motor control pins to outputs
pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
pinMode (TRIG_PIN, OUTPUT);
pinMode (ECHO_PIN, INPUT);
Serial.begin(9600);
Serial.println("===== Selfguiding car =====");
}
void loop() // gentages
{
// turn on motor A and B:
digitalWrite(in1, LOW); //motor A
digitalWrite(in2, HIGH);
digitalWrite(in3, LOW); //motor B
digitalWrite(in4, HIGH);
// set speed to 150 out of possible range 0~255
analogWrite(enA, 150);
// set speed to 150 out of possible range 0~255
analogWrite(enB, 150);
delay(200);
distance = sonar.ping_cm(); // bestem afstanden og gem den i en variabel
delay(200); // vent 0,2 sekunder
Serial.print(distance);
Serial.println(" cm");
if (distance < 15)
{
delay(100);
Serial.println("Turn");
digitalWrite(in1, HIGH); //motor A
digitalWrite(in2, LOW);
digitalWrite(in3, LOW); //motor B
digitalWrite(in4, HIGH);
// set speed to 100 out of possible range 0~255
analogWrite(enA, 100);
// set speed to 100 out of possible range 0~255
analogWrite(enB, 100);
delay(200);
}
}