arduino之arduino Uno与测速模块的连接
2014-09-02 12:59
543 查看
void setup () { Serial.begin(9600); attachInterrupt(0,RCount, FALLING); attachInterrupt(1,LCount, FALLING); } void loop() { r_wheel = 0; l_wheel = 0; delay(1000); Serial.println(r_wheel); delay(50); Serial.println(l_wheel); } void LCount() { l_wheel++; } void RCount() { r_wheel++; }
以上的代码实现的是1s之类计算码盘经过的孔的数量,利用这个和轮子的半径,码盘上的孔的数量,就可以计算每秒经过的路程,就可以得到速度。
实现这个有几个要注意的地方:
调用中断函数的说明:
attachInterrupt(0,RCount, FALLING);
里面的0代表的是中断源0,arduino里面有两个中断源,连的是digital的2和3。RCount是中断执行函数,每次中断发生就执行RCount函数,中断的捕捉就是板上digital的2或者3的条件是FALLING的时候。一般使用的是FALLING,不用CHANGE,FALLING更准确,是下降沿捕捉。本来要在setup里面再使用定时器的,用于一秒时间内计算count,中断函数执行的就是初始化RCount和LCount为0。但在loop的做法其实效果一样。
顺便补上别人的做法,觉得也不错!
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=595
参考文档:
http://www.geek-workshop.com/thread-1983-1-1.html 中断源介绍
http://www.arduino.cn/thread-2890-1-1.html 中断源
http://book.2cto.com/201209/4368.html http://www.geek-workshop.com/forum.php?mod=viewthread&tid=595 中断
http://blog.csdn.net/chn89/article/details/17199171 看门狗
http://www.geek-workshop.com/thread-2103-1-1.html 光电码测速
http://www.cnblogs.com/xiaowuyi/p/3448394.html 时钟,定时器
http://www.geek-workshop.com/thread-3041-1-1.html 定时器中断,m2times的库
相关文章推荐
- hc-05蓝牙模块与arduino连接实现手机控制蓝牙智能小车
- [置顶] Androidble4.0蓝牙开发兼容2.0蓝牙应用(针对arduino蓝牙控制小车开发应用HC-08,06蓝牙模块的连接)
- 用Android手机通过蓝牙模块HC-06连接Arduino串口输出
- Arduino Uno 连接 接近开关
- Arduino Uno 激光发射与接收模块传感器 应用
- 【arduino】通过Esp8266-01模块实现的WiFi通信(2)与电脑的连接和烧写
- 【arduino】蓝牙模块学习(2)两蓝牙模块连接
- Apache HTTP Server通过mod_cluster模块与Tomcat连接
- HC-05蓝牙模块连接STC89C52单片机控制LED灯
- 应大家的要求,奉上源码:IOS助手连接模块
- Arduino连接超声波传感器测距
- Arduino简单实例之九_温湿度传感器模块
- Arduino Uno SD卡模块 (三)创建文件并写入
- python_fullstack数据库(七)-Python连接MySQL数据库之pymysql模块使用
- Arduino可穿戴教程之第一个程序——连接硬件选择板子(二)
- Arduino Uno资料简介
- Arduino UNO R3控制风扇小实验
- CDMA 无线数据模块网络连接程序的设计与实现
- unity连接photon服务端模块
- arduino读取I2C总线上连接设备的地址