极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11387|回复: 4

请教如何控制两个舵机

[复制链接]
发表于 2015-4-14 17:22:48 | 显示全部楼层 |阅读模式
我想设计一个用51单片机控制arduino,由arduino控制两个舵机,方法是由51给arduino的io口发送高低电平,arduino检测后,控制两个舵机的左右、上下转动,可是发现舵机晃动的特别厉害,我用的是arduino uno和两个辉盛MG905,9克金属舵机。不知道是什么原因,请大神解答一下吧。
#include <Servo.h>

#define leftmax 155
#define rightmax 35
#define upmax 90
#define downmax 180

int leftpin=1;
int rightpin=2;
int uppin=4;
int downpin=8;

int left=0;
int right=0;
int up=0;
int down=0;

Servo myservo1;
Servo myservo2;
//Servo myservo3;
//Servo myservo4;
//Servo myservo5;

int pos_left = 95;
int pos_right = 95;
int pos_up = 120;
int pos_down = 120;

void setup()
{
  pinMode(1,INPUT);
  pinMode(2,INPUT);
  pinMode(4,INPUT);
  pinMode(8,INPUT);
  myservo1.attach(3);
  myservo2.attach(5);
// myservo3.attach(6);
// myservo4.attach(9);
// myservo5.attach(10);
  //Serial.begin(9600);

}

void loop()
{
  left=digitalRead(leftpin);
  right=digitalRead(rightpin);
  up=digitalRead(uppin);
  down=digitalRead(downpin);
/* if(left==HIGH)
{
   if(pos_left>leftmax)  pos_left=leftmax;
   myservo1.write(pos_left);               
   delay(15);
   pos_left++;
  }

  if(right==HIGH)
{
   if(pos_right<rightmax)  pos_right=rightmax;
   myservo1.write(pos_right);            
   delay(15);
   pos_right++;
  }
*/
  if(up==HIGH)
{
   if(pos_up<upmax)  pos_up=upmax;
   myservo2.write(pos_up);            
   delay(15);
   pos_up++;
  }

  if(down==HIGH)
{
   if(pos_down>downmax)  pos_down=downmax;
   myservo2.write(pos_down);               
   delay(15);
   pos_down++;
  }
}
回复

使用道具 举报

发表于 2015-4-14 17:31:41 | 显示全部楼层
电力不足
舵机要使用外接电源 !
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-14 19:16:11 | 显示全部楼层
好的,我试试吧。还想知道一点,就是有没有必要买淘宝上的16路舵机控制板呢?我的作品有一个摄像头云台,需要2个舵机,还有一个3舵机的机械臂,用一个arduino uno是不是没法很好的实现功能呢?
回复 支持 反对

使用道具 举报

发表于 2015-4-14 21:14:42 | 显示全部楼层
mega2560有16个PWM,价格也不贵。
回复 支持 反对

使用道具 举报

发表于 2015-4-15 09:58:02 | 显示全部楼层
狙击手ggg 发表于 2015-4-14 19:16
好的,我试试吧。还想知道一点,就是有没有必要买淘宝上的16路舵机控制板呢?我的作品有一个摄像头云台,需 ...

建议加个舵机扩展板
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-19 02:27 , Processed in 0.034416 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表