想用arduino 做一个摇杆控制云台(两个舵机)的装置,谢谢各位!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了想用arduino 做一个摇杆控制云台(两个舵机)的装置,谢谢各位!相关的知识,希望对你有一定的参考价值。

就是用arduino 套件里的摇杆,控制一个小云台(两个9g舵机),X轴控制左右转,Y轴控制上下转!自己能做出来摇杆和舵机同步,但是摇杆回原位,舵机也跟着回来了,我想做的是 摇杆朝一个方向拨一下,舵机就往相应的方向转一点,而不回原点!如果摇杆的Z轴(按键)按下去,则XY两轴回归原点,舵机回原位!摇杆XY接 A0 A1, Z 接数字10,舵机接数字口8 和9,谢谢各位!在线等!

参考技术A 你的思路错在将loop看成了一个一次性的过程。
loop是个反复循环的过程。
从这个地方出发,你应该会发现问题所在。
需要弄一个变量,记载你的触发情况。
另外,只要是开关,就要防抖。这个我也没有看到啊追问

我不是专业的 我就是想做这么个东西,所以才学,如果可以的话,能不能帮写下代码,感激不尽!

Arduino控制16路PWM舵机驱动板(PCA9685)

最近买了块16路PWM舵机驱动板,测试后做个总结。

舵机原理网上资料很多就不详细介绍了,一般以9g舵机为例,一个20ms的周期内通过0.5ms到2.5ms的脉冲宽度控制舵机角度。

板子为16通道12bit PWM舵机驱动,用2个引脚通过I2C就可以驱动16个舵机。

修改例子为可以通过串口设置舵机角度

 1 #include <Wire.h>
 2 #include <Adafruit_PWMServoDriver.h>
 3 
 4 //默认地址 0x40
 5 Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();
 6 
 7 //9g舵机 高电平宽度在20ms内通过控制脉冲宽度范围0.5ms~2.5ms
 8 #define SERVOMIN  102 // this is the ‘minimum‘ pulse length count (out of 4096) 0度
 9 #define SERVOMAX  512 // this is the ‘maximum‘ pulse length count (out of 4096) 180度
10 
11 void setup() {
12   Serial.begin(9600);
13   Serial.println("16 channel Servo test!");
14   pwm.begin();
15   pwm.setPWMFreq(50);  //频率 50Hz,最高60Hz
16 }
17 
18 void setServoPulse(uint8_t n, double pulse) {
19   double pulselength;
20   pulselength = 1000000;   // 1,000,000 us per second
21   pulselength /= 50;   // 50 Hz
22   Serial.print(pulselength); Serial.println(" us per period"); 
23   pulselength /= 4096;  // 12 bits of resolution
24   Serial.print(pulselength); Serial.println(" us per bit"); 
25   pulse *= 1000;
26   pulse /= pulselength;
27   Serial.println(pulse);
28   pwm.setPWM(n, 0, pulse);
29 }
30 //设置9g舵机角度
31 void servo_9g_write(uint8_t n,int Angle)
32 {
33   double pulse = Angle;
34   pulse = pulse/90 + 0.5;
35   setServoPulse(n,pulse);//0到180度映射为0.5到2.5ms
36 }
37 void loop() 
38 {
39   unsigned char serialRead;
40   if (Serial.available() > 0)
41   {
42     serialRead = Serial.read();
43     servo_9g_write(0,serialRead);//控制第一路度数
44   }
45 }

 

以上是关于想用arduino 做一个摇杆控制云台(两个舵机)的装置,谢谢各位!的主要内容,如果未能解决你的问题,请参考以下文章

SD卡声音播放代码和舵机代码烧进arduino板卡里不能正常运行?

哪位大神能帮我写一个arduino 控制两个直流电机正反转,加减速和拐弯的程序啊?arduino程序,非常感谢。

如何使用arduino控制一个5V电机

arduino+nrf24l01摇杆控制小车程序

Arduino控制舵机

大疆m3508电机怎么控制