【问题标题】:How to make a variable with the inputs of 3 ultrasonic sensors with a raspberry pi and an Arduino?如何使用带有树莓派和 Arduino 的 3 个超声波传感器的输入来制作变量?
【发布时间】: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


【解决方案1】:

您确定您连接的 USB 端口是 /dev/ttyACM0 正确的端口吗?如果您在 Raspberry 终端中键入 ls /dev/tty*,它将显示已连接的端口。

【讨论】:

    猜你喜欢
    • 2015-07-19
    • 2017-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-29
    • 2013-07-01
    • 2016-04-23
    • 1970-01-01
    相关资源
    最近更新 更多