Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if 1
- void motor_forward_fixed(uint8 speed, uint32 delay)
- {
- MotorDirLeft_Write(0);
- MotorDirRight_Write(0);
- float ratio = 1.05; //
- uint8 l_speed = speed;
- uint8 r_speed = (float)speed / ratio;
- motor_turn(l_speed, r_speed, delay);
- }
- // pitää toteuttaa:
- void turn_left();
- void turn_right();
- void mild_turn_left();
- void mild_turn_right();
- void hard_turn_left();
- void hard_turn_right();
- void zmain(void)
- {
- // motor
- motor_start();
- motor_forward(0, 0);
- // reflectance
- //struct sensors_ ref;
- struct sensors_ dig;
- reflectance_start();
- reflectance_set_threshold(9000, 9000, 11000, 11000, 9000, 9000); // set center sensor threshold to 11000 and others to 9000
- // odotetaan napin painamista
- while (SW1_Read() == 1)
- {
- vTaskDelay(200);
- }
- motor_forward_fixed(100, 0);
- for(;;)
- {
- reflectance_digital(&dig); // dig.l3, dig.l2, dig.l1, dig.r1, dig.r2, dig.r3
- // VIIVAN SEURANTA
- if (dig.l3 == 0 && dig.l2 == 0 && dig.l1 == 1 && dig.r1 == 1 && dig.r2 == 0 && dig.r3 == 0)
- {
- // mene suoraan
- // motor_forward_fixed(100, 0);
- } else if (dig.l3 == 0 && dig.l2 == 1 && dig.l1 == 1 && dig.r1 == 0 && dig.r2 == 0 && dig.r3 == 0) {
- // käänny oikea
- // turn_right();
- } else if (dig.l3 == 0 && dig.l2 == 0 && dig.l1 == 0 && dig.r1 == 1 && dig.r2 == 1 && dig.r3 == 0) {
- // käänny vasen
- // turn_left();
- } else if (dig.l3 == 1 && dig.l2 == 1 && dig.l1 == 0 && dig.r1 == 0 && dig.r2 == 0 && dig.r3 == 0) {
- // käänny vahva oikea
- // hard_turn_right();
- } else if (dig.l3 == 0 && dig.l2 == 0 && dig.l1 == 0 && dig.r1 == 0 && dig.r2 == 1 && dig.r3 == 1) {
- // käänny vahva vasen
- // hard_turn_right();
- } else if (dig.l3 == 0 && dig.l2 == 0 && dig.l1 == 0 && dig.r1 == 1 && dig.r2 == 0 && dig.r3 == 0) {
- // käänny loiva vasen
- // mild_turn_left();
- } else if (dig.l3 == 0 && dig.l2 == 0 && dig.l1 == 1 && dig.r1 == 0 && dig.r2 == 0 && dig.r3 == 0) {
- // käänny loiva oikea
- // mild_turn_right();
- } else if (dig.l3 == 1 && dig.l2 == 1 && dig.l1 == 1 && dig.r1 == 1 && dig.r2 == 1 && dig.r3 == 1) {
- // kaikki on ykkösiä
- // odota IR tai linjalaskuri++;
- } // lisää iffejä...
- vTaskDelay(200);
- }
- }
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement