查看: 564|回復: 1
打印 上一主題 下一主題

【零知ESP8266教程】快速入門14-三個IO控制8個LED燈

[復制鏈接]
  • TA的每日心情
    開心
    2019-12-11 10:34
  • 簽到天數: 47 天

    [LV.5]常住居民I

    跳轉到指定樓層
    樓主
    發表于 2019-10-26 10:30 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式

    在之前我們控制LED的時候,都是一個LED就需要一個對應的引腳。但是在我們開發板引腳有限的情況下,這樣使用就很浪費了,我們這里加上一個新元素74HC595模塊來實現只用3個IO引腳來控制8個LED。

    本次試驗中的74HC595實際上就是一個串行輸入并行輸出的位移緩存器,因此它能使用少量IO來控制多個輸出,這在引腳有限的情況下要控制很多LED是非常有用的。

    一、工具原料
    電腦,windows系統
    零知ESP8266開發板
    micro-usb線
    LED燈紅色4個,黃色4個
    220Ω 電阻8個
    74HC595模塊一個
    面包板一個+若干跳線

    二、硬件連接



    三、方法步驟
    1、打開零知實驗室軟件開發工具,如圖:


    2、然后新建項目,輸入以下代碼:

    kittenblock中小學創客名師推薦的圖形化編程軟件

    /**
    *    文件: 74HC595-8led.ino      by 零知實驗室(www.lingzhilab.com)
    *    -- 零知開源,讓電子制作變得更簡單! --
    *    時間: 2019/05/31 13:39
    *    說明: 使用74HC595 模塊控制8個led,顯示從0-255的二進制編碼,
    **/
      
    int data  = D1;//74HC595的14腳 數據輸入引腳SI 
    int clockC = D2;//74hc595的11腳 時鐘線 SCK
    int latch = D4;//74hc595的12腳 輸出存儲器鎖存線RCK 
      
    // the setup routine runs once when you press reset:
    void setup() {
        // put your setup code here, to run once:
            pinMode(data, OUTPUT);
            pinMode(clockC, OUTPUT);
            pinMode(latch, OUTPUT);
        Serial.begin(9600);
    }
      
    // the loop routine runs over and over again forever:
    void loop() {
        // put your main code here, to run repeatedly:
              
            for(int i = 0; i < 256; i++)//一共8位,可以顯示0-255的二進制編碼
            {
                Serial.println(i);
              
                    digitalWrite(latch, LOW);//
                    shiftOut(data, clockC, MSBFIRST, ~i);//串行數據輸出,高位在先
                    digitalWrite(latch, HIGH);//鎖存
                    delay(500);
            }
    }


    2、按照之前的方式先【驗證】,然后【上傳】到開發板中。
    四、成果展示
    上面步驟成功完成后,我們就可以看到預期的結果了,如下:

    點我傳送,查看效果視頻噻


  • TA的每日心情
    開心
    2019-12-11 10:34
  • 簽到天數: 47 天

    [LV.5]常住居民I

    沙發
     樓主| 發表于 2019-10-26 10:36 | 只看該作者
    如果代碼有疑問可以留言哦,在線解疑!
    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規則

    熱門推薦

    [限時福利]5分鐘帶你快速了解新一代開發板:M5STACK
    [限時福利]5分鐘帶你快速
    一、什么是M5Stack M5Stack是一種模塊化、可堆疊擴展的開發板,每個模塊
    【Arduino】168種傳感器系列實驗(140)---KY-027魔術光環模塊
    【Arduino】168種傳感器系
    37款傳感器與模塊的提法,在網絡上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是
    【Arduino】108種傳感器系列實驗(39)---18B20溫度傳感器模塊
    【Arduino】108種傳感器系
    37款傳感器與模塊的提法,在網絡上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是
    vscode 編譯Arduino 很慢
    vscode 編譯Arduino 很慢
    用 vscode 編譯 Arduino 程序 很慢,然后提示這個警告,請問有什么方法可以加快編譯速
    終于完成了客廳燈的小愛控制,更新于12月29日,更新完成
    終于完成了客廳燈的小愛控
    完成了小愛同學控制的客廳燈,用的是esp8266,附上視頻 http://v.youku.com/v_show/id
    Copyright   ©2015-2016  Arduino中文社區  Powered by©Discuz!   
    快速回復 返回頂部 返回列表
    3d每天组六27个号必中