Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //#define E1 10 // Enable Pin for motor 1
- //#define E2 11 // Enable Pin for motor 2
- #define I1 9 // Control pin 1 for motor 1
- #define I2 10 // Control pin 2 for motor 1
- #define I3 11 // Control pin 1 for motor 2
- #define I4 12 // Control pin 2 for motor 2
- int QREi1113_Pin0 = 0; //connected to analog 0
- int QREi1113_Pin1 = 1; //connected to analog 1
- #define trigPin 5
- #define echoPin 4
- // defines variables
- //long duration, distance;
- void setup() {
- Serial.begin(9600);
- pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
- pinMode(echoPin, INPUT); // Sets the echoPin as an Input
- //pinMode(E1, OUTPUT);
- //pinMode(E2, OUTPUT);
- pinMode(I1, OUTPUT);
- pinMode(I2, OUTPUT);
- pinMode(I3, OUTPUT);
- pinMode(I4, OUTPUT);
- }
- void loop() {
- int QRE_Value = analogRead(QREi1113_Pin0);
- Serial.println(QRE_Value);
- //int QRE_Value = analogRead(QRE1113_Pin1)
- //Serial.println(QRE_Value1);
- long duration, distance;
- digitalWrite(trigPin, LOW); // Added this line
- delayMicroseconds(2); // Added this line
- digitalWrite(trigPin, HIGH);
- // delayMicroseconds(1000); - Removed this line
- delayMicroseconds(2); // Added this line
- digitalWrite(trigPin, LOW);
- duration = pulseIn(echoPin, HIGH);
- distance = (duration/2) / 29.1;
- Serial.print(distance);
- Serial.println(" cm");
- ROTATE(); // start roteteint QRE_Serial.print("xroma ");
- if (distance < 10){
- Stop();
- while (distance < 10 ) {
- FORWARD();
- distance = (duration/2) / 29.1;
- Serial.print(distance);
- Serial.println(" cm");
- QRE_Value = analogRead(QREi1113_Pin0);
- if ( QRE_Value > 150 ) { break;}
- delayMicroseconds(2); }
- }
- if (QRE_Value< 150 ) // < 650 means white line
- {
- Stop();
- delay(20);
- BACKWARD();
- delay(10);
- }
- }
- //--------------------------------------------
- void FORWARD (){
- //analogWrite(E1, 255); // Run in half speed
- //analogWrite(E2, 255); // Run in full speed
- digitalWrite(I1,HIGH );
- digitalWrite(I2, LOW);
- digitalWrite(I3, HIGH);
- digitalWrite(I4, LOW);
- Serial.println(" mprosta");
- }
- //--------------------------------------------
- void BACKWARD (){
- // analogWrite(E1, 255); // Run in half speed
- //analogWrite(E2, 255); // Run in full speed
- digitalWrite(I1, LOW);
- digitalWrite(I2, HIGH);
- digitalWrite(I3, LOW);
- digitalWrite(I4, HIGH);
- Serial.println("piso");
- }
- //--------------------------------------------
- void ROTATE (){//RORATE LEFT
- // analogWrite(E1, 200); // Run in half speed
- // analogWrite(E2, 200); // Run in full speed
- digitalWrite(I1, LOW);
- digitalWrite(I2, HIGH);
- digitalWrite(I3, HIGH);
- digitalWrite(I4, LOW);
- Serial.println(" stript");
- }
- //--------------------------------------------
- void Stop(){
- digitalWrite(I1, LOW);
- digitalWrite(I2, LOW);
- digitalWrite(I3, LOW);
- digitalWrite(I4, LOW);
- Serial.println(" stamata");
- //delay(2000);
- }
Add Comment
Please, Sign In to add comment