舵机控制

来自Microduino Wikipedia
Radiumray9@gmail.com讨论 | 贡献2014年10月29日 (三) 07:24的版本 程序
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
Language English

目的

本教程将教大家如何用processing控制舵机旋转。

设备

  • 其他硬件设备
    • USB数据连接线 一根
    • 舵机 一个

原理图

ProcessingServoControlSchematics.jpg

程序

processingServoControl

调试

步骤一:按着原理图搭建硬件环境,像这样:

ProcessingServoControlConnectionDiagram.jpg


步骤二:解释一下代码:

本例需要两端的代码,Processing端和Microduino端

Microduino:

使用firmata的StandardFirmata程序,因为其实现了舵机控制方法

Processing:

//在setup中定义串口通讯和设置pinMode

 arduino = new Arduino(this, Arduino.list()[0], 57600); //your offset may vary
 arduino.pinMode(9, 5);

//读取底部滑动条的值,来设置舵机的角度

 void draw()
 {
   background(0);
   noFill();
   stroke(255);
   smooth();
   float angle=map(pos, 0, 600, 0, 360);
   arc(width/2, height/2, 300, 300, turn, radians(angle)+turn);
   //Specify font to be used
   textFont(f, 48); 
   //Display Text
   text ((int)angle, width/2-30, height/2+20);
   arduino.analogWrite(9, (int)constrain(angle, 0, 180));
 } 

//滑动条移动事件处理

 void slider(float posValue) {
   pos=(int)posValue;
   println("Servo pos:"+pos);
 }

步骤三:下载代码并编译通过。

步骤四:运行后,左右移动底部滑动条,查看舵机有什么变化。

结果

在processing中会显示圆环,随着底部滑动条的移动,舵机也相应的转动:

ProcessingServoControlResult1.jpg

视频