舵机任意角度程序_舵机使用与扩展

1 接线图基础舵机控制程序

4413f0227e631331e3d702855a217f54.png

代码:

图形化:如果有串口输入,转动对应的角度

3cd21d1550c941e83f686f89502660d8.png

等待输入,转动一定角度2

#include <Servo.h>
int servoPin=6;  //定义舵机引脚
int pos = 0;    //定义角度值
int servoDelay=50;   //定义时间

Servo my_servo;    //定义舵机对象
void setup(){
    Serial.begin(9600);  //打开串口
    my_servo.attach(servoPin); //绑定串口引脚
}


void loop(){
   Serial.println("please intput an  angle:");
   while (Serial.available() ==0){}   //等待串口输入数据
   pos = Serial.parseInt;      //将串口数据转换为整型读取到pos
   my_servo.write(pos);    //转一定角度
   delay(servoDelay);     //延迟


}

代码2 让舵机 从0-180 再从180-0

#include <Servo.h>
int pos = 0;    // variable to store the servo position 
int servoPin= 9;
int servoDelay=25;
Servo myPointer;

 
void setup() 
{ 
  Serial.begin(9600);
  myPointer.attach(servoPin);  // attaches the servo on pin 9 to the servo object 
} 
 
 
void loop() {

for (pos=15; pos<=170; pos=pos+1) {
  
  myPointer.write(pos);
  delay(servoDelay);
  
}

for (pos=170; pos>=15; pos=pos-1) {
  
  myPointer.write(pos);
  delay(servoDelay);
}
}

2 .电位器 控制

ab0aa3311b4fb1d9a6357c712dae5838.png

5747453f92138b5e699967f4663739b3.png
#include <Servo.h>

int pos = 0;
int serPin = 6;
int delayTime = 50;

Servo my_servo;

void setup(){
  Serial.begin(9600);
  my_servo.attach(serPin);
}

void loop(){
  pos = analogRead(A0);
  pos = map(pos,0,1023,0,180);
  my_servo.write(pos);
  delay(delayTime);
}

3 线路3超声波传感器控制舵机模块

da41f726c5b706dcf609026ac0a35eff.png

ec902b3ffcb04f1170ede266f3c96ff8.png
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值