关于 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店家热心的售后服务,问题解答如下:
- 360度的舵机,信号为 频率50HZ,高电平1.5ms为停止,大于1.5ms正转,小于1.5反转所以要停下了,必须是标准的1.5ms
- Arduino生产的信号不是很标准,所以会出现慢慢转我们都是用舵机控制器控制的
--- 分 - 割 - 线 --- 分 - 割 - 线 --- 分 - 割 - 线 ---
闪个灯,新买的板可以用它测个试。串口通信,接收一位数字(也就是说1-9,单位秒),以改变led闪烁时亮着的时间
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); }