准备:
Arduino mega 2560
Micro Servo 9g
杜邦线若干
接线方式如图:
需要上传到Arduino的代码:
#include <Servo.h> // 声明调用Servo.h库
Servo myservo; // 创建一个舵机对象
int pos = 0; // 变量pos用来存储舵机位置
void setup() {
myservo.attach(9); // 将引脚9上的舵机与声明的舵机对象连接起来
}
void loop() {
for(pos = 0; pos < 180; pos += 1){ // 舵机从0°转到180°,每次增加1°
myservo.write(pos); // 给舵机写入角度
delay(15); // 延时15ms让舵机转到指定位置
}
for(pos = 180; pos>=1; pos-=1) { // 舵机从180°转回到0°,每次减小1°
myservo.write(pos); // 写角度到舵机
delay(15); // 延时15ms让舵机转到指定位置
}
}
上传成功后就可以工作了,下面说改变转速的问题,
for(pos = 0; pos < 180; pos += 1)
这里更改转速,设置pos +=10就是指每次增加10度。
准备1路光耦隔离继电器模块(其他的也行)
DC+====5v
DC-====GND
IN ====信号线(本文接D3)
代码:
int pinRelay = 3; //管脚D3连接到继电器模块的信号脚
int val;
void setup() {
pinMode(pinRelay, OUTPUT); //设置pinRelay脚为输出状态
Serial.begin(115200);
}
void loop() {
if(Serial.available()>0)
{
val=Serial.read();
if(val=='a')
{
digitalWrite(pinRelay, HIGH);//输出HIGH电平,继电器模块闭合
Serial.print("闭合继电器");
}
if(val=='b')
{
digitalWrite(pinRelay, LOW);//输出HIGH电平,继电器模块闭合
Serial.print("关闭继电器");
}
}
}