星瞳实验室APP,快速收到回复
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • openmv与stm32f103rct6数据格式接受问题,电脑串口助手显示单片机接受一堆非二进制数?



    • 请在这里粘贴代码
      ```# Blob Detection and uart transport
      import sensor, image, time
      from pyb import UART
      import json
      # For color tracking to work really well you should ideally be in a very, very,
      # very, controlled enviroment where the lighting is constant...
      red_threshold=(18, 69, 40, 86, 0, 72)
      # You may need to tweak the above settings for tracking green things...
      # Select an area in the Framebuffer to copy the color settings.
      
      sensor.reset() # Initialize the camera sensor.
      sensor.set_pixformat(sensor.RGB565) # use RGB565.
      sensor.set_framesize(sensor.QQVGA) # use QQVGA for speed.
      sensor.skip_frames(10) # Let new settings take affect.
      sensor.set_auto_whitebal(False) # turn this off.
      clock = time.clock() # Tracks FPS.
      
      uart = UART(3, 19200)
      def find_max(blobs):
          max_size=0
          for blob in blobs:
              if blob.pixels() > max_size:
                  max_blob=blob
                  max_size = blob.pixels()
          return max_blob
      
      while(True):
          img = sensor.snapshot() # Take a picture and return the image.
      
          blobs = img.find_blobs([red_threshold])
          if blobs:
              max_blob=find_max(blobs)
              #print('sum :', len(blobs))
              img.draw_rectangle(max_blob.rect())
              img.draw_cross(max_blob.cx(), max_blob.cy())
      
              output_str="%d%d" % (max_blob.cx(),max_blob.cy()) #方式1
              #output_str=json.dumps([max_blob.cx(),max_blob.cy()]) #方式2
              print('',output_str)
              uart.write(output_str+'\r\n')
      
      单片机程序
      #include "stm32f10x.h"
      #include "./led/bsp_led.h"
      #include "./uart/bsp_uart.h"
      
      
      void delay(uint32_t count)
      {
      	for(; count!=0; count--);
      }
      
      int main(void)
      {
      	uint8_t temp;
      	
      	LED_GPIO_Config();
      	
      	DEBUG_UART_Config();
      	
      	
      	while(1)
        {
      		temp = getchar();
      		printf("%d%d\n",temp);
      		
      		
      		
      			if (temp=(75,73))
      			{LED1_ON;
      			  LED2_OFF;}
      			else if (temp=(75,46))
      			{LED2_ON;
      			  LED1_OFF;}
      			else;
      				{LED2_OFF
      			  LED1_OFF;}
      			
      	
         }
      串口助手接收数据如下:[16:46:56.953]收←◆541073821696
      511073821696
      
      [16:46:56.988]收←◆541073821696
      501073821696
      
      [16:46:57.024]收←◆541073821696
      501073821696
      
      [16:46:57.059]收←◆541073821696
      501073821696
      
      [16:46:57.094]收←◆541073821696
      501073821696
      
      [16:46:57.129]收←◆541073821696
      501073821696
      
      [16:46:57.164]收←◆541073821696
      501073821696
      
      [16:46:57.200]收←◆541073821696
      501073821696
      
      [16:46:57.235]收←◆541073821696
      501073821696
      
      [16:46:57.271]收←◆541073821696
      501073821696
      openmv发送数据如下:
      6248
       6248
       6249
       6249
       6249
       6249
       6250
       6250
       6250
      
      
      数据格式不统一,不知道如何解决


    • https://singtown.com/learn/50235/

      发送的是字符串。看视频操作。



    • @phs4 楼主你调试成功了吗?