資料介紹
描述
一、簡介
該項目使用 8x8 LED 矩陣來顯示加速度計傾斜的方向。8x8 LED 矩陣使用 SN74HC595N 移位寄存器進行操作(無需任何驅(qū)動器/庫的幫助)。
2. 示范
3.電路
- 3.1 組件
一世。8x8 LED矩陣
本項目使用 8 x 8 LED 矩陣顯示器來顯示信息。LED 矩陣有不同的樣式,如單色、雙色、多色或 RGB LED 矩陣。
ii. 加速度計傳感器
加速度計傳感器是測量加速度的IC,加速度是每單位時間的速度(速度)變化。測量加速度可以獲取物體傾斜和振動等信息。
iii. 74HC595移位寄存器
移位寄存器允許您通過使用所謂的位移來擴展您可以從 Arduino(或任何微控制器)使用的引腳數(shù)量。
- 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——這將被稱為“數(shù)據(jù)引腳”。
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() 函數(shù)中,我們將要打開的 LED 行寫入 HIGH。然后我們將 Latch 引腳寫入 LOW,因為它表示數(shù)據(jù)即將發(fā)送。shiftOut() 函數(shù)將位數(shù)組(我們想要打開列的順序)傳遞給移位寄存器。然后我們將 Latch 引腳寫入 HIGH 以將此二進制數(shù)據(jù)發(fā)送到移位寄存器。
>>MSBFIRST 表示發(fā)送到移位寄存器的第一位將是二進制數(shù)組的最左邊的位,并且按照數(shù)組向右移動的順序。
>>for 循環(huán)用于激活不同的行以顯示整個符號。
- 加速度計輸出轉(zhuǎn)換為傾斜角度的基本原理
- 使用低g三軸加速度計測量傾斜度
- 微加速度計的原理與應用
- 基礎加速度計傳感器 26次下載
- 選擇一個加速度計的技巧 10次下載
- MEMSIC攻克加速度計難題 8次下載
- 用加速度計進行傾斜傳感 4次下載
- 套件和評估板的幫助速度加速度計的應用 6次下載
- 降低加速度計的平均功耗 11次下載
- 電容式、隧道式加速度計檢測技術研究
- 三維MEMS加速度計的測試方法
- 三維MEMS加速度計的性能測試方法與分析
- 基于微加速度計的AIR MOUSE的研究
- 一種提取捷聯(lián)式慣性測量系統(tǒng)中加速度計動態(tài)誤差的方法
- 梳齒式微機械加速度計靜態(tài)模型的辨識
- e2studio開發(fā)三軸加速度計LIS2DW12(4)----測量傾斜度 282次閱讀
- 狀態(tài)監(jiān)測中數(shù)字MEMS加速度計的混疊效應 1094次閱讀
- MEMS加速度計中的振動校正 2362次閱讀
- 為您的應用選擇最合適的MEMS加速度計 1980次閱讀
- 如何使用加速度計提高傾角測量的準確性 2942次閱讀
- MEMS加速度計性能成熟 1181次閱讀
- ADXL345三軸數(shù)字加速度計的驅(qū)動設計與實現(xiàn) 7546次閱讀
- 如何使設計人員選擇最合適的加速度計 1269次閱讀
- 如何擴展MEMS加速度計的帶寬 3825次閱讀
- 加速度計的安裝方法分享 5001次閱讀
- 基于使用Arduino、加速度計和LED制作時間手套 2802次閱讀
- digilentPmodACL三軸加速度計介紹 2097次閱讀
- 關于一種帶數(shù)模混合輸出的加速度計系統(tǒng)的設計和驗證 4393次閱讀
- MEMS加速度計是什么 加速度計工作原理 2.6w次閱讀
- 新型MEMS加速度計與商用壓電(PZT)狀態(tài)監(jiān)控加速度計的比較 7791次閱讀
下載排行
本周
- 1ADE-12H混頻器規(guī)格書
- 0.28 MB | 1次下載 | 5 積分
- 2AD9984A高性能10位顯示接口英文手冊
- 0.49 MB | 1次下載 | 5 積分
- 351開發(fā)板芯片資料
- 14.95 MB | 1次下載 | 1 積分
- 4用TL431LI-Q1監(jiān)控電流供應
- 176.71KB | 1次下載 | 免費
- 5十進制數(shù)據(jù)轉(zhuǎn)十六進制字符_轉(zhuǎn)ASCII碼
- 0.01 MB | 次下載 | 免費
- 6使用TRF7970A進行NFC主動和被動點對點通信
- 926.87KB | 次下載 | 免費
- 7LP8864-Q1 LP8864S-Q1 LP8866-Q1和LP8866S-Q1診斷說明和故障處理程序
- 577.42KB | 次下載 | 免費
- 8將設計移植到LP3470A低lq電壓監(jiān)控器,以改善電源監(jiān)控
- 115.28KB | 次下載 | 免費
本月
- 1HFSS電磁仿真設計應用詳解PDF電子教程免費下載
- 24.30 MB | 129次下載 | 1 積分
- 2正激、反激、推挽、全橋、半橋區(qū)別和特點
- 0.91 MB | 36次下載 | 1 積分
- 3GBT 4706.1-2024家用和類似用途電器的安全第1部分:通用要求
- 7.43 MB | 20次下載 | 免費
- 4在設計中使用MOSFET瞬態(tài)熱阻抗曲線
- 1.57MB | 15次下載 | 免費
- 5幾張電動車充電器電路圖
- 0.23 MB | 9次下載 | 1 積分
- 6AD18學習筆記
- 14.47 MB | 8次下載 | 2 積分
- 7H橋中的電流感測
- 545.39KB | 7次下載 | 免費
- 8電機驅(qū)動器電路板布局的最佳實踐
- 3.03MB | 6次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935113次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設計
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191360次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183329次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81578次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73804次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65985次下載 | 10 積分
評論
查看更多