void bot_StartStop(){ if(ON){ lcd_clear(); print_string(50,30,"stop"); bot_stop(); _delay_ms(1000); lcd_clear(); ON=0; } else if(!ON){ lcd_clear(); print_string(50,30,"start"); _delay_ms(1500); //will move forward for minimum 500 ms till told to stop bot_forward(); lcd_clear(); ON=1; } }
int main(int argc, char *argv[]) { motor_init(); bot_stop(); // Move forward at 50% speed for 2 seconds bot_forward(pwm_speed(50)); sleep(2); // Spin around a bit, woohoo! bot_spin(pwm_speed(40), SPIN_DIRECTION_LEFT); sleep(1); bot_spin(pwm_speed(40), SPIN_DIRECTION_RIGHT); sleep(1); bot_stop(); return 0; }
void eye_control(){ while(1){ if(buttonsPressed & BUTTON_S2){ //D3 to disable eye control bot_stop(); buttonsPressed=0; lcd_clear(); print_string(40,30,"Disabled!!"); _delay_ms(3000); lcd_clear(); break; } small_blink=0,big_blink=0,ON=0,menu_counter=0; short toggle=1; input = adc_read(); highlight_and_print_string(0,8,"1.Waiting..."); _delay_ms(100); // lcd_clear(); if(input > AdcThreshold || input==AdcThreshold){ check_blink(); } if(big_blink){ _delay_ms(1000); while(1){ if(buttonsPressed & BUTTON_S2){ //D3 to disable eye control bot_stop(); /*lcd_clear(); print_string(24,30,"Disabled!!"); _delay_ms(1000); lcd_clear();*/ break; } small_blink=0,big_blink=0; input = adc_read(); if(input > AdcThreshold){ check_blink(); } if(small_blink && !ON){ menu_counter++; toggle=1; if(menu_counter==5) menu_counter=0; } else if(big_blink){ //lcd_clear(); if(ON){ ON=0; bot_stop(); _delay_ms(1000); toggle=1; } else if(menu_counter==0){ _delay_ms(1000); break; } else if(menu_counter==1){ highlight_and_print_string(0,16,"2.Left..."); _delay_ms(1000); bot_left(); ON=1; } else if(menu_counter==2){ highlight_and_print_string(0,24,"3.Right..."); _delay_ms(1000); bot_right(); ON=1; } else if(menu_counter==3){ highlight_and_print_string(0,32,"4.Forward..."); _delay_ms(1000); bot_forward(); ON=1; } else if(menu_counter==4){ highlight_and_print_string(0,40,"5.Backward..."); _delay_ms(1000); bot_backward(); ON=1; } } if(!ON && toggle){ toggle=0; //lcd_clear(); print_string(0,0,"===Eye Control==="); print_string(0,8,"1.Wait "); print_string(0,16,"2.Left "); print_string(0,24,"3.Right "); print_string(0,32,"4.Forward "); print_string(0,40,"5.Backward "); print_string(0,56,"*S2=ESC*"); switch(menu_counter){ case 0: highlight_and_print_string(0,8,"1.Wait "); _delay_ms(100); break; case 1: highlight_and_print_string(0,16,"2.Left "); _delay_ms(100); break; case 2: highlight_and_print_string(0,24,"3.Right "); _delay_ms(100); break; case 3: highlight_and_print_string(0,32,"4.Forward "); _delay_ms(100); break; case 4: highlight_and_print_string(0,40,"5.Backward "); _delay_ms(100); break; default: break; } } } } } }