arduino 舵机接线图_求用5个电位器分别控制舵机的arduino的原码和连线图

该博客介绍了如何使用Arduino通过5个电位器控制4个舵机,提供了详细的代码实现和接线方法。代码中定义了电位器的输入端口和舵机的输出端口,并使用模拟读取和映射函数调整舵机的角度。还讨论了舵机供电电压问题,建议使用6V供电以避免影响Arduino稳定性。
摘要由CSDN通过智能技术生成

按照上图连线,按照如下代码烧程序。123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960#define Sin_1 A0    //设置变阻器1路电压采集端口为A0#define Sin_2 A1    //设置变阻器2路电压采集端口为A1#define Sin_3 A2    //设置变阻器3路电压采集端口为A2#define Sin_4 A3    //设置变阻器4路电压采集端口为A3#define Pout_1 2    //设置舵机PWM信号1路输出端口为D2#define Pout_2 3    //设置舵机PWM信号2路输出端口为D3#define Pout_3 4    //设置舵机PWM信号3路输出端口为D4#define Pout_4 5    //设置舵机PWM信号4路输出端口为D5int v1, v2, v3, v4; //定义采集模拟电压的存储变量int p1, p2, p3, p4; //定义PWM输出的脉宽变量unsigned long T_Start;void setup(){  pinMode(Pout_1, OUTPUT);   //设置舵机接口为输出模式  pinMode(Pout_2, OUTPUT);   //设置舵机接口为输出模式  pinMode(Pout_3, OUTPUT);   //设置舵机接口为输出模式  pinMode(Pout_4, OUTPUT);   //设置舵机接口为输出模式  p1 = 1500; p2 = 1500; p3 = 1500; p4 = 1500;    //设置初始舵机输出的位置为中立位置}void loop(){  T_Start = micros();                    //每次循环运行前,先采集当前的时间标志值  PWM_OUT();                             //输出舵机的控制信号  Get_Input();                           //采集模拟电压信号并转换为舵机角度对应的脉宽值  while((micros() - T_Start) <= 20000);    //控制时间,保证每个循环占用20ms,满足驱动舵机的信号周期要求}void PWM_OUT(){  //由于绝大多数Arduino都不具备使用Servo库同时驱动4个舵机的功能  //所以,本函数采用高低电平延时方式,产生驱动4路舵机的功能  digitalWrite(Pout_1, HIGH);  delayMicroseconds(p1);  digitalWrite(Pout_1, LOW);     digitalWrite(Pout_2, HIGH);  delayMicroseconds(p2);  digitalWrite(Pout_2, LOW);     digitalWrite(Pout_3, HIGH);  delayMicroseconds(p3);  digitalWrite(Pout_3, LOW);     digitalWrite(Pout_4, HIGH);  delayMicroseconds(p4);  digitalWrite(Pout_4, LOW);}void Get_Input(){  v1 = analogRead(Sin_1);   //采集变阻器模拟电压  p1 = map(v1,0,1023,500,2500);  //使用map函数,将采集的10位精度的电压的值域(0-1023),转换为舵机的脉宽数值(500-2500)     v2 = analogRead(Sin_2);   //采集变阻器模拟电压  p2 = map(v2,0,1023,500,2500);      v3 = analogRead(Sin_3);   //采集变阻器模拟电压  p3 = map(v3,0,1023,500,2500);      v4 = analogRead(Sin_4);   //采集变阻器模拟电压  p4 = map(v4,0,1023,500,2500); }

追问 : 为什么舵机 出来不是5V,而是6V

追答 : 因为舵机最好用6V供电,其实5V也可以。

但不建议把Arduino和舵机用一个电源供电,当舵机负载较大时,会拉低电压导致重启。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值