資料介紹
描述
再一次問(wèn)好,
我正在考慮如何用 Arduino Uno 控制 20 多個(gè) led,因?yàn)?Arduino Uno 只有 13 個(gè)數(shù)字引腳。那么怎么可能呢?這就是我?guī)б莆?a href='http://m.brongaenegriffin.com/tags/寄存器/' target='_blank' class='arckwlink_none'>寄存器 74hc595 的原因。我們只需要 3 個(gè) Arduino 數(shù)字引腳來(lái)使用 74hc595 移位寄存器控制 LED。移位寄存器教程有 3 個(gè)部分。
控制 8 個(gè) LED??刂?LED 亮度。控制 2 shiftRegister 與 LED 效果。我也會(huì)解釋編碼。
第 1 步:收集組件以構(gòu)建 Arduino 74hc595 Led Chaser。

1. Arduino Uno 到控制移位寄存器。
2. 兩個(gè)移位寄存器 74hc595 用于控制 LED。
3. 16 個(gè) LED 作為輸出。
4. 16個(gè)保護(hù)LED的電阻。
5. 用于在其上構(gòu)建電路的面包板。
6. 用于連接的跳線。
如果您想了解移位寄存器的工作原理?點(diǎn)擊這個(gè)鏈接
第 2 步:讓我們用 Arduino 和 74hc595 構(gòu)建控制 8 個(gè) LED 的電路

引腳連接:
讓我們構(gòu)建 LED 追逐者。
首先,拿起面包板并將面包板的兩側(cè)與用于為移位寄存器供電的跳線連接。
之后,一個(gè)接一個(gè)地連接 LED,并確保 LED GND 引腳連接到面包板的接地側(cè),并且不要忘記添加一個(gè) 220 歐姆電阻以保護(hù) LED 免受大電流的影響。
現(xiàn)在將移位寄存器連接到面包板上。
接下來(lái),將移位寄存器引腳 16 連接到 5v。
接下來(lái),將移位寄存器引腳 8 連接到 GND。
接下來(lái),將移位寄存器引腳 10 連接到 5v。
接下來(lái),將移位寄存器引腳 13 連接到 GND。
現(xiàn)在我們必須將 shiftRegister 連接到 Arduino,因此將 shiftRegister 引腳 11 連接到 Arduino 數(shù)字引腳 2。
將 shiftRegister 引腳 12 連接到 Arduino 數(shù)字引腳 3。
將 shiftRegister 引腳 14 連接到 Arduino 數(shù)字引腳 4。
之后,將 shiftRegister 的輸出引腳連接到 LED。
將 ShiftRegister 引腳 15 連接到 LED 1。
將 ShiftRegister 引腳 1 連接到 LED 2。
將所有 LED 一個(gè)一個(gè)連接到 ShiftRegister 引腳 7。
之后,將面包板的正極連接到 Arduino 5v 引腳。
接下來(lái),將面包板的負(fù)極連接到 Arduino GND 引腳。
現(xiàn)在電路完成了,讓我們跳到編碼部分。
打開(kāi) Arduino IDE。
將您的 Arduino 插入計(jì)算機(jī)并上傳代碼。
int clockPin = 2;
int latchPin = 3;
int dataPin = 4;
byte leds = 0;
void setup() {
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
}
void loop() {
leds = 0;
updateShiftRegisterR();
delay(100);
for (int i = 0; i < 8; i++){
bitSet(leds, i);
updateShiftRegisterR();
delay(100);
}
leds = 0;
updateShiftRegisterL();
delay(100);
for (int i = 0; i < 8; i++){
bitSet(leds, i);
updateShiftRegisterL();
delay(100);
}
}
void updateShiftRegisterL(){
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, leds);
digitalWrite(latchPin, HIGH);
}
void updateShiftRegisterR(){
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, leds);
digitalWrite(latchPin, HIGH);
}
第 4 步:編碼說(shuō)明。
首先,我們必須定義 shiftRegister 的控制器引腳。
時(shí)鐘引腳連接到 Arduino 引腳 2。
閂鎖連接到 Arduino 引腳 3。
數(shù)據(jù)引腳連接到 Arduino 引腳 4。
字節(jié) LED = 0; 它保持led的位置被打開(kāi)或關(guān)閉。
在 void setup() 現(xiàn)在將 shiftRegister 的所有引腳設(shè)置為 OUTPUT
在 void loop() LEDs = 0 中表示所有 LED 均已關(guān)閉。
updateShiftRegisterR(); 該函數(shù)用于更新我們?cè)谙旅娑x的 shiftRegister。
首先,我們必須將鎖存器引腳設(shè)置為低電平意味著沒(méi)有更新。
調(diào)用之后,Arduino 函數(shù) shiftOut()。
在時(shí)鐘引腳從高電平變?yōu)榈碗娖讲⑶?LED 位存儲(chǔ)在 shiftRegister 中后,將 LED 的一個(gè)字節(jié)一次一位地移出到串行數(shù)據(jù)引腳。
設(shè)置位的順序 LSB FIRST(最低有效位)意味著我們要從正確的方向開(kāi)始打開(kāi) ??LED。MSBFIRST(最高有效位)意味著我們要從左側(cè)開(kāi)始打開(kāi) ??LED。
現(xiàn)在我們有了一個(gè) LED 打開(kāi)的位置,因此將鎖存引腳設(shè)置為高電平意味著更新輸出。
等待半秒鐘。for 循環(huán)從 0 計(jì)數(shù)到 7。
位集();它的 Arduino 功能可以在我太高的位置設(shè)置一些特定的 LED。
現(xiàn)在更新 ShiftRegister 并等待半秒。
這個(gè)過(guò)程在重復(fù),一個(gè)一個(gè)的led被打開(kāi)。
現(xiàn)在上傳代碼。
LED 開(kāi)始從右向左打開(kāi)。
第 5 步:Arduino 74hc595 LED 亮度。
有一種方法可以控制 LED 的亮度。
我們可以通過(guò) Arduino PWM 引腳將 PWM 信號(hào)發(fā)送到移位寄存器 OE 引腳。
從移位寄存器引腳 13 上移除跳線并將 shiftRegister 引腳 13 連接到 Arduino PWM 引腳 5。
第 6 步:編碼。
int clockPin = 13;
int latchPin = 12;
int dataPin = 10;
int outputEnablePin = 11;
byte leds = 0;
void setup()
{
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(outputEnablePin, OUTPUT);
}
void loop()
{
leds = 0B1111111111111111;
updateShiftRegister();
delay(500);
for (byte b = 255; b > 0; b--){
analogWrite(outputEnablePin, b);
delay(10);
}
}
void updateShiftRegister()
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, leds);
digitalWrite(latchPin, HIGH);
}
第 7 步:編碼說(shuō)明:
代碼有點(diǎn)相同。
定義 OE 引腳連接到 Arduino 引腳 5。
在 void setup() 現(xiàn)在將 OE 引腳設(shè)置為 OUTPUT。
在 void loop() 中將所有 LED 設(shè)置為高電平或打開(kāi)。
更新 shiftRegister 并等待半秒。
在 for 循環(huán)計(jì)數(shù)從 255 到 0
模擬寫(xiě)入()函數(shù)用于將 PWM 信號(hào)發(fā)送到 OE 以控制 LED 亮度。
上傳代碼現(xiàn)在您會(huì)看到 LED 亮度正在增加。
第 8 步:控制 16 個(gè) LED 和 18 個(gè)效果。
所有連接都與更改之前相同,只是我們使用了兩個(gè)移位寄存器。
將電源連接連接到其他面包板。添加額外的 8 個(gè) LED 和 220 歐姆的電阻器。現(xiàn)在附加一個(gè) shiftRegister 并連接與第一個(gè)相同的電源連接。
接下來(lái),將 shiftRegister 引腳 14 連接到引腳 9。
將 shiftRegister 引腳 13 連接到 13。
將 shiftRegister 引腳 12 連接到 12。
將 shiftRegister 引腳 11 連接到 11。
之后,將 Arduino 連接到 shiftRegister。
Arduino 引腳 2 連接到 shiftRegister 引腳 11。
Arduino 引腳 3 連接到 shiftRegister 引腳 12。
Arduino 引腳 4 連接到 shiftRegister 引腳 14。
Arduino 引腳 5 連接到 shiftRegister 引腳 13。
現(xiàn)在,通過(guò) Arduino 將 5v 電壓傳送到面包板。
接下來(lái)將輸出引腳連接到 LED
將您的 arduino 連接到計(jì)算機(jī)并上傳代碼。
現(xiàn)在享受效果。
?
?
- 74HC595;74HCT595移位寄存器規(guī)格書(shū)
- 74HC595移位寄存器教程
- 74HC595的8位移位寄存器的基本知識(shí)
- 如何用74HC595移位寄存器控制16個(gè)LED
- arduino和ic 移位寄存器74hc595驅(qū)動(dòng)LED
- 7段屏蔽使用移位寄存器74HC595和ULN2003
- 06-移位寄存器74HC595芯片編程
- 如何使用74HC595移位寄存器(一)
- NXP-74HC595移位寄存器
- 擴(kuò)展 IO 口:移位寄存器 74HC595(含電路和程序)
- 74HC595和74HCT595移位寄存器的數(shù)據(jù)手冊(cè)免費(fèi)下載 20次下載
- 74HC595移位寄存器的中文資料和使用程序免費(fèi)下載 3次下載
- 74HC595移位寄存器芯片的中文資料免費(fèi)下載 21次下載
- 74HC595 CMOS移位寄存器的詳細(xì)中文數(shù)據(jù)手冊(cè)免費(fèi)下載 21次下載
- 74HC595 CMOS移位寄存器中文資料
- 移位寄存器的設(shè)計(jì)與實(shí)現(xiàn) 5.7k次閱讀
- 移位寄存器的種類(lèi)與作用 1.8w次閱讀
- 移位寄存器的原理 7.7w次閱讀
- 三分鐘完全掌握利用74HC595在串行口擴(kuò)充8位的并行輸出接口 9.2k次閱讀
- 移位寄存器74ls194應(yīng)用電路圖大全(雙向移位寄存器/74HC93/環(huán)形計(jì)數(shù)器) 9.4w次閱讀
- 單片機(jī)芯片74HC595的引腳圖詳解 5.5w次閱讀
- 74HC595走馬燈演示程序的實(shí)際編程案例 1w次閱讀
- max7219與74hc595區(qū)別 2.2w次閱讀
- 移位寄存器怎么用_如何使用移位寄存器_移位寄存器的用途 2.1w次閱讀
- 移位寄存器的特點(diǎn)_移位寄存器工作原理 5.1w次閱讀
- 移位寄存器具有什么特點(diǎn)及作用? 8.6w次閱讀
- 移位寄存器實(shí)驗(yàn)報(bào)告_移位寄存器原理 2.9w次閱讀
- 移位寄存器74ls194_74ls194邏輯功能表 7.6w次閱讀
- 74hc595的主要功能(74hc595引腳圖及功能_工作原理及電壓_典型應(yīng)用電路) 30.6w次閱讀
- 賽靈思FPGA的SRL16移位寄存器原理與使用 7.8k次閱讀
下載排行
本周
- 1矽力杰 Silergy SY7215A 同步升壓調(diào)節(jié)器 規(guī)格書(shū) Datasheet 佰祥電子
- 1.12 MB | 5次下載 | 免費(fèi)
- 2HT81696H 內(nèi)置升壓的30W立體聲D類(lèi)音頻功放數(shù)據(jù)手冊(cè)
- 1.21 MB | 1次下載 | 免費(fèi)
- 3HTA6863 3W超低噪聲超低功耗單聲道D類(lèi)音頻功率放大器數(shù)據(jù)手冊(cè)
- 0.87 MB | 次下載 | 免費(fèi)
- 4南芯 Southchip SC8802C 充電控制器 規(guī)格書(shū) Datasheet 佰祥電子
- 88.16 KB | 次下載 | 免費(fèi)
- 5矽力杰 Silergy SY7065 同步升壓轉(zhuǎn)換器 規(guī)格書(shū) Datasheet 佰祥電子
- 910.67 KB | 次下載 | 免費(fèi)
- 6矽力杰 Silergy SY7066 同步升壓轉(zhuǎn)換器 規(guī)格書(shū) Datasheet 佰祥電子
- 989.14 KB | 次下載 | 免費(fèi)
- 7WD6208A產(chǎn)品規(guī)格書(shū)
- 631.24 KB | 次下載 | 免費(fèi)
- 8NB685 26 V,12 A,低靜態(tài)電流,大電流 同步降壓變換器數(shù)據(jù)手冊(cè)
- 1.64 MB | 次下載 | 2 積分
本月
- 1EMC PCB設(shè)計(jì)總結(jié)
- 0.33 MB | 12次下載 | 免費(fèi)
- 2PD取電芯片 ECP5702規(guī)格書(shū)
- 0.88 MB | 5次下載 | 免費(fèi)
- 3矽力杰 Silergy SY7215A 同步升壓調(diào)節(jié)器 規(guī)格書(shū) Datasheet 佰祥電子
- 1.12 MB | 5次下載 | 免費(fèi)
- 4氮化鎵GaN FET/GaN HEMT 功率驅(qū)動(dòng)電路選型表
- 0.10 MB | 3次下載 | 免費(fèi)
- 5PD取電芯片,可取5/9/12/15/20V電壓ECP5702數(shù)據(jù)手冊(cè)
- 0.88 MB | 3次下載 | 免費(fèi)
- 6SY50655 用于高輸入電壓應(yīng)用的偽固定頻率SSR反激式穩(wěn)壓器英文資料
- 1.01 MB | 3次下載 | 免費(fèi)
- 7怎么為半導(dǎo)體測(cè)試儀選擇精密放大器
- 0.65 MB | 2次下載 | 免費(fèi)
- 8SY52341 次級(jí)側(cè)同步整流英文手冊(cè)
- 0.94 MB | 2次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233095次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191469次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183360次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81606次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73832次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問(wèn)
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論