找回密码
 立即注册

QQ登录

基于Arduino、ADXL335与APC220的无线遥控器

来源: 应用教程 奥松-acer 2014-3-11 15:10 显示全部楼层 |阅读模式
本帖最后由 奥松-acer 于 2014-3-11 15:11 编辑

Arduino

       Arduino是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的Arduino控制器)和软件(Arduino IDE)。Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。对Arduino的编程是利用 Arduino编程语言(基于Wiring)和Arduino开发环境(based on Processing)来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,它们之间进行通信来实现。

ADXL335三轴加速度传感器
       ADXL335三轴加速度传感器是一款小尺寸、薄型、低功耗的三轴加速度计,提供经过信号调制的电压输出,能以最大小±3g的满量程范围测量加速度。ADXL335可以测量倾斜检测应用中的静态重力加速度,以及运动、冲击或振动导致的动态加速度。用户可以使用ADXL335上的X、Y和Z引脚上的电容XOUT、YOUT和ZOUT根据具体的应用选择合适的带宽,X轴和Y轴的带宽范围为0.5Hz至1600Hz,Z轴的带宽范围为0.5Hz至550Hz。ADXL335模块可以直接与微处理器或其他逻辑电路相连接,适合各种开发板、控制器等产品。

APC220无线数传模块
       APC220无线数传模块是一款半双工微功率无线数据传输模块,提供多个频道的选择,具有丰富便捷的软件编程设置功能,可设置7种速率和3种几口校验方式,对外为UART/TTL接口,在开阔地带的传输距离可达1000米。模块的设置通过本身的UART/TTL接口完成,所以通过计算机使用时需要连接USB to UART/TTL接口转接板。模块也可以直接与Arduino等控制器相连,实现数据传输,进行远程遥控。
     除了以上的主要器件以外,我们还需要Arduino传感器扩展板。
      不啰嗦了,下面就来介绍一下制作过程,将传感器扩展板安插到Arduino控制器上,下载如下的程序:
  1. const int X_pin = 0;
  2. const int Y_pin = 1;
  3. const int Z_pin = 2;
  4. void setup()
  5. {
  6. Serial.begin (9600);
  7. }
  8. int count(int val)
  9. {
  10. float temp = val * 5 / 1024;
  11. float number = ( temp - 1.65 ) * 1000 / 330;
  12. return number;
  13. }
  14. void loop()
  15. {
  16. float x = count(analogRead(X_pin));
  17. float y = count(analogRead(Y_pin));
  18. float z = count(analogRead(Z_pin));
  19. if((x>-0.5) && (x<0.5)) && (y>-0.5) && (y<0.5) && (z>0.5) && (z<1.5))
  20. {
  21. Serial.print("S");
  22. }
  23. else if((x>-0.5) && (x<0.5) && (y>-1.5) && (y<-0.5) && (z>-0.5) && (z<0.5))
  24. {
  25. Serial.print("W");
  26. }
  27. else if((x>-0.5) && (x<0.5) && (y>0.5) && (y<1.5) && (z>-0.5) && (z<0.5))
  28. {
  29. Serial.print("X");
  30. }
  31. else if((x>0.5) && (x<1.5) && (y>-0.5) && (y<0.5) && (z>-0.5) && (z<0.5))
  32. {
  33. Serial.print("A");
  34. }
  35. else if((x>-1.5) && (x<-0.5) && (y>-0.5) && (y<0.5) && (z>-0.5) && (z<0.5))
  36. {
  37. Serial.print("D");
  38. }
  39. }
复制代码
      再将ADXL335三轴加速度计和APC220无线输出模块连接到扩展板相应的接口上,这样一个基于Arduino的无线遥控器就做好了,下面还需要做一个验证模块,由于小编手中没有小车,所以只能先用LED看看效果了,我们需要将另一个APC220连接到另一个带有Arduino传感器扩展板的Arduino控制器上,然后选择五个数字口连接LED用来观察效果,程序很简单,在这里小编就不写了,读者们可以自己创作。
       好了,一款基于Arduino控制器、ADXL335三轴加速度计和APC220无线数传模块的无线遥控器就做好了,动心了么?如果是,那就赶快行动吧!

资料链接:
Arduino UNOhttp://www.alsrobot.cn/goods-141.html
ADXL335三轴加速度计http://www.alsrobot.cn/goods-69.html
APC220无线输出模块http://www.alsrobot.cn/goods-55.html
Arduino传感器扩展板http://www.alsrobot.cn/goods-55.html
Arduino技术博客http://blog.sina.com.cn/arduino
回复

使用道具 举报

您可能感兴趣的文章

您需要登录后才可以回帖 登录 | 立即注册

关注0

粉丝5

帖子85

发布主题
社区热门 MORE+
    社区热帖 MORE+