0

我刚买了一个 Arduino Nano 33 BLE ( https://store.arduino.cc/products/arduino-nano-33-ble-with-headers )。我想从 DYPA02YYxx 传感器(https://github.com/riteshRcH/waterproof_small_blind_ultrasonic_sensor_DYP-A02YYxx_v1.0/tree/master/photos)读取超声波距离测量值。

以前,我将 Arduino Nano 用于相同目的,并使用了完美运行的代码:https ://github.com/riteshRcH/waterproof_small_blind_ultrasonic_sensor_DYP-A02YYxx_v1.0/blob/master/code/arduino/DYPA02YYUM_v1_arduino_uno_code/DYPA02YYUM_v1_arduino_uno_code.ino

我的主要问题是 Arduino Nano 33 BLE 上没有 SoftwareSerial.h 可用。因此,我不知道应该为四根线使用哪个引脚并触发测量。

我在这里尝试了建议,但没有运气:

当我调用它来触发测量时,这段代码卡住了。似乎 println 是一个阻塞调用。

UART sensor(digitalPinToPinName(3), digitalPinToPinName(4), NC, NC);
sensor.println("get"); // The execution blocks here
if (sensor.available()) { // I never reach this point
   Serial.println(sensor.read());
}

我也试过这个来触发但没有效果:

void trigger(){
  digitalWrite(3, LOW);
  delayMicroseconds(2);
  digitalWrite(3, HIGH);
  delayMicroseconds(10);
  digitalWrite(3, LOW);
}

它应该是一个简单的 UART 通信。我做错了什么?

4

0 回答 0