• OpenMV VSCode 扩展发布了,在插件市场直接搜索OpenMV就可以安装
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • openmv和arduino通信,为什么能接收到信息但无法发送信息



    • //openmv端代码

      import time
      from pyb import UART
      
      uart = UART(3, 9600,timeout=10000000,read_buf_len=1)
      
      while True :
           receive = uart.read(1)  #读到一个数据,把一个数据赋值给receive
           print(receive)  #读到8会变成b'8'
           time.sleep_ms(200)
           if receive == b'8' :#与arduino通讯
              print("receive")
              time.sleep_ms(2000)
              uart.write('n')#发送完成信号
              print("transmit")
              break
      
      
      
      
      
      //arduino端代码
      #include <SoftwareSerial.h>
      SoftwareSerial BTserial(5,6); // 建立SoftwareSerial对象,RX引脚5, TX引脚6
      int b=0;
      void setup() {
          Serial.begin(9600);
          BTserial.begin(9600); // HC-06 默认波特率 9600  
        
      }
      
      void loop() {
        int a = 1;
        if (a = 1) //a区,收到A板发出的消息,左采摘
        { switch (b) {
            case 0:
              delay(3000);
              BTserial.write("8"); b = 30; //给openmv发一次消息
              Serial.println("transmit");
              delay(1000);
          }
          if (BTserial.available())  //读取open mv的消息
          { char c = BTserial.read();
            Serial.println(c);
            delay(1000);
            if (c == 'n')         
            { 
              delay(1000);
              Serial.println("end");
              b = 0; //b恢复
            }
            }
          }
       
        
      }