資料介紹
描述
一、簡介
該項目使用 8x8 LED 矩陣來顯示加速度計傾斜的方向。8x8 LED 矩陣使用 SN74HC595N 移位寄存器進行操作(無需任何驅動器/庫的幫助)。
2. 示范
3.電路
- 3.1 組件
一世。8x8 LED矩陣
本項目使用 8 x 8 LED 矩陣顯示器來顯示信息。LED 矩陣有不同的樣式,如單色、雙色、多色或 RGB LED 矩陣。
ii. 加速度計傳感器
加速度計傳感器是測量加速度的IC,加速度是每單位時間的速度(速度)變化。測量加速度可以獲取物體傾斜和振動等信息。
iii. 74HC595移位寄存器
移位寄存器允許您通過使用所謂的位移來擴展您可以從 Arduino(或任何微控制器)使用的引腳數量。
- 3.2 連接
一世。適用于 8x8 LED 矩陣
>>將引腳 R1 到 R8 連接到 Arduino 上的引腳 2 到 9。
>> 將引腳 C1 到 C8 連接到移位寄存器上的引腳 Qa 到 Qh。
ii. 對于移位寄存器
>>首先,將引腳 16 (VCC) 和 10 (SRCLR) 連接到 Arduino 上的 5V 引腳,并將引腳 8 (GND) 和 13 (OE) 連接到 Arduino 上的 Gnd 引腳。引腳 13 (OE) 用于啟用輸出,因為這是一個低電平有效引腳,我們可以直接將其連接到地。
>>接下來我們需要連接我們將控制移位寄存器的三個引腳:
**移位寄存器的引腳 11 (SRCLK) 到 Arduino 上的引腳 11——這將被稱為“時鐘引腳”。
**移位寄存器的引腳 11 (SRCLK) 到 Arduino 上的引腳 11——這將被稱為“時鐘引腳”。
**移位寄存器的引腳 13 (SER) 到 Arduino 上的引腳 13——這將被稱為“數據引腳”。
iii. 用于加速度計
>> 將 VCC 引腳連接到 5V,將 Gnd 引腳連接到 Gnd。
>>將x_out pin連接到Arduino上的A0,y_out pin連接到Arduino上的A1,z_out pin連接到Arduino上的A2。
4. 代碼
int i,j,t=100,dpin=13,lpin=12,cpin=11;
int r[8]={2,3,4,5,6,7,8,9}; //array of row pin nos.
byte up[8]={B11100111, //binary array inputs for the shift register
B11000011,
B10000001,
B00000000,
B11100111,
B11100111,
B11100111,
B11100111
};
byte down[8]={B11100111,
B11100111,
B11100111,
B11100111,
B00000000,
B10000001,
B11000011,
B11100111
};
byte left[8]={B11101111,
B11001111,
B10001111,
B00000000,
B00000000,
B10001111,
B11001111,
B11101111
};
byte right[8]={B11110111,
B11110011,
B11110001,
B00000000,
B00000000,
B11110001,
B11110011,
B11110111
};
byte ur[8]={B11110000,
B11111100,
B11111010,
B11110110,
B11101111,
B11011111,
B10111111,
B01111111
};
byte ul[8]={B00001111,
B00111111,
B01011111,
B01101111,
B11110111,
B11111011,
B11111101,
B11111110
};
byte dr[8]={B01111111,
B10111111,
B11011111,
B11101111,
B11110110,
B11111010,
B11111100,
B11110000
};
byte dl[8]={B11111110,
B11111101,
B11111011,
B11110111,
B01101111,
B01011111,
B00111111,
B00001111
};
byte o[8]={B11111111,
B11111111,
B11111111,
B11100111,
B11100111,
B11111111,
B11111111,
B11111111
};
byte no[8]={B01111110,
B10111101,
B11011011,
B11100111,
B11100111,
B11011011,
B10111101,
B01111110
};
void setup()
{
pinMode(dpin,OUTPUT);
pinMode(lpin,OUTPUT);
pinMode(cpin,OUTPUT);
pinMode(a,INPUT);
pinMode(b,INPUT);
pinMode(c,INPUT);
for( i=0;i<8;i++)
{
pinMode(r[i],OUTPUT);
digitalWrite(r[i],LOW);
}
}
void disp(byte ch[8])
{
for(i=0;i<8;i++)
{
digitalWrite(r[(7-i)],HIGH);
digitalWrite(lpin,LOW);
shiftOut(dpin,cpin,MSBFIRST,ch[i]); //MSBFIRST- Most Significant Bit First
digitalWrite(lpin,HIGH);
digitalWrite(lpin,LOW);
shiftOut(dpin,cpin,MSBFIRST,B11111111); //to prevent fluttering
digitalWrite(lpin,HIGH);
digitalWrite(r[(7-i)],LOW);
}
}
void loop()
{
int x,y,z;
x=438-analogRead(A0); //correction in the raw values of the sensor to calibrate it
y=434-analogRead(A1);
z=514-analogRead(A2);
if(z<90)
{
if(x<-10 && (y>-10 && y<10))
for(j=0;j
disp(up);
else if(x>10 && (y>-10 && y<10))
for(j=0;j
disp(down);
else if(y<-10 && (x>-10 && x<10))
for(j=0;j
disp(left);
else if(y>10 && (x>-10 && x<10))
for(j=0;j
disp(right);
else if(x<-10 && y<-10)
for(j=0;j
disp(ul);
else if(x>10 && y<-10)
for(j=0;j
disp(dl);
else if(x<-10 && y>10)
for(j=0;j
disp(ur);
else if(x>10 && y>10)
for(j=0;j
disp(dr);
else if((x<10 && x>-10)&& (y>-10 && y<10))
for(j=0;j
disp(o);
}
else
disp(no);
}
代碼是不言自明的,因為我添加了注釋。
- 工作原則
>>在 disp() 函數中,我們將要打開的 LED 行寫入 HIGH。然后我們將 Latch 引腳寫入 LOW,因為它表示數據即將發送。shiftOut() 函數將位數組(我們想要打開列的順序)傳遞給移位寄存器。然后我們將 Latch 引腳寫入 HIGH 以將此二進制數據發送到移位寄存器。
>>MSBFIRST 表示發送到移位寄存器的第一位將是二進制數組的最左邊的位,并且按照數組向右移動的順序。
>>for 循環用于激活不同的行以顯示整個符號。
- 加速度計輸出轉換為傾斜角度的基本原理
- 使用低g三軸加速度計測量傾斜度
- 微加速度計的原理與應用
- 基礎加速度計傳感器 26次下載
- 選擇一個加速度計的技巧 10次下載
- MEMSIC攻克加速度計難題 8次下載
- 用加速度計進行傾斜傳感 4次下載
- 套件和評估板的幫助速度加速度計的應用 6次下載
- 降低加速度計的平均功耗 11次下載
- 電容式、隧道式加速度計檢測技術研究
- 三維MEMS加速度計的測試方法
- 三維MEMS加速度計的性能測試方法與分析
- 基于微加速度計的AIR MOUSE的研究
- 一種提取捷聯式慣性測量系統中加速度計動態誤差的方法
- 梳齒式微機械加速度計靜態模型的辨識
- e2studio開發三軸加速度計LIS2DW12(4)----測量傾斜度 282次閱讀
- 狀態監測中數字MEMS加速度計的混疊效應 1094次閱讀
- MEMS加速度計中的振動校正 2362次閱讀
- 為您的應用選擇最合適的MEMS加速度計 1980次閱讀
- 如何使用加速度計提高傾角測量的準確性 2942次閱讀
- MEMS加速度計性能成熟 1181次閱讀
- ADXL345三軸數字加速度計的驅動設計與實現 7546次閱讀
- 如何使設計人員選擇最合適的加速度計 1269次閱讀
- 如何擴展MEMS加速度計的帶寬 3825次閱讀
- 加速度計的安裝方法分享 5001次閱讀
- 基于使用Arduino、加速度計和LED制作時間手套 2802次閱讀
- digilentPmodACL三軸加速度計介紹 2097次閱讀
- 關于一種帶數模混合輸出的加速度計系統的設計和驗證 4393次閱讀
- MEMS加速度計是什么 加速度計工作原理 2.6w次閱讀
- 新型MEMS加速度計與商用壓電(PZT)狀態監控加速度計的比較 7791次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多