|
看到gokit平台,自己也想整个,所以自己就用自己买的msp430g2231开发做了个简单的传感器平台,虽然很难看,但可以作为一个测试平台。 这是效果图,一个震动传感器,一个3轴加速度传感器adxl335,一个雨滴传感器,一个74hc138LED显示模块。
一个震动传感器,一个3轴加速度传感器,当然可以用更高端的,但我想只是原理验证,所以没有用更高端的。一个74hc164显示8个LED灯显示震动次数*2,一个雨滴传感器收集雨量,当然没有必要,我只是让其好看写。
不知道各位大伽们有什么想法,我想用加速度传感器测速,但上网发现用加速度传感器测速不是很准确,而手环类产品也达不到特别高的精度,算法很复杂,对于门外汉来说,做起来还是很困难呀,急,急,急呀!!!
部分程序:
- #include"config.h"
- uint result[4];
- void init_ADC10()
- {
- P1SEL|=BIT3+BIT4+BIT5+BIT7;
- ADC10AE0|=BIT3+BIT4+BIT5+BIT7; // 使P1.0允许AD模拟输入信号
- ADC10CTL0=ADC10ON+MSC+SREF_0;//+REFON 开AD内核,选择电源为参考电压
- ADC10CTL1=ADC10SSEL_0+CONSEQ_0; //+INCH_1+INCH_2 选择ADC12SC为触发源,选择系统时钟为AD内核时钟,采用单通道多次采用
- }
- void start_ADC10()
- {
- ADC10CTL1|=INCH_3;
- ADC10CTL0|=ADC10SC+ENC;
- while(ADC10CTL1&ADC10BUSY!=0);
- result[0]= ADC10MEM;
- //printf("%d",result[1]);
- ADC10CTL0&=~(ADC10SC+ENC);
- ADC10CTL1&=~INCH_3;
- ADC10CTL1|=INCH_4;
- ADC10CTL0|=ADC10SC+ENC;
- while(ADC10CTL1&ADC10BUSY!=0);
- result[1]= ADC10MEM;
- ADC10CTL0&=~(ADC10SC+ENC);
- ADC10CTL1&=~INCH_4;
- ADC10CTL1|=INCH_5;
- ADC10CTL0|=ADC10SC+ENC;
- while(ADC10CTL1&ADC10BUSY!=0);
- result[2]= ADC10MEM;
- ADC10CTL0&=~(ADC10SC+ENC);
- ADC10CTL1&=~INCH_5;
- ADC10CTL1|=INCH_7;
- ADC10CTL0|=ADC10SC+ENC;
- while(ADC10CTL1&ADC10BUSY!=0);
- result[3]= ADC10MEM;
- ADC10CTL0&=~(ADC10SC+ENC);
- ADC10CTL1&=~INCH_7;
- }
复制代码
|
|