找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3524|回复: 0
打印 上一主题 下一主题
收起左侧

msp430g2231传感器平台

[复制链接]
跳转到指定楼层
楼主
       看到gokit平台,自己也想整个,所以自己就用自己买的msp430g2231开发做了个简单的传感器平台,虽然很难看,但可以作为一个测试平台。  这是效果图,一个震动传感器,一个3轴加速度传感器adxl335,一个雨滴传感器,一个74hc138LED显示模块。
        

         一个震动传感器,一个3轴加速度传感器,当然可以用更高端的,但我想只是原理验证,所以没有用更高端的。一个74hc164显示8个LED灯显示震动次数*2,一个雨滴传感器收集雨量,当然没有必要,我只是让其好看写。
        不知道各位大伽们有什么想法,我想用加速度传感器测速,但上网发现用加速度传感器测速不是很准确,而手环类产品也达不到特别高的精度,算法很复杂,对于门外汉来说,做起来还是很困难呀,急,急,急呀!!!

部分程序:
  1. #include"config.h"
  2. uint result[4];


  3. void init_ADC10()
  4. {
  5. P1SEL|=BIT3+BIT4+BIT5+BIT7;
  6. ADC10AE0|=BIT3+BIT4+BIT5+BIT7; // 使P1.0允许AD模拟输入信号
  7. ADC10CTL0=ADC10ON+MSC+SREF_0;//+REFON 开AD内核,选择电源为参考电压
  8. ADC10CTL1=ADC10SSEL_0+CONSEQ_0; //+INCH_1+INCH_2 选择ADC12SC为触发源,选择系统时钟为AD内核时钟,采用单通道多次采用

  9. }
  10. void start_ADC10()
  11. {
  12. ADC10CTL1|=INCH_3;
  13. ADC10CTL0|=ADC10SC+ENC;
  14. while(ADC10CTL1&ADC10BUSY!=0);
  15. result[0]= ADC10MEM;
  16. //printf("%d",result[1]);
  17. ADC10CTL0&=~(ADC10SC+ENC);
  18. ADC10CTL1&=~INCH_3;
  19. ADC10CTL1|=INCH_4;
  20. ADC10CTL0|=ADC10SC+ENC;
  21. while(ADC10CTL1&ADC10BUSY!=0);
  22. result[1]= ADC10MEM;
  23. ADC10CTL0&=~(ADC10SC+ENC);
  24. ADC10CTL1&=~INCH_4;
  25. ADC10CTL1|=INCH_5;
  26. ADC10CTL0|=ADC10SC+ENC;
  27. while(ADC10CTL1&ADC10BUSY!=0);
  28. result[2]= ADC10MEM;
  29. ADC10CTL0&=~(ADC10SC+ENC);
  30. ADC10CTL1&=~INCH_5;
  31. ADC10CTL1|=INCH_7;
  32. ADC10CTL0|=ADC10SC+ENC;
  33. while(ADC10CTL1&ADC10BUSY!=0);
  34. result[3]= ADC10MEM;
  35. ADC10CTL0&=~(ADC10SC+ENC);
  36. ADC10CTL1&=~INCH_7;
  37. }
复制代码



传感器参数采样.zip

28.77 KB, 下载次数: 1460, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表