亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Arduino 74hc595移位寄存器

Arduino 74hc595移位寄存器

2023-06-14 | zip | 0.00 MB | 次下載 | 2積分

資料介紹

描述

再一次問好,

我正在考慮如何用 Arduino Uno 控制 20 多個 led,因為 Arduino Uno 只有 13 個數(shù)字引腳。那么怎么可能呢?這就是我?guī)б莆?a href='http://qiaming.cn/tags/寄存器/' target='_blank' class='arckwlink_none'>寄存器 74hc595 的原因。我們只需要 3 個 Arduino 數(shù)字引腳來使用 74hc595 移位寄存器控制 LED。移位寄存器教程有 3 個部分。

控制 8 個 LED??刂?LED 亮度。控制 2 shiftRegister 與 LED 效果。我也會解釋編碼。

第 1 步:收集組件以構(gòu)建 Arduino 74hc595 Led Chaser。

?
pYYBAGNglk6ADiHdAALqvH5OQgk323.jpg
?

1. Arduino Uno 到控制移位寄存器。

2. 兩個移位寄存器 74hc595 用于控制 LED。

3. 16 個 LED 作為輸出。

4. 16個保護LED的電阻

5. 用于在其上構(gòu)建電路的面包板。

6. 用于連接的跳線。

如果您想了解移位寄存器的工作原理?點擊這個鏈接

第 2 步:讓我們用 Arduino 和 74hc595 構(gòu)建控制 8 個 LED 的電路

?
pYYBAGNgllOAOsrPAAMybsrJbvE719.png
?

引腳連接:

讓我們構(gòu)建 LED 追逐者。

首先,拿起面包板并將面包板的兩側(cè)與用于為移位寄存器供電的跳線連接。

之后,一個接一個地連接 LED,并確保 LED GND 引腳連接到面包板的接地側(cè),并且不要忘記添加一個 220 歐姆電阻以保護 LED 免受大電流的影響。

現(xiàn)在將移位寄存器連接到面包板上。

接下來,將移位寄存器引腳 16 連接到 5v。

接下來,將移位寄存器引腳 8 連接到 GND。

接下來,將移位寄存器引腳 10 連接到 5v。

接下來,將移位寄存器引腳 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 一個一個連接到 ShiftRegister 引腳 7。

之后,將面包板的正極連接到 Arduino 5v 引腳。

接下來,將面包板的負極連接到 Arduino GND 引腳。

現(xiàn)在電路完成了,讓我們跳到編碼部分。

打開 Arduino IDE。

將您的 Arduino 插入計算機并上傳代碼。

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 步:編碼說明。

首先,我們必須定義 shiftRegister 的控制器引腳。

時鐘引腳連接到 Arduino 引腳 2。

閂鎖連接到 Arduino 引腳 3。

數(shù)據(jù)引腳連接到 Arduino 引腳 4。

字節(jié) LED = 0; 它保持led的位置被打開或關(guān)閉。

在 void setup() 現(xiàn)在將 shiftRegister 的所有引腳設置為 OUTPUT

在 void loop() LEDs = 0 中表示所有 LED 均已關(guān)閉。

updateShiftRegisterR(); 該函數(shù)用于更新我們在下面定義的 shiftRegister。

首先,我們必須將鎖存器引腳設置為低電平意味著沒有更新。

調(diào)用之后,Arduino 函數(shù) shiftOut()。

在時鐘引腳從高電平變?yōu)榈碗娖讲⑶?LED 位存儲在 shiftRegister 中后,將 LED 的一個字節(jié)一次一位地移出到串行數(shù)據(jù)引腳。

設置位的順序 LSB FIRST(最低有效位)意味著我們要從正確的方向開始打開 ??LED。MSBFIRST(最高有效位)意味著我們要從左側(cè)開始打開 ??LED。

現(xiàn)在我們有了一個 LED 打開的位置,因此將鎖存引腳設置為高電平意味著更新輸出。

等待半秒鐘。for 循環(huán)從 0 計數(shù)到 7。

位集();它的 Arduino 功能可以在我太高的位置設置一些特定的 LED。

現(xiàn)在更新 ShiftRegister 并等待半秒。

這個過程在重復,一個一個的led被打開。

現(xiàn)在上傳代碼。

LED 開始從右向左打開。

第 5 步:Arduino 74hc595 LED 亮度。

有一種方法可以控制 LED 的亮度。

我們可以通過 Arduino PWM 引腳將 PWM 信號發(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 步:編碼說明:

代碼有點相同。

定義 OE 引腳連接到 Arduino 引腳 5。

在 void setup() 現(xiàn)在將 OE 引腳設置為 OUTPUT。

在 void loop() 中將所有 LED 設置為高電平或打開。

更新 shiftRegister 并等待半秒。

在 for 循環(huán)計數(shù)從 255 到 0

模擬寫入()函數(shù)用于將 PWM 信號發(fā)送到 OE 以控制 LED 亮度。

上傳代碼現(xiàn)在您會看到 LED 亮度正在增加。

第 8 步:控制 16 個 LED 和 18 個效果。

所有連接都與更改之前相同,只是我們使用了兩個移位寄存器。

電源連接連接到其他面包板。添加額外的 8 個 LED 和 220 歐姆的電阻器。現(xiàn)在附加一個 shiftRegister 并連接與第一個相同的電源連接。

接下來,將 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)在,通過 Arduino 將 5v 電壓傳送到面包板。

接下來將輸出引腳連接到 LED

將您的 arduino 連接到計算機并上傳代碼。

現(xiàn)在享受效果。

?

?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1PFC電路與BOOST電路設計實例分享
  2. 1.83 MB   |  12次下載  |  4 積分
  3. 2世平基于靈動微 SPIN560C 的低壓無刷電機應用方案
  4. 10.93 MB  |  11次下載  |  免費
  5. 3電源測試報告-基于 國民技術(shù) N32L406 和杰華特 JW3376+3330 的 BMS 方案
  6. 6.47 MB  |  11次下載  |  免費
  7. 4PWM控制器的控制方法
  8. 0.39 MB   |  3次下載  |  4 積分
  9. 5電流檢測芯片F(xiàn)P135應用說明
  10. 1.24 MB   |  3次下載  |  免費
  11. 6全面解讀被動式與主動式PFC電路
  12. 1.27 MB   |  1次下載  |  4 積分
  13. 7HC88L051F4低功耗芯片規(guī)格書
  14. 4.76 MB  |  1次下載  |  免費
  15. 8CIU32D655x5數(shù)據(jù)手冊
  16. 2.14 MB   |  1次下載  |  免費

本月

  1. 1常用電子元器件使用手冊
  2. 2.40 MB   |  52次下載  |  免費
  3. 2高功率密度碳化硅MOSFET軟開關(guān)三相逆變器損耗分析
  4. 2.27 MB   |  33次下載  |  10 積分
  5. 3PFC電路與BOOST電路設計實例分享
  6. 1.83 MB   |  12次下載  |  4 積分
  7. 4世平基于靈動微 SPIN560C 的低壓無刷電機應用方案
  8. 10.93 MB  |  11次下載  |  免費
  9. 5電源測試報告-基于 國民技術(shù) N32L406 和杰華特 JW3376+3330 的 BMS 方案
  10. 6.47 MB  |  11次下載  |  免費
  11. 6USB拓展塢PCB圖資料
  12. 0.57 MB   |  11次下載  |  免費
  13. 7MS1826 HDMI 多功能視頻處理器數(shù)據(jù)手冊
  14. 4.51 MB   |  9次下載  |  免費
  15. 8HAL9303線性霍爾效應傳感器技術(shù)手冊
  16. 0.70 MB   |  9次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935134次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191424次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183352次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81600次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73818次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分