Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <atx.h>
- #define BLACK 200
- #define LEFT_SENSOR 5
- #define RIGHT_SENSOR 4
- int state = 1 ;
- void setup()
- {
- lcd("pressSW1");
- sw1_press();
- beep();
- }
- void loop()
- {
- int left = analogRead(LEFT_SENSOR);
- int right = analogRead(RIGHT_SENSOR);
- if(left < 200 && right < 200)
- {
- switch(state)
- {
- case 1:
- {
- spin_right(100);
- delay(200);
- break;
- }
- case 2:
- {
- spin_right(100);
- delay(200);
- break;
- }
- case 3:
- {
- spin_right(100);
- delay(350);
- go_forward(100);
- delay(90);
- break;
- }
- case 4:
- {
- spin_right(100);
- delay(250);
- break;
- }
- case 5:
- {
- spin_right(100);
- delay(250);
- break;
- }
- case 6:
- {
- spin_right(100);
- delay(200);
- break;
- }
- case 7 :
- {
- spin_right(100);
- delay(200);
- break;
- }
- case 8 :
- {
- spin_left(100);
- delay(200);
- break;
- }
- case 9 :
- {
- spin_right(100);
- delay(200);
- break;
- }
- case 10 :
- {
- timed_follow(3000 );
- break;
- }
- case 11 :
- {
- spin_right(100);
- delay(200);
- break;
- }
- default:
- {
- motor_stop(ALL);
- sw1_press();
- }
- }
- state = state + 1;
- }
- else if( left < 200 )
- {
- spin_left(100);
- }
- else if( right < 200 )
- {
- spin_right(100);
- }
- else
- {
- go_forward(20);
- }
- }
- void spin_left(int t_power)
- {
- motor(0,t_power);
- motor(1,t_power);
- motor(2,-t_power);
- motor(3,-t_power);
- }
- void turn_left(int t_power)
- {
- motor(0,t_power);
- motor(1,t_power);
- motor(2,0);
- motor(3,0);
- }
- void spin_right(int t_power)
- {
- motor(0,-t_power);
- motor(1,-t_power);
- motor(2,t_power);
- motor(3,t_power);
- }
- void go_forward(int f_power)
- {
- motor(0,f_power);
- motor(1,f_power);
- motor(2,f_power);
- motor(3,f_power);
- }
- void timed_follow( long ms )
- {
- long start = millis();
- while( millis() - start < ms )
- {
- int left = analogRead(LEFT_SENSOR);
- if( left < 200 )
- {
- spin_left(100);
- }
- else
- {
- go_forward(20);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement