实验机器人“小强一号”制作过程
作者:mindroid   文章来源: http://www.mindroid.com    更新时间:2008年05月22日   打印此文    浏览数:

实验

接下来先搞清楚怎么用单片机。

Hello world

先让单片机跑起来再说。习惯了操作系统下编程,第一次用单片机还真有些不习惯,担心遇到问题,不过比较顺利。这个程序用来点亮

单片机上的一个LED。

uploaded image

代码:

int ledPin = 13; // LED connected to digital pin 13


void setup()

{

pinMode(ledPin, OUTPUT); // sets the digital pin as output

}


void loop()

{

digitalWrite(ledPin, HIGH); // sets the LED on

delay(1000); // waits for a second

digitalWrite(ledPin, LOW); // sets the LED off

delay(1000); // waits for a second

}

以间隔1000ms的时间把单片机的第13 个Pin脚循环输出高低电平,从而达到点亮和熄灭LED功能。很简单,就是验证下单片机是否可用。

控制舵机

uploaded image

舵机就是遥控模型上用来控制的,其实就是一个带闭环控制的电机,能转动到指定的角度。

>uploaded image

工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获 得的直流偏置电压与电位器的电压比较,获得电压差输出。

uploaded image

最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动 电位器旋转,使得电压差为0,电机停止转动。在程序中控制舵机的转动角度,就是生成不同脉宽的PWM就行了。

uploaded image

上面的代码简单的生成一个PWM 驱动舵机旋转,比较简单。 代码中用delay来实现延时,如果是同时控制多个舵机,用这样的代码是不行的,需要自己计算时间。因为用delay整个单片机都“休息”了,无法执行任何代码。在实际实现中,还需要不断的读取传感器输入和进行其他处理。


首页 上一页 1 2 3 4 5 6 7 下一页 尾页 跳转到

转载声明:凡文章出处为www.RoboticFan.com的,系本站的原创文章。其它媒体在注明出处为RoboticFan.com并给出原始链接后可以自由转载,否则将视为侵权!

上一篇:ASIMO上班咯! 下一篇:我们正需要它:灾难救急机器人

最近更新
  • 世嘉玩具与孩之宝将上市音乐机器人
  • Vstone携手KumoTek推出KT-X类人机器人系列
  • iRobot军用机器人最新杰作:“金属风暴”
  • 机器人工具包开始预定
  • 迪士尼与WowWee联手打造Wall-E系列产品
  • Arduino-目前为止最容易开发的控制板
  • 微软发布Robotics Developer Studio 2008 CTP
  • roBlocks——“块状”机器人
  • 后AIBO时代的机器狗——G-dog
  • 机器恐龙Pleo升级战

  • 相关文章

    推荐新闻

    赞助商广告