精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

如何在您的項目中添加數碼管

胖子的逆襲 ? 來源:DevicePlus ? 作者:DevicePlus ? 2023-03-23 15:13 ? 次閱讀

這篇文章來源于DevicePlus.com英語網站的翻譯稿。

在之前的項目中,我們已經展示了如何使用Arduino來控制LED矩陣。但是,如果您的項目只需要顯示數字,那么最好使用七段數碼管。這些數碼管看起來像復古的數字鬧鐘,只需要七個LED就可以顯示出數字。本指南將向您展示如何完成這個工作。

七段LED數碼管工作原理

七段數碼管是由7個LED組成的陣列,呈8字形,可以分別被點亮以顯示不同的數字(在某些情況下顯示的是字母)。通常會有第8個LED用作顯示小數點。一些模塊帶有多個七段陣列。例如, 一個4位七段數碼管可以用作時鐘

為了簡單起見,在本指南中,我們只顯示一位數字。七段數碼管可以采用以下兩種形式之一:共陽極和共陰極 。在共陽極配置中,所有LED都連接到電源,可以通過將LED選擇性地接地來對其進行控制。在共陰極配置中,情況剛好相反:所有LED都接地,然后通過選擇性地連接電源來對LED單獨進行控制。

您的數碼管的確切配置可能會有所不同,所以請查看模塊上的標記并找到規格表,以確認數碼管連接的配置,以及哪些引腳對應于哪個LED。在本指南中,我們將使用5611AS,為共陰極配置。

為了成功運行代碼,您還需要SevSeg庫,可以在Github上找到資源。下載.zip文件后,進入Sketch > Include library > Add .ZIP library然后選擇SevSeg庫?,F在,您就可以將此庫導入到您的草圖中了。

所需部件

與LED矩陣一樣,該項目將需要相當多的布線和電阻器。由于每個LED都需要有自己的電阻器以避免燒壞,所以請確保準備足夠的電阻器。對于整個項目,您需要以下部件:

Arduino Uno

poYBAGPy0h-AKVGzAACK9V2MX8I102.png

七段LED數碼管

pYYBAGPy0iGAYz05AACjVM2S-RU983.jpg

電線

poYBAGPy0iSARikFAACVaV8CZI0452.png

8x 220 ohm電阻器

pYYBAGPy0ieAJAYkAAB_1g7BEic815.png

面包板

poYBAGPy0iqAXOKlAAFsqBFbUfo719.png

USB數據線

poYBAGPy0iyAC2qFAAA80oFZfRA595.png

Arduino IDE

pYYBAGPy0i-AfIx9AABB1vG6gtU835.png

由于接線會比較繁雜,請確保面包板上有足夠的空間放置所需要的所有電線和電阻器。一切準備就緒后,我們開始進入下一環節。

代碼

因為我們使用了SevSeg庫,所以該項目的代碼非常簡單。首先,以下是您可以粘貼到IDE并上傳的完整代碼:

#include “SevSeg.h”
SevSeg digit;

void setup(){
byte numDigits = 1;
byte digitPins[] = {2, 3, 4, 5, 6, 7, 8, 9};
byte segmentPins[] = {6, 5, 2, 3, 4, 7, 8, 9};
bool resistorsOnSegments = true;

byte hardwareConfig = COMMON_CATHODE;
digit.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments);
digit.setBrightness(90);
}

void loop(){
for (int i = 0;i < 10;i++){
digit.setNumber(i);
digit.refreshDisplay();
delay(1000);
}
}

接下來,我們從前兩行開始查看一下代碼的各個部分。

#include “SevSeg.h”
SevSeg digit;

此處的第一行用于導入SevSeg.h庫,讓您可以使用該庫中的所有命令。第二個用于創建一個SevSeg類型的對象,在本例中命名為“digit”,將用于控制您的數碼管。對于具有多個數字的模塊,您可以為每個數字添加一個對象,并分別進行命名。

void setup(){
byte numDigits = 1;
byte digitPins[] = {2, 3, 4, 5, 6, 7, 8, 9};
byte segmentPins[] = {6, 5, 2, 3, 4, 7, 8, 9};
bool resistorsOnSegments = true;

byte hardwareConfig = COMMON_CATHODE;
digit.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments);
digit.setBrightness(90);
}

在本部分中,我們將對數碼管進行設置。這里的大部分工作都是由digit.begin()函數來完成的。根據SevSeg庫文檔,此命令用于告訴Arduino您的數碼管具有哪些特征,例如位數(在本例中為1)、您用于尋址數碼管的Arduino引腳(引腳2-9),以及電路中是否有電阻。segmentPins數組指定了哪個Arduino引腳對應于哪個段,包括從A到G以及最后的小數點。請參閱您的數碼管文檔以確認哪些段與哪些引腳相對應。

在傳遞給digit.begin函數之前,以上的每個參數都會被分配給一個變量,這有助于在之后對草圖進行擴展。最后,digit.setBrightness用來指定點亮LED的亮度。

void loop(){
for (int i = 0;i < 10;i++){
digit.setNumber(i);
digit.refreshDisplay();
delay(1000);
}
}

在loop()部分,我們將通過一個循環來執行顯示工作,在該循環中將從0計數到9,然后再重新開始。在每次迭代中,變量i將在用于在digit.setNumber 命令中告訴數碼管顯示哪個數字。SevSeg庫會自動編譯這一命令,然后將正確的信號發送到正確的LED段(只要您在上一部分中正確分配了它們)。接下來,調用digit.refreshDisplay來通知數碼管更新數字。

最后,我們添加了一個 delay(1000)命令來使每個數字可以顯示一秒鐘。

接線


連接數碼管將會涉及很多的接線工作,不過其實該過程并不像看起來那么復雜。再次說明,我們所使用的型號是5611AS,但如果您使用的是其他型號,請查看您的數碼管規格。從數碼管的底部(有小數點LED的一側)開始,從左到右,引腳為1到5。在頂部,從左到右為引腳10到6。您可以將其視為從左下角開始為引腳1,然后沿逆時針繞數碼管計數依次到引腳10。

對于該數碼管,您需要在Arduino與數碼管引腳之間連接8個電路,并且每個電路中間都有一個220歐姆電阻器。每個LED都需要一個電阻器來防止被燒壞。雖然您也可以在公共接地引腳后添加一個更高阻值的電阻器,但是這會導致不同數字顯示出不同級別的亮度,而該亮度取決于點亮的段數。

在下面每個連接中,都要使用面包板在Arduino和數碼管之間的電路中添加一個電阻器,并且將Arduino上的引腳連接到數碼管上相應的引腳:

● 連接Arduino引腳2和數碼管引腳 4
● 連接Arduino引腳3和數碼管引腳 2
● 連接Arduino引腳4和數碼管引腳 1
● 連接Arduino引腳5和數碼管引腳 6
● 連接Arduino引腳6和數碼管引腳 7
● 連接Arduino引腳7和數碼管引腳 9
● 連接Arduino引腳8和數碼管引腳 10
● 連接Arduino引腳9和數碼管引腳 5

最后,數碼管每一側的兩個中間引腳——引腳3和8——應該連接到Arduino上的GND。連接好數碼管后,您可以上傳代碼并將其開啟。請嘗更改代碼以顯示不同的數字,然后查看您的顯示效果。

pYYBAGPbhjqAbi1JAAAGd6_rQT0867.png

DevicePlus 編輯團隊

設備升級版適用于所有熱愛電子和機電一體化的人。

審核編輯黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • led
    led
    +關注

    關注

    242

    文章

    23153

    瀏覽量

    658614
  • 數碼管
    +關注

    關注

    32

    文章

    1876

    瀏覽量

    90970
  • Arduino
    +關注

    關注

    187

    文章

    6464

    瀏覽量

    186677
收藏 人收藏

    評論

    相關推薦

    請問SHT11測到的溫濕度如何在數碼管上顯示?SHT11的程序用的官方的,如何增加數碼管顯示?

    請問SHT11測到的溫濕度如何在數碼管上顯示?SHT11的程序用的官方的,如何增加數碼管顯示?采用四位數碼管顯示溫度,四位數碼管顯示濕度。
    發表于 05-22 22:44

    請問有米字數碼管與8段數碼管的資料嗎?

    我想做一個米字數碼管與8段數碼管的 Arduino 顯示類庫,可以用于一些小的LED米字與8段數碼管的顯示項目中。比如:計時器、日期牌、售
    發表于 06-24 01:49

    學51單片機之數碼管部分

    從零學51單片機之數碼管部分 目錄1 數碼管應用2 數碼管內部結構及硬件原理圖3 數碼管硬件設計方法4 單片機驅動
    發表于 02-10 14:36 ?155次下載

    數碼管的分類

    數碼管的分類     數碼管按段數分為七段數碼管和八段數碼管,八段數碼管比七段數碼管
    發表于 11-06 11:41 ?7440次閱讀

    DS1302 數碼管顯示

    ds1302的使用程序,加數碼管顯示,只要自己改改管腳就行了。
    發表于 05-09 11:57 ?15次下載

    靜態數碼管

    靜態數碼管靜態數碼管靜態數碼管靜態數碼管
    發表于 05-13 15:39 ?6次下載

    數碼管驅動電路的作用、分類及驅動電路設計

    本文為介紹數碼管驅動電路的作用,數碼管驅動電路有什么作用,數碼管的分類及驅動電路設計、原理圖。
    發表于 08-05 17:50 ?5.4w次閱讀
    <b class='flag-5'>數碼管</b>驅動電路的作用、分類及驅動電路設計

    數碼管的用途

    本文首先介紹了數碼管的分類,其次介紹了數碼管的驅動方式,最后介紹了數碼管的用途及應用范圍。
    的頭像 發表于 08-21 18:46 ?1.5w次閱讀

    使用AVR單片機編寫的宏定義加數碼管的代碼詳細資料免費下載

    本文檔的主要內容詳細介紹的是使用AVR單片機編寫的宏定義加數碼管的代碼詳細資料免費下載。
    發表于 11-12 08:00 ?0次下載
    使用AVR單片機編寫的宏定義<b class='flag-5'>加數碼管</b>的代碼詳細資料免費下載

    led數碼管怎么接線_LED數碼管的測試

    本文主要介紹了LED數碼管的安裝接線方式及LED數碼管的測試方法。
    發表于 10-09 10:44 ?2.7w次閱讀

    51單片機按鍵控制數碼管0~9_項目數碼管應用實例

    (一)項目任務任務1:顯示數字子任務1.1 數碼管硬件電路認識子任務1.2 了解段選和位選概念子任務1.3 掌握數碼管的靜態顯示方法任務2:數碼管倒計時子任務2.1 掌握
    發表于 11-23 10:06 ?6次下載
    51單片機按鍵控制<b class='flag-5'>數碼管</b>0~9_<b class='flag-5'>項目</b>五 <b class='flag-5'>數碼管</b>應用實例

    靜態數碼管和動態數碼管

    目錄一,什么是數碼管二,靜態數碼管的驅動三,動態數碼管四,動態數碼管顯示編程實戰五,使用38譯碼器驅動動態數碼管一,什么是
    發表于 01-12 18:31 ?40次下載
    靜態<b class='flag-5'>數碼管</b>和動態<b class='flag-5'>數碼管</b>

    數碼管時鐘開源項目

    電子發燒友網站提供《數碼管時鐘開源項目.zip》資料免費下載
    發表于 08-17 09:34 ?4次下載
    <b class='flag-5'>數碼管</b>時鐘開源<b class='flag-5'>項目</b>

    何在Raspberry Pi項目中添加Siri控制

    目的:本教程旨在教如何使用SiriControl開源Python框架在RaspberryPi項目中添加Siri功能和控制功能。
    的頭像 發表于 02-27 10:27 ?747次閱讀
    如<b class='flag-5'>何在</b>Raspberry Pi<b class='flag-5'>項目中</b><b class='flag-5'>添加</b>Siri控制

    51單片機數碼管靜態顯示

    ? 數碼管靜態顯示其實在實際應用中很少,除非項目中就只用到了一位數碼管顯示,否則的話靜態顯示非常占用IO口。但是,靜態顯示又是動態顯示的基礎,所以,在這里我打算跟大家分享一下,數碼管
    的頭像 發表于 02-26 11:05 ?1763次閱讀
    51單片機<b class='flag-5'>數碼管</b>靜態顯示