Paso 2: Programación arduino
1. #include
2. #include
3
4. //UART protocolo / / Wireless cam robot
5. #define UART_FLAG 0XFF
6. //Moto////////////////////////////////
7. / / PROTO: BANDERA DEV DIRECCIÓN BANDERA VACÍO
8. #define MOTO 0 x 00
9. #define hacia adelante 0 x 01 //MOTO comando
10. #define hacia atrás 0 x 02
11. #define izquierda 0 x 03
12. #define TURNRIGHT 0 x 04
13. #define CARSTOP 0 x 00
14. //Servo///////////////////////////////
15. / / PROTO: BANDERA DEV SERVONUM POS BANDERA
16. #define SERVO 0 x 01
17. //Moto velocidad / / /
18. / / PROTO: BANDERA DEV MOTOSIDE VELOCIDAD BANDERA
19. #define MOTOSPEED 0 x 02
20. //////////////////////////////////////
21. int n = 1;
22. int flagCount = 0;
23. tempData int = 0;
24. int UARTReveived = 0;
25. int rxData [5];
26. //-------------------define motor----------------------------------------------//
27. AF_DCMotor motorL(3,MOTOR12_8KHZ); conectar a M3
28. AF_DCMotor motorR(4,MOTOR12_8KHZ); conectar a M4
29. int motor_speed = 200; velocidad del motor [modifid] 150-200---min:100; max: 255
30. int motor_delay = 400; [modifid] tiempo de retardo en el paso
31.
32. //-------------------define servo----------------------------------------------//
33. servo hand_t_servo; crear objeto servo para controlar un servo
34. servo hand_d_servo; crear objeto servo para controlar un servo
35. int hand_t_pos = 90; //
36. int hand_d_pos = 90; //
37. int hand_delay = 1; [modifid] velocidad de la mano
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. más
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. caso hacia adelante:
76. carGoFwd();
77. rotura;
78. el caso al revés:
79. carGoBwd();
80. rotura;
81. el caso izquierda:
82. carTurnL();
83. rotura;
84. caso TURNRIGHT:
85. carTurnR();
86. rotura;
87. caso CARSTOP:
88. carStop();
89. rotura;
90.}
91. UARTReveived = 0;
92.}
93. else if (rxData [1] == SERVO)
94. {}
95. servoSet(rxData[2], rxData[3]);
96. UARTReveived = 0;
97.}
98. else if (rxData [1] == MOTOSPEED)
99. {}
100. CHNSpeed(rxData[2], rxData[3]);