• 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恢复
      }
      }
      }

      }