以下是用 Arduino Uno 实现机器人检测人员进入的完整代码:

#define trigPin 9
#define echoPin 10
#define ledPin 13
#define servoPin 8
#define voicePin 7

#include <Servo.h>

Servo myServo;

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(ledPin, OUTPUT);
  pinMode(voicePin, OUTPUT);
  myServo.attach(servoPin);
  Serial.begin(9600);
}

void loop() {
  long duration, distance;
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = (duration / 2) / 29.1;
  Serial.print(distance);
  Serial.println(' cm');
  if (distance < 30) {
    digitalWrite(ledPin, HIGH);
    digitalWrite(voicePin, HIGH);
    myServo.write(90);
    delay(1000);
    digitalWrite(ledPin, LOW);
    digitalWrite(voicePin, LOW);
    myServo.write(0);
  }
}

具体连接方式如下:

  • 超声波传感器的 Trig 引脚连接到 Arduino 的数字引脚 9,Echo 引脚连接到数字引脚 10。
  • LED 灯模块的正极连接到 Arduino 的数字引脚 13,负极连接到 GND。
  • 语音模块的 VCC 引脚连接到 Arduino 的 5V 电源,GND 引脚连接到 GND,Signal 引脚连接到数字引脚 7。
  • 舵机模块的 VCC 引脚连接到 Arduino 的 5V 电源,GND 引脚连接到 GND,Signal 引脚连接到数字引脚 8。

当检测到人员进入时,超声波传感器会测量距离并判断距离是否小于 30 厘米,如果小于 30 厘米,则 LED 灯会亮起,语音模块会播放'欢迎光临'的语音,同时舵机会转动至 90 度,表示机器人睁眼启动。当人员离开时,所有功能停止。

Arduino机器人:超声波检测人来,睁眼欢迎!

原文地址: https://www.cveoy.top/t/topic/n38d 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录