Arduino机器人欢迎功能:超声波检测、语音播报、LED灯和舵机控制
以下是利用Arduino、超声波传感器、语音模块、LED灯模块和舵机模块实现机器人欢迎功能的完整代码和连接图:
代码:
#include <SoftwareSerial.h>
#include <Servo.h>
#define trigPin 9
#define echoPin 10
#define ledPin 13
#define servoPin 11
SoftwareSerial mySerial(7, 8); // RX, TX
Servo myservo; // create servo object to control a servo
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
myservo.attach(servoPin); // attaches the servo on pin 11 to the servo object
Serial.begin(9600);
mySerial.begin(9600);
mySerial.write(0x7E);
mySerial.write(0xFF);
mySerial.write(0x06);
mySerial.write(0x03);
mySerial.write(0x00);
mySerial.write(0x01);
mySerial.write(0xEF);
}
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;
if (distance < 50) {
digitalWrite(ledPin, HIGH);
mySerial.write(0x7E);
mySerial.write(0xFF);
mySerial.write(0x06);
mySerial.write(0x03);
mySerial.write(0x00);
mySerial.write(0x02);
mySerial.write(0xEF);
myservo.write(180);
delay(500);
mySerial.write(0x7E);
mySerial.write(0xFF);
mySerial.write(0x06);
mySerial.write(0x03);
mySerial.write(0x00);
mySerial.write(0x03);
mySerial.write(0xEF);
delay(5000);
mySerial.write(0x7E);
mySerial.write(0xFF);
mySerial.write(0x06);
mySerial.write(0x03);
mySerial.write(0x00);
mySerial.write(0x03);
mySerial.write(0xEF);
myservo.write(0);
digitalWrite(ledPin, LOW);
}
}
连接图:
超声波传感器连接: VCC -> 5V GND -> GND Trig -> 9 Echo -> 10
LED灯模块连接:
- -> 13
- -> GND
舵机模块连接: VCC -> 5V GND -> GND Signal -> 11
语音模块连接: VCC -> 5V GND -> GND RX -> 7 TX -> 8
- -> 5V
- -> GND
原文地址: https://www.cveoy.top/t/topic/n35n 著作权归作者所有。请勿转载和采集!