Arduino学习笔记(1):控制舵机转速和继电器开关

准备:
Arduino mega 2560
Micro Servo 9g
杜邦线若干

接线方式如图:
Arduino学习笔记(1):控制舵机转速和继电器开关_第1张图片

需要上传到Arduino的代码:

#include     // 声明调用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("关闭继电器");
   }  
  }
}  

你可能感兴趣的:(ESP8266)