本帖最后由 wing 于 2016-9-10 22:09 编辑
占位000003
有请这次的主角Arduino101闪亮登场
没错,就是intel inside 相信不是每个人都有 :-P
本程序是用中断实现编码器计算的,代码如下
- volatile unsigned int r;
- volatile unsigned long t;
- void setup()
- {
- Serial.begin(9600); // setup serial
- pinMode(12, INPUT_PULLUP);
- pinMode(13, OUTPUT);
- r=0;
- t=0;
- attachInterrupt(12, blink, CHANGE);
- }
- void loop()
- {
- unsigned int r_old;
- r_old=0;
- digitalWrite(13,LOW);
- delay(1000);
- Serial.println(1);
- Serial.println(2);
- Serial.println(3);
- delay(1000);
- digitalWrite(13,HIGH);
- t = micros();
- Serial.println(t);
-
- while(true)
- {
- if (r!=r_old)
- {
- r_old=r;
- Serial.println(r);
- }
- delay(1000);
- }
-
- }
- void blink() {
- unsigned long t0;
- t0 = micros();
- if (t0-t>100)
- {
- r=r+1;
- if (r>60000)
- {
- r=0;
- }
- t=t0;
- }
- }
复制代码
接线上之前的大同小异
这里顺便讨论一下实际测试所得的数据,卖家宣称这款电机在7千转以上,这个是按分钟算的。
实际测试中使用的是8节非充电的AA电池,电压表测出13v,然后履带是侧放,没有任何负载,这时编码器计算器每秒5千左右。
然后码盘是20格的,也就是说转一圈,计数器增加40(好吧,我承认我的数学是生理卫生老师教的,正确的数字可能是39,40,或者41,有清晰的朋友请告诉我到底应该是哪个)。
(5000/40)*60=7500
很好,卖家还是很诚实的。当然这转数电机轴承的转数,也就是未经减速的,另外卖家也说过减速比是90,不过这个就不知道要怎么测量了。
最后奉上视频
好了,本学习笔记就到这里了。
奇形怪状的板子也show了不少,算是装13吧,不过最后还是没见小车的影,究其原因...我是不会告诉你这和楼下那位有关的。
那么感谢各位的观看,如果有其他进展我将会另外发帖,当然更多回复的话我会更有动力 lol;lol;lol;lol;lol;lol;lol; |