【发布时间】:2022-06-10 20:52:06
【问题描述】:
我正在使用具有 3 个超声波传感器的 Arduino Uno,并且我已经成功地让我的树莓派打印出这些值,但我不知道如何将它们变成变量。
这是 Arduino 代码
void setup() {
Serial.begin(9600);
void loop() {
digitalWrite(trigPin1, LOW);
delayMicroseconds(2);
digitalWrite(trigPin1, HIGH);
delayMicroseconds(2);
digitalWrite(trigPin1, LOW);
duration1 = pulseIn(echoPin1, HIGH);
distance1 = (duration1/2) / 29.1;
digitalWrite(trigPin2, LOW);
delayMicroseconds(2);
digitalWrite(trigPin2, HIGH);
delayMicroseconds(2);
digitalWrite(trigPin2, LOW);
duration2 = pulseIn(echoPin2, HIGH);
distance2 = (duration2/2) / 29.1;
digitalWrite(trigPin3, LOW);
delayMicroseconds(2);
digitalWrite(trigPin3, HIGH);
delayMicroseconds(2);
digitalWrite(trigPin3, LOW);
duration3 = pulseIn(echoPin3, HIGH);
distance3 = (duration3/2) / 29.1;
Serial.print(distance1);
Serial.print(" distance1 - ");
Serial.print(distance2);
Serial.print("distance2 - ");
Serial.print(distance3);
Serial.println("distance3 - ");
这是树莓派上的 Python 代码
import serial
if __name__ == '__main__':
ser = serial.Serial('/dev/ttyACM0', 9600, timeout=1)
ser.reset_input_buffer()
while True:
if ser.in_waiting > 0:
line = ser.readline().decode('utf-8').rstrip()
print(line)
树莓派和 Arduino 也是通过 USB 连接的。
感谢您的帮助,如果提到的内容没有意义,请提出任何问题
【问题讨论】:
-
您能否更改 arduino 代码以简化输出 - 或者 arduino 代码是否已修复?
标签: python arduino raspberry-pi arduino-ultra-sonic