RC wifi auto Robot camera met behulp van de Arduino en openWRT


Een auto van de wifi op basis van Arduino

door openWRT aanklagen

Doel: DIY een draadloze auto op basis van Arduino. Door het beheersen van de auto, wij kunnen zien de andere dingen die op de externe locatie, of bewaakt de veiligheid.

Effect door afbeelding:

Principe:

l openWRT borstel in draadloze router (zoals WR703N) en mjpeg - de streamer en ser2net software installeren.

l Mjpeg wordt gebruikt om te gaan met de video gegevens van camera en vervolgens verzenden via het Http-protocol aan de derde partij.

l de derde partij zoals mobiele telefoon via wifi access routers, verzenden controle instructies in de TCP-verbinding

l na ontvangst van instructies via ser2net, router instructie zou afgeven aan de binding van een seriële poort, dit is de Arduino UNO.

l na ontvangst van instructies, Arduino kunt beheren de expansie kamer (of schild) en vervolgens het schild zou beheren motor, sensoren, servo's en andere elektronische onderdelen. Tot slot zal de motor en de stuurinrichting instructies uitvoert.

Verbinding:

Belangrijkste accessoires:

Camera: chassis: http://www.smartarduino.com/wifi-web-camera-car-t...

Auto chassis:

http://www.smartarduino.com/car-chassis_d005005002...

Arduino: http://www.smartarduino.com/arduino-compatible_d0...

Arduino schild: http://www.smartarduino.com/arduino-shields_d0010...

Code:

1. #include

2. #include

3.

4. //UART PROTOCOL / / /

5. #define UART_FLAG 0XFF

6. //Moto////////////////////////////////

7. / / PROTO: VLAG DEV RICHTING LEGE VLAG

8. #define MOTO 0X00

9. #define vooruit 0X01 //MOTO opdracht

10. #define ACHTERWAARTSE 0X02

11. #define TURNLEFT 0X03

12. #define TURNRIGHT 0X04

13. #define CARSTOP 0X00

14. //Servo///////////////////////////////

15. / / PROTO: VLAG DEV SERVONUM POS VLAG

16. #define SERVO 0X01

17. //Moto snelheid / / /

18. / / PROTO: VLAG DEV MOTOSIDE SNELHEID VLAG

19. #define MOTOSPEED 0X02

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); verbinden met M3

28. AF_DCMotor motorR(4,MOTOR12_8KHZ); verbinding maken met M4

29. int. motor_speed = 200; [modifid] motorsnelheid 150-200,---min:100; max: 255

30. int. motor_delay = 400; [modifid] vertragingstijd in stap

31.

32. //-------------------define servo----------------------------------------------//

33. servo hand_t_servo; maken van servo-object om te bepalen van een servo

34. servo hand_d_servo; maken van servo-object om te bepalen van een servo

35. int. hand_t_pos = 90; //

36. int. hand_d_pos = 90; //

37. int. hand_delay = 1; [modifid] snelheid van hand

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. anders

52. {}

53. rxData [n] = tempData;

54. n ++;

55.}

56. if(flagCount == 2)

57. {}

58. rxData [4] == UART_FLAG;

59. UARTReveived = 1;

60. de 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. case naar voren:

76. carGoFwd();

77. pauze;

78. case achterwaarts:

79. carGoBwd();

80. pauze;

81. case TURNLEFT:

82. carTurnL();

83. pauze;

84. case TURNRIGHT:

85. carTurnR();

86. pauze;

87. case CARSTOP:

88. carStop();

89. pauze;

90.}

91. UARTReveived = 0;

92.}

93. anders als (rxData [1] == SERVO)

94. {}

95. servoSet(rxData[2], rxData[3]);

96. UARTReveived = 0;

97.}

98. anders als (rxData [1] == MOTOSPEED)

99. {}

100. CHNSpeed(rxData[2], rxData[3]);

101. UARTReveived = 0;

102.}

103.}

104.}

105.

106. //CAR BEWEGINGEN

107. nietig 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. nietig 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. nietig 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. nietig 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. nietig carStop()

144. {}

145. b_motor_stop();

146. Serial.print("carStop");

147. delay(5);

148.}

149. //CAR SNELHEID

150. void CHNSpeed (int wheelDIR, int wheelSpeed)

151. {}

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

153. {}

154. motorL.setSpeed(wheelSpeed);

155.}

156. anders if(wheelDIR == 0X02) //RIGHT wiel

157. {}

158. motorR.setSpeed(wheelSpeed);

159.}

160.}

161. //SERVO BEURT

162. void servoSet (int servoNum, int pos)

163. {}

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

165. anders als pos (pos < 0) = 0;

166. switch(servoNum)

167. {}

168. case 0X07:

169. hand_t_servo.write(pos);

170. Serial.print("X");

171. Serial.print(pos);

172. pauze;

173. case 0X08:

174. hand_d_servo.write(pos);

175. Serial.print("Y");

176. Serial.print(pos);

177. pauze;

178.}

179.}

180. void setup

181. {}

182. Serial.begin(9600);

183. b_motor_stop();

184. b_servo_ini();

185. / / delay(2000); wachttijd

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

187.}

188.

189. nietig b_motor_stop() {}

190. motorL.run(RELEASE);

191. motorR.run(RELEASE);

192.}

193.

194. nietig b_servo_ini() {}

195. hand_t_servo.attach(9); de servo op pin 9 hecht aan de servo-object

196. hand_d_servo.attach(10); de servo op pin 10 hecht aan de servo-object

197. hand_t_servo.write(hand_t_pos);

198. hand_d_servo.write(hand_d_pos);

199.}

Labels: Video, Arduino, Auto, Wifi, Openwrt

Gerelateerde Artikelen

Bluetooth Robot gecontroleerd met behulp van de Arduino

Bluetooth Robot gecontroleerd met behulp van de Arduino

Bluetooth gecontroleerde auto met behulp van de Arduino uno vanaf Android mobiele telefoonStap 1: Apparatuur nodig:1 X Arduino Atmega3281 X Bluetooth module (HC-06)1 X Chassis 4 X wielen (of) 2 x wielen ondersteunt op chassis4 x Motors (OR) 2 x Motor
GPS auto tracking-apparaat met behulp van de Arduino en smartphone

GPS auto tracking-apparaat met behulp van de Arduino en smartphone

Tegen het einde van 2013, werden meer dan 7,2 miljoen auto's wereldwijd geïdentificeerd als gestolen, dus het is zeer belangrijk om uw voertuig te beschermen tegen diefstal.in dit project, zullen we u helpen :)u hoeft niet te kopen dure onderdelen zo
GSM gebaseerd veelzijdige Robotic voertuig met behulp van PIC Microcontroller

GSM gebaseerd veelzijdige Robotic voertuig met behulp van PIC Microcontroller

dit project is ontworpen als een robot voertuig dat kan worden gecontroleerd door een mobiele telefoons te ontwikkelen. DTMF opdrachten vanaf een telefoon verzenden naar een andere mobiele telefoon die is gemonteerd op de robotic voertuig. Deze opdra
Multi-Moded Hack-Cam met behulp van Arduino

Multi-Moded Hack-Cam met behulp van Arduino

Nou, is dit mijn eerste post. Ik maakte iets dat zal mijnzomer productief, maar het duurde slechts 1 dag tot het einde van dit project, van de planning te coderen en te fabriceren. Gelukkig, bijna de helft van ik gebruikte materialen zijn geborgen en
2-wiel Self Balancing Robot met behulp van de Arduino en MPU6050

2-wiel Self Balancing Robot met behulp van de Arduino en MPU6050

2-wiel Self Balancing Robot met behulp van de Arduino en MPU6050.Arduino als de controller en de sensor MPU6050 gebruiken om te bepalen van het evenwicht. Gewoon een eenvoudige seriële Bluetooth module toevoegen en een Bluetooth seriële Controller AP
Maak een Web aangesloten Robot (voor ongeveer $500) (met behulp van een Arduino en Netbook)

Maak een Web aangesloten Robot (voor ongeveer $500) (met behulp van een Arduino en Netbook)

dit Instructable zal u tonen hoe te bouwen van uw eigen Web aangesloten Robot (met behulp van een Arduino micro-controller en de Asus eee pc).Waarom zou u een Web aangesloten Robot willen? Om mee te spelen natuurlijk. Rijd uw robot van hele kamer of
Hoe maak je aangepaste grepen voor uw camera met behulp van sugru

Hoe maak je aangepaste grepen voor uw camera met behulp van sugru

Deze gids zal u tonen hoe te maken van aangepaste tangen voor je camera met behulp van sugru.sugru is een zelf ingestelde rubber die met de hand kan worden gevormd. Het mallen zoals spel-deeg, obligaties aan bijna alles en verandert in een sterke, fl
Auto nacht Lamp met behulp van High Power LEDs

Auto nacht Lamp met behulp van High Power LEDs

dit is een van de zeer nuttige circuits "Auto nacht Lamp met behulp van High Power LEDs" genoemd. Dit is een eenvoudige schakeling die turns ON the LED-lampjes geïnterfacet ernaar op moment van de nacht en het wordt de verlichting automatisch ui
Hoe maak je Drift auto met behulp van de Arduino

Hoe maak je Drift auto met behulp van de Arduino

Hallo iedereen. Laat me voorstellen over hoe ik een DRIFT-auto met behulp van de arduino, pololu VNH5019, NRC-20 controlesysteem en verwoeste lichaam van RC auto gemaakt.Stap 1: Deze DRIFT auto bevat... 1. de Arduino UNO R3 programmeerbare bestuur2.
ESP8266 WiFi temp vochtigheid monitoring web app met behulp van de Arduino IDE

ESP8266 WiFi temp vochtigheid monitoring web app met behulp van de Arduino IDE

Vorige week ontving ik een ESP8266(adafruit). de nieuwe ESP8266 heeft arduino-bootloader, dus het maakt mogelijk om programmacode arduino rechtstreeks in de ESP8266. Deze ESP8266 komt met I2C, UART en GPIO. met deze nieuwe wifi module hoeft u niet el
Grondbeginselen van het omzetten van uw externe controle voertuig in een autonoom systeem (Drone) met behulp van een Arduino

Grondbeginselen van het omzetten van uw externe controle voertuig in een autonoom systeem (Drone) met behulp van een Arduino

ik begon dit project met als doel goedkoop draaien mijn RC helikopter in iets van een UAV of althans te passen sommige sensoren aan het verminderen van aanvaringen en andere "mis haps."Nu helaas aan het begin van het project misrekend ik mijn kl
Indringende en een PCB met behulp van een Arduino-Based CNC frezen

Indringende en een PCB met behulp van een Arduino-Based CNC frezen

Tot onlangs PCB sonderen met behulp van een Arduino was gebaseerde CNC machine maar een loutere droom. Dankzij de mensen van Chilipeppr.com we nu hebben gebaseerde een bankje van de web-gebaseerde tool voor al onze Arduino CNC producten. Het beste de
Programmeren van uw chipkit dp32 met behulp van de Arduino IDE

Programmeren van uw chipkit dp32 met behulp van de Arduino IDE

chipKIT platen hebben meestal veel meer geheugen en rekenkracht dan vele Arduino boards Arduino boards, en dientengevolge, ze zijn zo veel beter in het manipuleren van gegevens.Aan de andere kant is de Arduino IDE gemakkelijk te gebruiken en te begri
ESP8266 ESP-12E NodeMCU met behulp van de Arduino IDE - een Tutorial programmering

ESP8266 ESP-12E NodeMCU met behulp van de Arduino IDE - een Tutorial programmering

NodeMCU Dev Board is gebaseerd op grote schaal onderzocht esp8266 systeem op Spaander van Expressif. Het gecombineerde functies van WIFI accesspoint en station + microcontroller en gebruikt eenvoudige LUA gebaseerde programmeertaal. ESP8266 NodeMCU a