Step 1:工具和材料
Arduino 101或Arduino Uno
移位寄存器
面包板
RGB LED
3個100Ω電阻器
跳線
步驟2:電路
將 Arduino電源連接到面包板電源導軌
使用紅色跨接線將Arduino的3.3V引腳連接到紅色面包板電源導軌。
使用黑色跨接線將Arduino接地引腳連接到黑色面包板姿勢導軌。
將移位寄存器連接到 Arduino 。
將移位寄存器放在面包板上頂部凹口朝向頂部,這將按照慣例指示銷1的位置,即凹口左側的位置。這是所有IC中的通用屬性,是一件值得記住的好事。
將移位寄存器上的引腳10和16連接到3.3V電源軌。
將移位寄存器上的引腳8和引腳13連接到面包板的接地導軌。
將引腳11,12和14從移位寄存器連接到引腳2,3和4分別為面包板。
最后,將 RGB LED 連接到移位寄存器
連接最長的引腳將RGB LED連接到公共地。
將引腳15連接到100Ω電阻,然后與RGB LED的紅色LED串聯,這是最靠近接地引腳但不在中間的LED。
將剩余的中間引腳(也是綠色LED引腳)連接到移位寄存器的引腳1。
現在,將唯一未連接的引腳(您知道是藍色LED引腳)連接到移位寄存器的引腳2.
步驟3 :代碼
我們無法打開并使用RGB LED將每個引腳保持為高電平,因為這樣可以使所有LED保持高電平并在一個周期后產生白色,這看起來并不漂亮,所以相反,我們必須將每個引腳都設置為HIGH然后等待,最后是LOW,以便循環遍歷所有顏色到無窮大。
int datapin = 2;
int clockpin = 3; int latchpin = 4;
//我們還要為我們//發送到移位寄存器的數據聲明一個全局變量:
byte data = 0;
void setup(){//將三個SPI引腳設置為輸出:
pinMode(datapin,OUTPUT); pinMode(clockpin,OUTPUT); pinMode(latchpin,OUTPUT); }
void loop(){
oneAfterAnother();//全部打開,全部關閉
}
void shiftWrite(int desiredPin,boolean desiredState)
{//首先我們將改變全局變量“data”,將//所需的位更改為1或0:
bitWrite(data,desiredPin,desiredState);
//現在我們實際上將數據發送到移位寄存器。//shiftOut()函數執行//操縱數據和時鐘引腳以將數據//移入移位寄存器的所有艱苦工作:
shiftOut(datapin,clockpin,MSBFIRST,data);
//一旦數據在移位寄存器中,我們仍然需要//使它出現在輸出端。我們將切換//latchPin的狀態,它將發信號通知移位寄存器“鎖存”//數據到輸出。 (Latch在高 - 到 - 低轉換時激活。)
digitalWrite(latchpin,HIGH); digitalWrite(latchpin,LOW); }
void oneAfterAnother(){int index; int delayTime = 100;//在LED之間暫停的時間(毫秒)//將其縮小以便更快地切換
//打開所有LED:
//這對于()循環將步驟索引從0到7//(在變量之后加上“++”表示添加一個)//然后將使用digitalWrite()打開LED。
for(index = 0; index 《= 7; index ++){shiftWrite(index,HIGH);延遲(delayTime); }
//關閉所有LED:
//這個for()循環將索引從7步驟變為0//(在變量之后加上“ - ”表示減去一個來自它)//然后將使用digitalWrite()將該LED關閉。
for(index = 7; index》 = 0; index--){shiftWrite(index,LOW);延遲(delayTime); }
-
led
+關注
關注
242文章
23362瀏覽量
663246 -
移位寄存器
+關注
關注
3文章
259瀏覽量
22344
發布評論請先 登錄
相關推薦
XILINX FPGA CLB單元之移位寄存器
![XILINX FPGA CLB單元之<b class='flag-5'>移位寄存器</b>](https://file1.elecfans.com/web3/M00/06/48/wKgZO2eI1gCAEFwbAAAroaCYpFQ525.png)
移位寄存器的工作原理、類型及應用
移位寄存器中使用的儲存單元是什么
移位寄存器中Dsr有什么用
移位寄存器右移是怎么移位的
SN74HC595-EP帶3態輸出寄存器的8位移位寄存器數據表
![SN74HC595-EP<b class='flag-5'>帶</b>3態輸出<b class='flag-5'>寄存器</b>的8位<b class='flag-5'>移位寄存器</b>數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
移位寄存器的工作原理與作用
雙向移位寄存器的工作原理、特點及應用
帶3態輸出寄存器的8位移位寄存器SNx4AHCT595數據表
![<b class='flag-5'>帶</b>3態輸出<b class='flag-5'>寄存器</b>的8位<b class='flag-5'>移位寄存器</b>SNx4AHCT595數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
帶3態輸出寄存器的8位移位寄存器SN74AHC595數據表
![<b class='flag-5'>帶</b>3態輸出<b class='flag-5'>寄存器</b>的8位<b class='flag-5'>移位寄存器</b>SN74AHC595數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
帶輸出寄存器的汽車類8位移位寄存器SN74LV8T594-Q1數據表
![<b class='flag-5'>帶</b>輸出<b class='flag-5'>寄存器</b>的汽車類8位<b class='flag-5'>移位寄存器</b>SN74LV8T594-Q1數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
帶輸出寄存器的8位移位寄存器74LVC594A產品數據表
![<b class='flag-5'>帶</b>輸出<b class='flag-5'>寄存器</b>的8位<b class='flag-5'>移位寄存器</b>74LVC594A產品數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論