Arduino机器人:超声波检测人来,睁眼欢迎!
以下是用 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 度,表示机器人睁眼启动。当人员离开时,所有功能停止。
原文地址: https://www.cveoy.top/t/topic/n38d 著作权归作者所有。请勿转载和采集!