|
看到gokit平臺,自己也想整個,所以自己就用自己買的msp430g2231開發做了個簡單的傳感器平臺,雖然很難看,但可以作為一個測試平臺。 這是效果圖,一個震動傳感器,一個3軸加速度傳感器adxl335,一個雨滴傳感器,一個74hc138LED顯示模塊。
20150913142306_19890.jpg (31.36 KB, 下載次數: 88)
下載附件
2016-3-30 17:44 上傳
20150913142317_20282.jpg (27.18 KB, 下載次數: 102)
下載附件
2016-3-30 17:44 上傳
一個震動傳感器,一個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;
- }
復制代碼
|
-
-
傳感器參數采樣.zip
2016-3-30 17:16 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
28.77 KB, 下載次數: 1460, 下載積分: 黑幣 -5
|