Étape 2: Programmation arduino
1. #include
2. #include
3
4. robot sans fil cam protocole / / / //UART
5. #define UART_FLAG 0XFF
6. //Moto////////////////////////////////
7. / / PROTO : DRAPEAU DEV DIRECTION VIDE DRAPEAU
8. #define MOTO 0 x 00
9. #define commandement avancé de 0 x 01 //MOTO
10. #define 0 x 02 en arrière
11. #define TOURNEGAUCHE 0 x 03
12. #define TOURNEDROITE 0 x 04
13. #define CARSTOP 0 x 00
14. //Servo///////////////////////////////
15. / / PROTO : DRAPEAU DEV SERVONUM POS DRAPEAU
16. #define SERVO 0 x 01
17. //Moto Vitesse / / /
18. / / PROTO : DRAPEAU DEV MOTOSIDE INDICATEUR DE VITESSE
19. #define 0 x 02 de DSVt
20. //////////////////////////////////////
21. int n = 1 ;
22. int flagCount = 0 ;
23. int tempData = 0 ;
24. int UARTReveived = 0 ;
25. int rxData [5] ;
26. //-------------------define motor----------------------------------------------//
27. AF_DCMotor motorL(3,MOTOR12_8KHZ) ; se connecter au M3
28. AF_DCMotor motorR(4,MOTOR12_8KHZ) ; se connecter à M4
29. int motor_speed = 200 ; [modifid] moteur vitesse 150-200,---min:100 ; max : 255
30. int motor_delay = 400 ; [modifid] temps de retard à l’étape
31.
32. //-------------------define servo----------------------------------------------//
33. servo hand_t_servo ; Créez l’objet servo pour contrôler un servo
34. servo hand_d_servo ; Créez l’objet servo pour contrôler un servo
35. int hand_t_pos = 90 ; //
36. int hand_d_pos = 90 ; //
37. int hand_delay = 1 ; [modifid] vitesse de main
38.
39. //------------------main program-----------------------------------------------//
40. void loop()
41. {}
42. if(Serial.available())
43. {}
44. tempData = Serial.read() ;
45. delay(3) ;
46. if(tempData == UART_FLAG && flagCount < 2)
47. {}
48. rxData [0] = tempData ;
49. flagCount ++ ;
50.}
51. d’autre
52. {}
53. rxData [n] = tempData ;
54. n ++ ;
55.}
56. if(flagCount == 2)
57. {}
58. rxData [4] == UART_FLAG ;
59. UARTReveived = 1 ;
60. n = 1 ;
61. flagCount = 0 ;
62. tempData = 0 ;
63. Serial.flush() ;
64.}
65.}
66. if(UARTReveived == 1)
67. {}
68. Serial.print("rxData:") ;
69. Serial.print(rxData[0]) ;
70. Serial.println(rxData[1]) ;
71. if(rxData[1] == MOTO)
72. {}
73. switch(rxData[2])
74. {}
75. affaire plus loin :
76. carGoFwd() ;
77. break ;
78. affaire vers l’arrière :
79. carGoBwd() ;
80. la rupture ;
81. affaire TOURNEGAUCHE :
82. carTurnL() ;
83. break ;
84. affaire TOURNEDROITE :
85. carTurnR() ;
86. break ;
87. affaire CARSTOP :
88. carStop() ;
89. break ;
90.}
91. UARTReveived = 0 ;
92.}
93. ElseIf (rxData [1] == SERVO)
94. {}
95. servoSet(rxData[2], rxData[3]);
96. UARTReveived = 0 ;
97.}
98. ElseIf (rxData [1] == DSVt)
99. {}
100. CHNSpeed(rxData[2], rxData[3]);