利用arduino超声波传感器语音模块LED灯模块和舵机模块。按如下要求设计:当检测到人来的时候机器人睁眼启动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
- -> GN
原文地址: http://www.cveoy.top/t/topic/fbnx 著作权归作者所有。请勿转载和采集!