当前位置:首页 > “小强一号” - 实验机器人制作过程(图文)
一堆零件:
下一步就可以验证简单的功能了 实验
接下来先搞清楚怎么用单片机。 Hello world
先让单片机跑起来再说。习惯了操作系统下编程,第一次用单片机还真有些不习惯,担心遇到问题,不过比较顺利。这个程序用来点亮单片机上的一个 LED 。
代码:
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 功能。很简单,就是验证下单片机是否可用。
控制舵机
舵机就是遥控模型上用来控制的,其实就是一个带闭环控制的电机,能转动到指定的角度。
工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为 20ms ,宽度为 1.5ms 的基准信号,将获 得的直流偏置电压与电位器的电压比较,获得电压差输出。
最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动 电位器旋转,使得电压差为 0 ,电机停止转动。 在程序中控制舵机的转动角度,就是生成不同脉宽的 PWM 就行了。
上面的代码简单的生成一个 PWM 驱动舵机旋转,比较简单。 代码中用 delay 来实现延时,如果是同时控制多个舵机,用这样的代码是不行的,需要自己计算时间。因为用 delay 整个单片机都“休息”了,无法执行任何代码。在实际实现中,还需要不断的读取传感器输入和进行其他处理。 红外距离传感器
共分享92篇相关文档