Arduino ESP8266 控制舵机和激光灯:代码、电路图和前端实现
使用 Arduino IDE 驱动 ESP8266 控制两个舵机和一个激光灯
本文将介绍如何使用 Arduino IDE 驱动 ESP8266 控制两个舵机和一个激光灯,并提供相应的代码、电路图和前端控制界面。
代码
#include <Servo.h> // 引入 Servo 库
Servo servo1; // 定义舵机1对象
Servo servo2; // 定义舵机2对象
int laserPin = 5; // 激光灯所连接的引脚
void setup() {
// 初始化舵机
servo1.attach(12); // 将舵机1连接到 ESP8266 的 D6 引脚
servo2.attach(14); // 将舵机2连接到 ESP8266 的 D5 引脚
// 初始化激光灯引脚
pinMode(laserPin, OUTPUT);
}
void loop() {
// 控制舵机1转动
servo1.write(0); // 舵机1转到 0 度
delay(1000); // 延迟 1 秒
servo1.write(90); // 舵机1转到 90 度
delay(1000); // 延迟 1 秒
servo1.write(180); // 舵机1转到 180 度
delay(1000); // 延迟 1 秒
// 控制舵机2转动
servo2.write(0); // 舵机2转到 0 度
delay(1000); // 延迟 1 秒
servo2.write(90); // 舵机2转到 90 度
delay(1000); // 延迟 1 秒
servo2.write(180); // 舵机2转到 180 度
delay(1000); // 延迟 1 秒
// 控制激光灯
digitalWrite(laserPin, HIGH); // 打开激光灯
delay(1000); // 延迟 1 秒
digitalWrite(laserPin, LOW); // 关闭激光灯
delay(1000); // 延迟 1 秒
}
前端代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>控制舵机和激光灯</title>
</head>
<body>
<h1>控制舵机和激光灯</h1>
<label for="servo1">舵机1:</label>
<input type="range" min="0" max="180" value="90" id="servo1" onchange="setServo1(this.value)">
<br>
<label for="servo2">舵机2:</label>
<input type="range" min="0" max="180" value="90" id="servo2" onchange="setServo2(this.value)">
<br>
<button onclick="turnOnLaser()">打开激光灯</button>
<button onclick="turnOffLaser()">关闭激光灯</button>
<script>
function setServo1(angle) {
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "set_servo1?angle=" + angle, true);
xhttp.send();
}
function setServo2(angle) {
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "set_servo2?angle=" + angle, true);
xhttp.send();
}
function turnOnLaser() {
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "turn_on_laser", true);
xhttp.send();
}
function turnOffLaser() {
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "turn_off_laser", true);
xhttp.send();
}
</script>
</body>
</html>
电路图

在电路图中,D6 和 D5 分别连接到两个舵机的信号引脚,D1 连接到激光灯的正极,GND 连接到激光灯的负极。
说明
- 代码中的
delay(1000)表示延迟 1 秒。 - 前端代码使用
XMLHttpRequest对象发送 HTTP 请求到 ESP8266,控制舵机和激光灯。 - 实际使用时,需要根据您的硬件配置修改代码和电路图。
总结
本文提供了一个使用 Arduino IDE 驱动 ESP8266 控制两个舵机和一个激光灯的示例,并给出了相应的代码、电路图和前端实现。您可以根据自己的需求进行修改和扩展,实现更复杂的控制功能。
原文地址: https://www.cveoy.top/t/topic/mUUt 著作权归作者所有。请勿转载和采集!