RC wifi cámara de coche Robot con Arduino y openWRT (4 / 4 paso)

Paso 4: código

1. #include

2. #include

3.

4. //UART PROTOCOLO / / /

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]);

101. UARTReveived = 0;

102.}

103.}

104.}

105.

106. //CAR MOVIMIENTOS

107. anular carGoFwd()

108. {}

109. motorL.setSpeed(motor_speed);

110. motorR.setSpeed(motor_speed);

111. motorL.run(FORWARD);

112. motorR.run(FORWARD);

113. Serial.print("forward");

114. delay(motor_delay);

115.}

116. anular carGoBwd()

117. {}

118. motorL.setSpeed(motor_speed);

119. motorR.setSpeed(motor_speed);

120. motorL.run(BACKWARD);

121. motorR.run(BACKWARD);

122. Serial.print("Backward");

123. delay(motor_delay);

124.}

125. anular carTurnL()

126. {}

127. motorL.setSpeed(motor_speed);

128. motorR.setSpeed(motor_speed);

129. motorL.run(BACKWARD);

130. motorR.run(FORWARD);

131. delay(motor_delay);

132. Serial.print("TurnL");

133.}

134. anular carTurnR()

135. {}

136. motorL.setSpeed(motor_speed);

137. motorR.setSpeed(motor_speed);

138. motorL.run(FORWARD);

139. motorR.run(BACKWARD);

140. delay(motor_delay);

141. Serial.print("TurnR");

142.}

143. anular carStop()

144. {}

145. b_motor_stop();

146. Serial.print("carStop");

147. delay(5);

148.}

149. //CAR VELOCIDAD

150. void CHNSpeed (int wheelDIR, int wheelSpeed)

151. {}

152. if(wheelDIR == 0X01) //LEFT rueda

153. {}

154. motorL.setSpeed(wheelSpeed);

155.}

156. otra if(wheelDIR == 0X02) //RIGHT rueda

157. {}

158. motorR.setSpeed(wheelSpeed);

159.}

160.}

161. //SERVO VUELTA

162. void servoSet (int servoNum, int pos)

163. {}

164. if(pos > 180) pos = 160;

165. else if (pos < 0) pos = 0;

166. switch(servoNum)

167. {}

168. caso 0X07:

169. hand_t_servo.write(pos);

170. Serial.print("X");

171. Serial.print(pos);

172. rotura;

173. caso 0X08:

174. hand_d_servo.write(pos);

175. Serial.print("Y");

176. Serial.print(pos);

177. rotura;

178.}

179.}

180. void setup()

181. {}

182. Serial.begin(9600);

183. b_motor_stop();

184. b_servo_ini();

185. / / delay(2000); tiempo de espera

186. Serial.println("Hello! WiFi coche");

187.}

188.

189. void b_motor_stop() {}

190. motorL.run(RELEASE);

191. motorR.run(RELEASE);

192.}

193.

194. void b_servo_ini() {}

195. hand_t_servo.attach(9); se fija el servo en el pin 9 al objeto servo

196. hand_d_servo.attach(10); se fija el servo en el pin 10 al objeto servo

197. hand_t_servo.write(hand_t_pos);

198. hand_d_servo.write(hand_d_pos);

199.}

Artículos Relacionados

ESP8266 y Visuino: mando a distancia WiFi Smart coche Robot con Wii Nunchuck

ESP8266 y Visuino: mando a distancia WiFi Smart coche Robot con Wii Nunchuck

Que coche elegante se establece cuando se combinan con Los módulos de controladores Motor L298N, ofrecen una de las maneras más fáciles de fabricar coches robot. Ya hice un Instructable sobre cómo puede controlar coche Smart con Arduino y Joystick. S
Línea básica siguiente Robot con Arduino

Línea básica siguiente Robot con Arduino

07/09/2015Han pasado unos años desde que publicamos inicialmente básica línea siguiente Robot con Arduino tutorial, y parece que mucha gente encuentra útil que debemos publicar una actualización que funciona actual de las bibliotecas de Arduino, incl
2 ruedas Self Balancing Robot con Arduino y MPU6050

2 ruedas Self Balancing Robot con Arduino y MPU6050

2 ruedas Self Balancing Robot con Arduino y MPU6050.Usar Arduino como el controlador y sensor de MPU6050 para controlar el equilibrio. Sólo añadir un modulo Serial Bluetooth simple y utilizar una aplicación de controlador Serial de Bluetooth para el
Coche robot (con doble tren de la impulsión)

Coche robot (con doble tren de la impulsión)

Hemos creado un robot para una competencia de robótica del colegio. La competencia fue controlar remotamente un robot que podría recoger una pelota de golf, maniobra de un curso que incluye puentes apretadas vueltas y una pista de pendiente de 30 gra
2WD voz controla Robot con Arduino y el servidor de BitVoicer

2WD voz controla Robot con Arduino y el servidor de BitVoicer

En este Instructable voy a mostrar cómo construir un robot controlado por voz 2WD . Aunque estoy controlando sólo los motores de la C.C. para mover el robot, el mismo enfoque puede utilizarse para control de voz motores paso a paso y servomotores, as
Cómo hacer un teléfono móvil y un ordenador controlado 3D impreso Robot con Arduino - IoBot.

Cómo hacer un teléfono móvil y un ordenador controlado 3D impreso Robot con Arduino - IoBot.

Si está buscando una manera de controlar un Arduino basado en dispositivos, esta instrucción le mostrará cómo hacerlo mediante la construcción de robots sencillos.La IoBot puede controlarse mediante la aplicación móvil y ordenador vía LAN o Cable USB
Gesture control car(robot) con Arduino y Android(bluetooth)

Gesture control car(robot) con Arduino y Android(bluetooth)

Hola amigos,Aquí es un proyecto interesante por todo lo que mentes creativas que hay. Vamos a construir un auto RC android teléfono controlado.Nada podría ser más fascinante que los coches de controlados remotos. Éste utiliza Bluetooth para la comuni
Sin hilos controlar un Robot con Arduino y módulos RF!

Sin hilos controlar un Robot con Arduino y módulos RF!

/*Edición 05/05/2016Hola chicos, he estado ocupado con la Universidad y no podía responder a comenta. La mayoría de ustedes quería el código y esquemas, hechas un poco mejor por lo que he hecho los esquemas en Eagle 7.2.0 y subido todo en Github.Aquí
Tetris juegos de coches como con Arduino

Tetris juegos de coches como con Arduino

Este es un juego de carrera de coche sencillo hecho con Arduino Uno.Paso 1: El circuitoTe hace falta:Pantalla LCD, 2 filas, las 16 columnas2 potenciómetrosJoystick de pulgarArduino UNOEl esquema está en archivo arduino_race_car.txt.Si no te gusta pro
Mando a distancia Robot con Arduino

Mando a distancia Robot con Arduino

L293D es un doble motor driver puente H circuito integrado (IC). Controladores de motor actúan como amplificadores de corriente ya que llevan un control de poca intensidad de señal y proporcionan una señal de corriente más alta. Esta señal de corrien
Movimiento y discurso controlan por Wifi cámara Bluetooth coche

Movimiento y discurso controlan por Wifi cámara Bluetooth coche

Este instructable muestra cómo crear un movimiento y discurso controlado por coche con un wifi controles de cámara y bluetooth. Continuar con el siguiente paso para obtener una lista de piezas. Me inspiré en un producto visto aquíPaso 1: Lista de pie
Hackear un coche RC con Arduino y Android

Hackear un coche RC con Arduino y Android

(Si te gusta este Instructable, no olvide votar en ella (por encima de: bandera de la esquina a la derecha). está compitiendo en robótica y sensores concursos. ¡Muchas gracias! ;-)Cada vez que entra a una tienda de juguetes y ver coches de control re
Hacer un Robot con Arduino UNO de uno mismo-equilibrio

Hacer un Robot con Arduino UNO de uno mismo-equilibrio

Uno mismo-equilibrio Robot es muy interesante. Muchos amigos que nos rodean estaban tratando de hacer uno, pero encounted muchos desafíos, incluyendo la falta de las estructuras de fácil montaje, los circuitos electrónicos adecuados y los programas.
Cara en tiempo real seguimiento Robot con Arduino y Matlab

Cara en tiempo real seguimiento Robot con Arduino y Matlab

Cara en tiempo real de seguimiento se refiere a la tarea de localizar rostros humanos en un flujo de vídeo y seguimiento las caras detectadas o reconocidas. Hoy en día, hay muchas aplicaciones del mundo real de detección de rostros y otra técnicas de