arduino 控制舵机
关于 Arduino?
?
http://item.taobao.com/item.htm?id=6804680647
http://item.taobao.com/item.htm?id=4328931317
?
DFRobot 的板越来越糙了(跟它自己以前比,比别家散货还是好很多的),倒是不影响使用,而且各种扩展板齐全。如果很注重外观可以考虑iteadStudio的板?http://itead.taobao.com/,包装、做工好的一塌糊涂,还便宜。
?
电子商店:sparkfun,?dfrobot, elecfreaks, iteadstudio
一个不错的视屏教程:http://v.youku.com/v_show/id_XMjYyMzY1MDU2.html
?
?
Knob舵机控制库
?
#include <Servo.h> Servo servo1;Servo servo2;void setup() { Serial.begin(115200); Serial.println(":-]"); servo1.attach(9); servo2.attach(8);} void loop() { if (Serial.available()) { char val = Serial.read(); if (val == '.') { Serial.println(' '); Serial.println("bye"); Serial.end(); } if (val == '>') { servo1.write(179); servo2.write(0); } if (val == '<') { servo1.write(0); servo2.write(179); } } delay(100);} ?
用arduinoIDE自带的串口工具或者putty连接,输入<或者>,控制舵机正转、反转。
?
?
即使没有信号输出,舵机也在缓缓地转,是什么问题 囧。
?
感谢dfrobot店家热心的售后服务,问题解答如下:
?
int pin = 13;int stay = 3000;void setup() { pinMode(pin, OUTPUT); Serial.begin(9600); Serial.println(":-] hi"); delay(300);}void loop() { if (Serial.available()) { char in = Serial.read(); Serial.print(in); if (in > 48 && in <= 57) { Serial.print(" is in range (0, 9]"); stay = (in - 48) * 1000; for (int i = 0; i < 3; i++) { digitalWrite(pin, HIGH); delay(100); digitalWrite(pin, LOW); delay(100); } } Serial.println("."); } Serial.print("stay bright in "); Serial.print(stay); Serial.println(" ms"); digitalWrite(pin, HIGH); delay(stay); digitalWrite(pin, LOW); delay(1000);}?
?