Openmv色块识别+STM32驱动云台色块追踪(免费)

小小_扫地僧ZIPopenMV追踪代码.zip  6.71MB

资源文件列表:

ZIP openMV追踪代码.zip 大约有215个文件
  1. Openmv色块识别+STM32驱动云台色块追踪/
  2. Openmv色块识别+STM32驱动云台色块追踪/DebugConfig/
  3. Openmv色块识别+STM32驱动云台色块追踪/DebugConfig/Target_1_STM32F103C8_1.0.0.dbgconf 6.79KB
  4. Openmv色块识别+STM32驱动云台色块追踪/Hardware/
  5. Openmv色块识别+STM32驱动云台色块追踪/Hardware/Key.c 828B
  6. Openmv色块识别+STM32驱动云台色块追踪/Hardware/Key.h 95B
  7. Openmv色块识别+STM32驱动云台色块追踪/Hardware/LED.c 1.04KB
  8. Openmv色块识别+STM32驱动云台色块追踪/Hardware/LED.h 200B
  9. Openmv色块识别+STM32驱动云台色块追踪/Hardware/OLED.c 7.72KB
  10. Openmv色块识别+STM32驱动云台色块追踪/Hardware/OLED.h 567B
  11. Openmv色块识别+STM32驱动云台色块追踪/Hardware/OLED_Font.h 8.94KB
  12. Openmv色块识别+STM32驱动云台色块追踪/Hardware/PWM.c 2.28KB
  13. Openmv色块识别+STM32驱动云台色块追踪/Hardware/PWM.h 290B
  14. Openmv色块识别+STM32驱动云台色块追踪/Hardware/Serial.c 3.31KB
  15. Openmv色块识别+STM32驱动云台色块追踪/Hardware/Serial.h 466B
  16. Openmv色块识别+STM32驱动云台色块追踪/Hardware/Servo.c 777B
  17. Openmv色块识别+STM32驱动云台色块追踪/Hardware/Servo.h 228B
  18. Openmv色块识别+STM32驱动云台色块追踪/Hardware/been.c 658B
  19. Openmv色块识别+STM32驱动云台色块追踪/Hardware/been.h 160B
  20. Openmv色块识别+STM32驱动云台色块追踪/Library/
  21. Openmv色块识别+STM32驱动云台色块追踪/Library/misc.c 6.88KB
  22. Openmv色块识别+STM32驱动云台色块追踪/Library/misc.h 8.77KB
  23. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_adc.c 46.09KB
  24. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_adc.h 21.18KB
  25. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_bkp.c 8.26KB
  26. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_bkp.h 7.38KB
  27. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_can.c 44.05KB
  28. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_can.h 26.91KB
  29. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_cec.c 11.38KB
  30. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_cec.h 6.42KB
  31. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_crc.c 3.27KB
  32. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_crc.h 2.11KB
  33. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_dac.c 18.64KB
  34. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_dac.h 14.88KB
  35. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_dbgmcu.c 5.03KB
  36. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_dbgmcu.h 3.73KB
  37. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_dma.c 28.91KB
  38. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_dma.h 20.27KB
  39. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_exti.c 6.8KB
  40. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_exti.h 6.66KB
  41. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_flash.c 61.08KB
  42. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_flash.h 24.85KB
  43. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_fsmc.c 34.65KB
  44. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_fsmc.h 26.38KB
  45. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_gpio.c 22.68KB
  46. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_gpio.h 19.7KB
  47. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_i2c.c 44.71KB
  48. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_i2c.h 29.33KB
  49. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_iwdg.c 4.8KB
  50. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_iwdg.h 3.74KB
  51. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_pwr.c 8.55KB
  52. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_pwr.h 4.28KB
  53. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_rcc.c 50.07KB
  54. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_rcc.h 29.74KB
  55. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_rtc.c 8.4KB
  56. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_rtc.h 3.77KB
  57. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_sdio.c 28.25KB
  58. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_sdio.h 21.35KB
  59. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_spi.c 29.52KB
  60. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_spi.h 17.31KB
  61. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_tim.c 106.6KB
  62. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_tim.h 51.2KB
  63. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_usart.c 37.41KB
  64. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_usart.h 16.16KB
  65. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_wwdg.c 5.6KB
  66. Openmv色块识别+STM32驱动云台色块追踪/Library/stm32f10x_wwdg.h 2.9KB
  67. Openmv色块识别+STM32驱动云台色块追踪/Listings/
  68. Openmv色块识别+STM32驱动云台色块追踪/Listings/Project.map 162.85KB
  69. Openmv色块识别+STM32驱动云台色块追踪/Listings/startup_stm32f10x_md.lst 40.47KB
  70. Openmv色块识别+STM32驱动云台色块追踪/Objects/
  71. Openmv色块识别+STM32驱动云台色块追踪/Objects/Project.axf 378.86KB
  72. Openmv色块识别+STM32驱动云台色块追踪/Objects/Project.build_log.htm 3.91KB
  73. Openmv色块识别+STM32驱动云台色块追踪/Objects/Project.htm 60.42KB
  74. Openmv色块识别+STM32驱动云台色块追踪/Objects/Project.lnp 1.21KB
  75. Openmv色块识别+STM32驱动云台色块追踪/Objects/Project.sct 479B
  76. Openmv色块识别+STM32驱动云台色块追踪/Objects/Project_Target 1.dep 58.73KB
  77. Openmv色块识别+STM32驱动云台色块追踪/Objects/been.crf 342.62KB
  78. Openmv色块识别+STM32驱动云台色块追踪/Objects/been.d 1.4KB
  79. Openmv色块识别+STM32驱动云台色块追踪/Objects/been.o 374.35KB
  80. Openmv色块识别+STM32驱动云台色块追踪/Objects/core_cm3.crf 3.85KB
  81. Openmv色块识别+STM32驱动云台色块追踪/Objects/core_cm3.d 106B
  82. Openmv色块识别+STM32驱动云台色块追踪/Objects/core_cm3.o 10.87KB
  83. Openmv色块识别+STM32驱动云台色块追踪/Objects/delay.crf 338.11KB
  84. Openmv色块识别+STM32驱动云台色块追踪/Objects/delay.d 1.34KB
  85. Openmv色块识别+STM32驱动云台色块追踪/Objects/delay.o 371.35KB
  86. Openmv色块识别+STM32驱动云台色块追踪/Objects/key.crf 338.47KB
  87. Openmv色块识别+STM32驱动云台色块追踪/Objects/key.d 1.31KB
  88. Openmv色块识别+STM32驱动云台色块追踪/Objects/key.o 371.25KB
  89. Openmv色块识别+STM32驱动云台色块追踪/Objects/led.crf 338.57KB
  90. Openmv色块识别+STM32驱动云台色块追踪/Objects/led.d 1.28KB
  91. Openmv色块识别+STM32驱动云台色块追踪/Objects/led.o 376.56KB
  92. Openmv色块识别+STM32驱动云台色块追踪/Objects/main.crf 345.52KB
  93. Openmv色块识别+STM32驱动云台色块追踪/Objects/main.d 1.62KB
  94. Openmv色块识别+STM32驱动云台色块追踪/Objects/main.o 379.85KB
  95. Openmv色块识别+STM32驱动云台色块追踪/Objects/misc.crf 338.78KB
  96. Openmv色块识别+STM32驱动云台色块追踪/Objects/misc.d 1.34KB
  97. Openmv色块识别+STM32驱动云台色块追踪/Objects/misc.o 374.4KB
  98. Openmv色块识别+STM32驱动云台色块追踪/Objects/oled.crf 341.39KB
  99. Openmv色块识别+STM32驱动云台色块追踪/Objects/oled.d 1.35KB
  100. Openmv色块识别+STM32驱动云台色块追踪/Objects/oled.o 394.87KB
  101. Openmv色块识别+STM32驱动云台色块追踪/Objects/pwm.crf 338.95KB
  102. Openmv色块识别+STM32驱动云台色块追踪/Objects/pwm.d 1.28KB
  103. Openmv色块识别+STM32驱动云台色块追踪/Objects/pwm.o 375.14KB
  104. Openmv色块识别+STM32驱动云台色块追踪/Objects/serial.crf 344.5KB
  105. Openmv色块识别+STM32驱动云台色块追踪/Objects/serial.d 1.49KB
  106. Openmv色块识别+STM32驱动云台色块追踪/Objects/serial.o 385.09KB
  107. Openmv色块识别+STM32驱动云台色块追踪/Objects/servo.crf 338.84KB
  108. Openmv色块识别+STM32驱动云台色块追踪/Objects/servo.d 1.41KB
  109. Openmv色块识别+STM32驱动云台色块追踪/Objects/servo.o 377.94KB
  110. Openmv色块识别+STM32驱动云台色块追踪/Objects/startup_stm32f10x_md.d 64B
  111. Openmv色块识别+STM32驱动云台色块追踪/Objects/startup_stm32f10x_md.o 5.87KB
  112. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_adc.crf 345.79KB
  113. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_adc.d 1.63KB
  114. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_adc.o 420.36KB
  115. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_bkp.crf 339.7KB
  116. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_bkp.d 1.63KB
  117. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_bkp.o 384.02KB
  118. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_can.crf 347.36KB
  119. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_can.d 1.63KB
  120. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_can.o 405.91KB
  121. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_cec.crf 340.24KB
  122. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_cec.d 1.63KB
  123. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_cec.o 386.58KB
  124. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_crc.crf 338.35KB
  125. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_crc.d 1.63KB
  126. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_crc.o 375.4KB
  127. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_dac.crf 340.37KB
  128. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_dac.d 1.63KB
  129. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_dac.o 384.66KB
  130. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_dbgmcu.crf 338.14KB
  131. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_dbgmcu.d 1.73KB
  132. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_dbgmcu.o 371.56KB
  133. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_dma.crf 341.82KB
  134. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_dma.d 1.63KB
  135. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_dma.o 384.13KB
  136. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_exti.crf 339.33KB
  137. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_exti.d 1.66KB
  138. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_exti.o 378.4KB
  139. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_flash.crf 345.63KB
  140. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_flash.d 1.7KB
  141. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_flash.o 409.48KB
  142. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_fsmc.crf 344.17KB
  143. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_fsmc.d 1.66KB
  144. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_fsmc.o 395.32KB
  145. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_gpio.crf 342.2KB
  146. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_gpio.d 1.66KB
  147. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_gpio.o 394.18KB
  148. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_i2c.crf 344.57KB
  149. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_i2c.d 1.63KB
  150. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_i2c.o 414.64KB
  151. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_it.crf 338.27KB
  152. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_it.d 1.59KB
  153. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_it.o 379.08KB
  154. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_iwdg.crf 338.45KB
  155. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_iwdg.d 1.66KB
  156. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_iwdg.o 375.37KB
  157. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_pwr.crf 339.61KB
  158. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_pwr.d 1.63KB
  159. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_pwr.o 379.98KB
  160. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_rcc.crf 345.69KB
  161. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_rcc.d 1.63KB
  162. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_rcc.o 413.41KB
  163. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_rtc.crf 339.61KB
  164. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_rtc.d 1.63KB
  165. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_rtc.o 386.14KB
  166. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_sdio.crf 342.8KB
  167. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_sdio.d 1.66KB
  168. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_sdio.o 408.3KB
  169. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_spi.crf 342.66KB
  170. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_spi.d 1.63KB
  171. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_spi.o 400.52KB
  172. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_tim.crf 360.35KB
  173. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_tim.d 1.63KB
  174. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_tim.o 497.38KB
  175. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_usart.crf 344.26KB
  176. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_usart.d 1.7KB
  177. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_usart.o 409.53KB
  178. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_wwdg.crf 338.89KB
  179. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_wwdg.d 1.66KB
  180. Openmv色块识别+STM32驱动云台色块追踪/Objects/stm32f10x_wwdg.o 378.23KB
  181. Openmv色块识别+STM32驱动云台色块追踪/Objects/system_stm32f10x.crf 339.93KB
  182. Openmv色块识别+STM32驱动云台色块追踪/Objects/system_stm32f10x.d 1.66KB
  183. Openmv色块识别+STM32驱动云台色块追踪/Objects/system_stm32f10x.o 373.76KB
  184. Openmv色块识别+STM32驱动云台色块追踪/Project.uvguix.Admin 90.56KB
  185. Openmv色块识别+STM32驱动云台色块追踪/Project.uvguix.zxf 70.05KB
  186. Openmv色块识别+STM32驱动云台色块追踪/Project.uvguix.姚璐 94.65KB
  187. Openmv色块识别+STM32驱动云台色块追踪/Project.uvoptx 36.04KB
  188. Openmv色块识别+STM32驱动云台色块追踪/Project.uvprojx 28.35KB
  189. Openmv色块识别+STM32驱动云台色块追踪/Start/
  190. Openmv色块识别+STM32驱动云台色块追踪/Start/core_cm3.c 16.87KB
  191. Openmv色块识别+STM32驱动云台色块追踪/Start/core_cm3.h 83.71KB
  192. Openmv色块识别+STM32驱动云台色块追踪/Start/startup_stm32f10x_cl.s 15.4KB
  193. Openmv色块识别+STM32驱动云台色块追踪/Start/startup_stm32f10x_hd.s 15.14KB
  194. Openmv色块识别+STM32驱动云台色块追踪/Start/startup_stm32f10x_hd_vl.s 15.32KB
  195. Openmv色块识别+STM32驱动云台色块追踪/Start/startup_stm32f10x_ld.s 12.09KB
  196. Openmv色块识别+STM32驱动云台色块追踪/Start/startup_stm32f10x_ld_vl.s 13.34KB
  197. Openmv色块识别+STM32驱动云台色块追踪/Start/startup_stm32f10x_md.s 12.47KB
  198. Openmv色块识别+STM32驱动云台色块追踪/Start/startup_stm32f10x_md_vl.s 13.74KB
  199. Openmv色块识别+STM32驱动云台色块追踪/Start/startup_stm32f10x_xl.s 15.58KB
  200. Openmv色块识别+STM32驱动云台色块追踪/Start/stm32f10x.h 619.08KB
  201. Openmv色块识别+STM32驱动云台色块追踪/Start/system_stm32f10x.c 35.7KB
  202. Openmv色块识别+STM32驱动云台色块追踪/Start/system_stm32f10x.h 2.04KB
  203. Openmv色块识别+STM32驱动云台色块追踪/System/
  204. Openmv色块识别+STM32驱动云台色块追踪/System/Delay.c 838B
  205. Openmv色块识别+STM32驱动云台色块追踪/System/Delay.h 135B
  206. Openmv色块识别+STM32驱动云台色块追踪/User/
  207. Openmv色块识别+STM32驱动云台色块追踪/User/main.c 1.85KB
  208. Openmv色块识别+STM32驱动云台色块追踪/User/stm32f10x_conf.h 3.18KB
  209. Openmv色块识别+STM32驱动云台色块追踪/User/stm32f10x_it.c 4.3KB
  210. Openmv色块识别+STM32驱动云台色块追踪/User/stm32f10x_it.h 2.04KB
  211. Openmv色块识别+STM32驱动云台色块追踪/keilkill.bat 399B
  212. Openmv色块识别+STM32驱动云台色块追踪/serial.c 3.5KB
  213. Openmv色块识别+STM32驱动云台色块追踪/serial.h 468B
  214. Openmv色块识别+STM32驱动云台色块追踪/区域识别(无pid).py 3.16KB
  215. 区域识别(无pid).py 3.13KB

资源介绍:

"Openmv色块识别+STM32驱动云台色块追踪(免费)" 涉及到的核心技术是使用OpenMV摄像头进行色块识别,并通过STM32微控制器来驱动云台进行色块追踪。这个项目是基于开源硬件和软件的,旨在实现一种智能视觉导航系统,适合于机器人定位、物体跟踪等应用。 【OpenMV色块识别】OpenMV是一款低成本、易于使用的嵌入式机器视觉模块,它内置了MicroPython环境,允许开发者使用Python语言编写机器视觉算法。在色块识别中,OpenMV可以捕获图像,通过颜色阈值、形状检测等算法对特定颜色的块进行定位。用户可能需要编写Python脚本来定义目标颜色范围,然后通过图像处理技术如灰度化、二值化和轮廓检测来提取色块。例如,`区域识别(无pid).py`可能就是用于实现这一功能的代码,尽管没有PID控制,但依然能实现基本的色块识别和位置计算。 【STM32驱动云台】STM32是意法半导体公司推出的基于ARM Cortex-M内核的微控制器系列,广泛应用于各种嵌入式系统。在这个项目中,STM32接收来自OpenMV的色块位置信息,然后通过控制电机或舵机来调整云台的角度,使得摄像头始终保持对色块的追踪。这通常涉及到串行通信协议如I2C、UART或SPI来传递数据,以及PID(比例-积分-微分)控制算法来实现精确的云台角度调整。虽然描述中提到"区域识别(无pid).py"未使用PID,但在实际的云台追踪中,PID控制通常会提供更稳定、精确的追踪效果。 【集成与应用】将OpenMV的色块识别与STM32的云台驱动相结合,可以创建一个自主寻迹的小型机器人。这样的系统可以应用于教育、娱乐甚至科研领域,比如自动跟随色标的无人机、机器人足球比赛中的目标识别等。开发者需要具备一定的Python编程基础,了解OpenMV库的使用,同时也要熟悉STM32的硬件接口和嵌入式软件开发。 这个项目涉及的知识点包括: 1. 机器视觉原理与OpenMV摄像头的使用 2. Python编程,特别是图像处理和颜色识别 3. STM32微控制器的硬件接口与嵌入式编程 4. 串行通信协议如UART、SPI或I2C 5. 云台驱动和电机控制 6. 基于颜色的目标追踪算法 7. 无PID的简易追踪策略 对于想要深入学习这些技术的人来说,这个项目提供了一个很好的实践平台,可以结合提供的代码进行学习和改进。

/** ****************************************************************************** * @file stm32f10x_tim.c * @author MCD Application Team * @version V3.5.0 * @date 11-March-2011 * @brief This file provides all the TIM firmware functions. ****************************************************************************** * @attention * * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. * * <h2><center>© COPYRIGHT 2011 STMicroelectronics</center></h2> ****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #include "stm32f10x_tim.h" #include "stm32f10x_rcc.h" /** @addtogroup STM32F10x_StdPeriph_Driver * @{ */ /** @defgroup TIM * @brief TIM driver modules * @{ */ /** @defgroup TIM_Private_TypesDefinitions * @{ */ /** * @} */ /** @defgroup TIM_Private_Defines * @{ */ /* ---------------------- TIM registers bit mask ------------------------ */ #define SMCR_ETR_Mask ((uint16_t)0x00FF) #define CCMR_Offset ((uint16_t)0x0018) #define CCER_CCE_Set ((uint16_t)0x0001) #define CCER_CCNE_Set ((uint16_t)0x0004) /** * @} */ /** @defgroup TIM_Private_Macros * @{ */ /** * @} */ /** @defgroup TIM_Private_Variables * @{ */ /** * @} */ /** @defgroup TIM_Private_FunctionPrototypes * @{ */ static void TI1_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter); static void TI2_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter); static void TI3_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter); static void TI4_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter); /** * @} */ /** @defgroup TIM_Private_Macros * @{ */ /** * @} */ /** @defgroup TIM_Private_Variables * @{ */ /** * @} */ /** @defgroup TIM_Private_FunctionPrototypes * @{ */ /** * @} */ /** @defgroup TIM_Private_Functions * @{ */ /** * @brief Deinitializes the TIMx peripheral registers to their default reset values. * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. * @retval None */ void TIM_DeInit(TIM_TypeDef* TIMx) { /* Check the parameters */ assert_param(IS_TIM_ALL_PERIPH(TIMx)); if (TIMx == TIM1) { RCC_APB2PeriphResetCmd&#40;RCC_APB2Periph_TIM1, ENABLE&#41;; RCC_APB2PeriphResetCmd&#40;RCC_APB2Periph_TIM1, DISABLE&#41;; } else if (TIMx == TIM2) { RCC_APB1PeriphResetCmd&#40;RCC_APB1Periph_TIM2, ENABLE&#41;; RCC_APB1PeriphResetCmd&#40;RCC_APB1Periph_TIM2, DISABLE&#41;; } else if (TIMx == TIM3) { RCC_APB1PeriphResetCmd&#40;RCC_APB1Periph_TIM3, ENABLE&#41;; RCC_APB1PeriphResetCmd&#40;RCC_APB1Periph_TIM3, DISABLE&#41;; } else if (TIMx == TIM4) { RCC_APB1PeriphResetCmd&#40;RCC_APB1Periph_TIM4, ENABLE&#41;; RCC_APB1PeriphResetCmd&#40;RCC_APB1Periph_TIM4, DISABLE&#41;; } else if (TIMx == TIM5) { RCC_APB1PeriphResetCmd&#40;RCC_APB1Periph_TIM5, ENABLE&#41;; RCC_APB1PeriphResetCmd&#40;RCC_APB1Periph_TIM5, DISABLE&#41;; } else if (TIMx == TIM6) { RCC_APB1PeriphResetCmd&#40;RCC_APB1Periph_TIM6, ENABLE&#41;; RCC_APB1PeriphResetCmd&#40;RCC_APB1Periph_TIM6, DISABLE&#41;; } else if (TIMx == TIM7) { RCC_APB1PeriphResetCmd&#40;RCC_APB1Periph_TIM7, ENABLE&#41;; RCC_APB1PeriphResetCmd&#40;RCC_APB1Periph_TIM7, DISABLE&#41;; } else if (TIMx == TIM8) { RCC_APB2PeriphResetCmd&#40;RCC_APB2Periph_TIM8, ENABLE&#41;; RCC_APB2PeriphResetCmd&#40;RCC_APB2Periph_TIM8, DISABLE&#41;; } else if (TIMx == TIM9) { RCC_APB2PeriphResetCmd&#40;RCC_APB2Periph_TIM9, ENABLE&#41;; RCC_APB2PeriphResetCmd&#40;RCC_APB2Periph_TIM9, DISABLE&#41;; } else if (TIMx == TIM10) { RCC_APB2PeriphResetCmd&#40;RCC_APB2Periph_TIM10, ENABLE&#41;; RCC_APB2PeriphResetCmd&#40;RCC_APB2Periph_TIM10, DISABLE&#41;; } else if (TIMx == TIM11) { RCC_APB2PeriphResetCmd&#40;RCC_APB2Periph_TIM11, ENABLE&#41;; RCC_APB2PeriphResetCmd&#40;RCC_APB2Periph_TIM11, DISABLE&#41;; } else if (TIMx == TIM12) { RCC_APB1PeriphResetCmd&#40;RCC_APB1Periph_TIM12, ENABLE&#41;; RCC_APB1PeriphResetCmd&#40;RCC_APB1Periph_TIM12, DISABLE&#41;; } else if (TIMx == TIM13) { RCC_APB1PeriphResetCmd&#40;RCC_APB1Periph_TIM13, ENABLE&#41;; RCC_APB1PeriphResetCmd&#40;RCC_APB1Periph_TIM13, DISABLE&#41;; } else if (TIMx == TIM14) { RCC_APB1PeriphResetCmd&#40;RCC_APB1Periph_TIM14, ENABLE&#41;; RCC_APB1PeriphResetCmd&#40;RCC_APB1Periph_TIM14, DISABLE&#41;; } else if (TIMx == TIM15) { RCC_APB2PeriphResetCmd&#40;RCC_APB2Periph_TIM15, ENABLE&#41;; RCC_APB2PeriphResetCmd&#40;RCC_APB2Periph_TIM15, DISABLE&#41;; } else if (TIMx == TIM16) { RCC_APB2PeriphResetCmd&#40;RCC_APB2Periph_TIM16, ENABLE&#41;; RCC_APB2PeriphResetCmd&#40;RCC_APB2Periph_TIM16, DISABLE&#41;; } else { if (TIMx == TIM17) { RCC_APB2PeriphResetCmd&#40;RCC_APB2Periph_TIM17, ENABLE&#41;; RCC_APB2PeriphResetCmd&#40;RCC_APB2Periph_TIM17, DISABLE&#41;; } } } /** * @brief Initializes the TIMx Time Base Unit peripheral according to * the specified parameters in the TIM_TimeBaseInitStruct. * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. * @param TIM_TimeBaseInitStruct: pointer to a TIM_TimeBaseInitTypeDef * structure that contains the configuration information for the * specified TIM peripheral. * @retval None */ void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct) { uint16_t tmpcr1 = 0; /* Check the parameters */ assert_param(IS_TIM_ALL_PERIPH(TIMx)); assert_param(IS_TIM_COUNTER_MODE(TIM_TimeBaseInitStruct->TIM_CounterMode)); assert_param(IS_TIM_CKD_DIV(TIM_TimeBaseInitStruct->TIM_ClockDivision)); tmpcr1 = TIMx->CR1; if((TIMx == TIM1) || (TIMx == TIM8)|| (TIMx == TIM2) || (TIMx == TIM3)|| (TIMx == TIM4) || (TIMx == TIM5)) { /* Select the Counter Mode */ tmpcr1 &= (uint16_t)(~((uint16_t)(TIM_CR1_DIR | TIM_CR1_CMS))); tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_CounterMode; } if((TIMx != TIM6) && (TIMx != TIM7)) { /* Set the clock division */ tmpcr1 &= (uint16_t)(~((uint16_t)TIM_CR1_CKD)); tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_ClockDivision; } TIMx->CR1 = tmpcr1; /* Set the Autoreload value */ TIMx->ARR = TIM_TimeBaseInitStruct->TIM_Period ; /* Set the Prescaler value */ TIMx->PSC = TIM_TimeBaseInitStruct->TIM_Prescaler; if ((TIMx == TIM1) || (TIMx == TIM8)|| (TIMx == TIM15)|| (TIMx == TIM16) || (TIMx == TIM17)) { /* Set the Repetition Counter value */ TIMx->RCR = TIM_TimeBaseInitStruct->TIM_RepetitionCounter; } /* Generate an update event to reload the Prescaler and the Repetition counter values immediately */ TIMx->EGR = TIM_PSCReloadMode_Immediate; } /** * @brief Initializes the TIMx Channel1 according to the specified * parameters in the TIM_OCInitStruct. * @param TIMx: where x can be 1 to 17 except 6 and 7 to select the TIM peripheral. * @param TIM_OCInitStru
100+评论
captcha