以下是利用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
Arduino机器人欢迎功能:超声波检测、语音播报、LED灯和舵机控制

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

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