Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int fwdPin1 = 4;
- int revPin1 = 1;
- int fwdPin2 = 2;
- int revPin2 = 3;
- int ledPin = 9;
- int sensorPin1 = 0;
- int sensorPin2 = 1;
- int sensorPin3 = 2;
- int lightLevel1, lightLevel2, lightLevel3;
- int white = 0, black = 0;
- void setup() {
- // put your setup code here, to run once:
- pinMode(fwdPin1, OUTPUT);
- pinMode(revPin1, OUTPUT);
- pinMode(fwdPin2, OUTPUT);
- pinMode(revPin2, OUTPUT);
- pinMode(ledPin, OUTPUT);
- analogWrite(ledPin, 255);
- delay(5000);
- white = (analogRead(sensorPin1) + analogRead(sensorPin3)) / 2;
- black = analogRead(sensorPin2);
- }
- void loop() {
- // put your main code here, to run repeatedly:
- int rightCount = 0, leftCount = 0;
- lightLevel1 = analogRead(sensorPin1); // left photoresistor
- lightLevel2 = analogRead(sensorPin2); // middle photoresistor
- lightLevel3 = analogRead(sensorPin3); // right photoresistor
- if (lightLevel2 <= black + 5) {
- forward(125);
- }
- else {
- boolean found = false;
- boolean goLeft = false;
- while (found == false) {
- if (lightLevel2 <= black + 30) {
- if (goLeft == true) {
- forward(250);
- }
- found = true;
- break;
- }
- if (rightCount < 20 && goLeft == false) {
- right(85);
- rightCount++;
- }
- if (rightCount == 20 && goLeft == false) {
- left(600);
- goLeft = true;
- }
- if (goLeft == true) {
- left(85);
- }
- }
- }
- }
- void forward(int ms) {
- digitalWrite(fwdPin1, HIGH);
- digitalWrite(fwdPin2, HIGH);
- delay(ms); // time to run
- digitalWrite(fwdPin1, LOW);
- digitalWrite(fwdPin2, LOW);
- delay(200);
- }
- void right(int ms) {
- digitalWrite(fwdPin1, HIGH);
- digitalWrite(revPin2, HIGH);
- delay(ms); // time to run
- digitalWrite(fwdPin1, LOW);
- digitalWrite(revPin2, LOW);
- lightLevel2 = analogRead(sensorPin2);
- delay(125);
- }
- void left(int ms) {
- digitalWrite(fwdPin2, HIGH);
- digitalWrite(revPin1, HIGH);
- delay(ms);
- digitalWrite(fwdPin2, LOW);
- digitalWrite(revPin1, LOW);
- lightLevel2 = analogRead(sensorPin2);
- delay(125);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement