Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //www.elegoo.com
- // The direction of the car's movement
- // ENA ENB IN1 IN2 IN3 IN4 Description
- // HIGH HIGH HIGH LOW LOW HIGH Car is runing forward
- // HIGH HIGH LOW HIGH HIGH LOW Car is runing back
- // HIGH HIGH LOW HIGH LOW HIGH Car is turning left
- // HIGH HIGH HIGH LOW HIGH LOW Car is turning right
- // HIGH HIGH LOW LOW LOW LOW Car is stoped
- // HIGH HIGH HIGH HIGH HIGH HIGH Car is stoped
- // LOW LOW N/A N/A N/A N/A Car is stoped
- //define L298n module IO Pin
- #define ENA 5
- #define ENB 6
- #define IN1 7
- #define IN2 8
- #define IN3 9
- #define IN4 11
- //ULTRASOUND
- #define trigPin A5
- #define echoPin A4
- long duration;
- long elapsedTime;
- void forward(){
- digitalWrite(ENA,HIGH); //enable L298n A channel
- digitalWrite(ENB,HIGH); //enable L298n B channel
- digitalWrite(IN1,HIGH); //set IN1 hight level
- digitalWrite(IN2,LOW); //set IN2 low level
- digitalWrite(IN3,LOW); //set IN3 low level
- digitalWrite(IN4,HIGH); //set IN4 hight level
- Serial.println("Forward");//send message to serial monitor
- }
- void back(){
- digitalWrite(ENA,HIGH);
- digitalWrite(ENB,HIGH);
- digitalWrite(IN1,LOW);
- digitalWrite(IN2,HIGH);
- digitalWrite(IN3,HIGH);
- digitalWrite(IN4,LOW);
- Serial.println("Back");
- }
- void left(){
- digitalWrite(ENA,HIGH);
- digitalWrite(ENB,HIGH);
- digitalWrite(IN1,LOW);
- digitalWrite(IN2,HIGH);
- digitalWrite(IN3,LOW);
- digitalWrite(IN4,HIGH);
- Serial.println("Left");
- }
- void right(){
- digitalWrite(ENA,HIGH);
- digitalWrite(ENB,HIGH);
- digitalWrite(IN1,HIGH);
- digitalWrite(IN2,LOW);
- digitalWrite(IN3,HIGH);
- digitalWrite(IN4,LOW);
- Serial.println("Right");
- }
- //before execute loop() function,
- //setup() function will execute first and only execute once
- void setup() {
- Serial.begin(115200);//open serial and set the baudrate
- pinMode(IN1,OUTPUT);//before useing io pin, pin mode must be set first
- pinMode(IN2,OUTPUT);
- pinMode(IN3,OUTPUT);
- pinMode(IN4,OUTPUT);
- pinMode(ENA,OUTPUT);
- pinMode(ENB,OUTPUT);
- //ULTRASOUND
- pinMode(trigPin, OUTPUT);
- pinMode(echoPin, INPUT);
- }
- //Repeat execution
- void loop() {
- /*
- forward(); //go forward
- delay(1000);//delay 1000 ms
- back(); //go back
- delay(1000);
- left(); //turning left
- delay(1000);
- right(); //turning right
- delay(1000);
- //int getstr = Serial.read();
- //Serial.println(getstr);
- */
- pinMode(echoPin, INPUT);
- //ULTRASOUND
- duration = pulseIn(echoPin, HIGH);
- elapsedTime = millis();
- //long dataArray[2] = {elapsedTime, duration} ;
- Serial.print(dataArray[0]);
- Serial.print(',');
- Serial.println(dataArray[1]);
- digitalWrite(trigPin, LOW);
- delayMicroseconds(10);
- digitalWrite(trigPin, HIGH);
- delayMicroseconds(5);
- digitalWrite(trigPin, LOW);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement