資料介紹
描述
在本教程中,我們將學習如何使用 LED 矩陣 MAX7219、溫度和濕度傳感器 DHT11 和 RTC DS1307 模塊來顯示當前溫度、濕度、時間和日期。
觀看視頻!
第 1 步:您需要什么
- Arduino UNO(或任何其他 Arduino)
- LED矩陣。我們將使用 FC-16 模塊,它具有四個級聯的 8×8 LED 矩陣顯示器和每個顯示器的內置 MAX7219 LED 驅動器。
- 面包板
- 跳線
- RTC DS1307 模塊
- DHT11傳感器
- Visuino 程序:下載 Visuino
第 2 步:電路
- 將 RTC DS1307 模塊引腳[VCC] 連接到 Arduino 引腳[5V]
- 將 RTC DS1307 模塊引腳[GND] 連接到 Arduino 引腳[GND]
- 將 RTC DS1307 模塊引腳[SDA] 連接到 Arduino 引腳[SDA]
- 將 RTC DS1307 模塊引腳[SCL] 連接到 Arduino 引腳[SCL]
- 將 DHT11 傳感器引腳 [GND] 連接到 Arduino 引腳 [GND]
- 將 DHT11 傳感器引腳 [VCC] 連接到 Arduino 引腳 [5V]
- 將 DHT11 傳感器信號引腳 [S] 連接到 Arduino 數字引腳 [4]
- 將 LED 矩陣引腳 [VCC] 連接到 Arduino 引腳 [5V]
- 將 LED 矩陣引腳 [GND] 連接到 Arduino 引腳 [GND]
- 將 LED 矩陣引腳 [DIN] 連接到 Arduino 數字引腳 [11]
- 將 LED 矩陣引腳 [CS] 連接到 Arduino 數字引腳 [10]
- 將 LED 矩陣引腳 [CLK] 連接到 Arduino 數字引腳 [13]
注意:另請閱讀下面的故障排除部分
第 3 步:啟動 Visuino,并選擇 Arduino UNO 板類型
Visuino:https ://www.visuino.eu也需要安裝。下載免費版本或注冊免費試用。
啟動Visuino,如第一張圖所示點擊Visuino中Arduino組件(圖1)上的“工具”按鈕出現對話框時,選擇“Arduino UNO”,如圖2所示
第 4 步:在 Visuino 中添加組件
- 添加2X“比較整數值”組件
- 添加 2X“數字(布爾)值”組件
- 添加“延遲”組件
- 添加“數字多源合并”組件
- 添加“時鐘發生器”組件
- 添加2X“計數器”組件
- 添加“ Maxim LED Display Controller SPI MAX7219/MAX7221 ”組件
- 添加“日期/時間值”組件
- 添加“實時時鐘(RTC)DS1307 ”組件
- 添加“解碼(拆分)日期/時間”組件
- 添加4X“格式化文本”組件
- 添加“ DHT11 ”組件
- 添加“ Text Mux(多通道切換) ”組件
- 添加“整數多源”組件
第 5 步:在 Visuino 設置組件中
- 選擇“ Delay1 ”并在屬性窗口中將“Interval (uS)”設置為 5000000
- 選擇“ DigitalValue2 ”并在屬性窗口中將“ Value ”設置為 True
- 選擇“ ClockGenerator1 ”并在屬性窗口中將“頻率”設置為 10 并選擇“啟用”并單擊 Pin 圖標并選擇“ Boolean SinkPin ”
- 選擇“ Counter1 ”并在屬性窗口中將Max>Roll Over設置為 False 并將Max>Value設置為 5
- 選擇“ Counter1 ”并在屬性窗口中將Min>Value設置為 -8
- 選擇“ Counter1 ”并在屬性窗口中將“ Reversed ”設置為 True
- 選擇“ CompareValue1 ”并在屬性窗口中將“ Value ”設置為 5
- 選擇“ Counter2 ”并在屬性窗口中將Max>Value設置為 3
- 選擇“ Counter2 ”并在屬性窗口中將Min>Value設置為 0
- 選擇“ IntegerMultiSource1 ”并在屬性窗口中設置為Output Pins to 3
- 雙擊“ LedController1 ”并在“Pixel Groups”窗口中將“ 2D Graphics ”拖到左側
- 并在屬性窗口中將“水平鏡像”設置為真,將“水平反轉”設置為真,并將“寬度”設置為 32
- 還在屬性窗口中選擇“元素”,然后單擊 3 點按鈕
在元素窗口中拖動:
- 左側的“ Text Field ”并在屬性窗口中將“ Wrap ”設置為False,然后單擊“ X ”引腳按鈕并選擇“ Integer Sink Pin ”并單擊“ Y ”引腳按鈕并選擇“ Integer Sink銷"
- “填充屏幕”到左側
關閉“元素”窗口
關閉“像素組”窗口
- 選擇“ DateTimeValue1 ”并在屬性窗口中將“ Value ”設置為您當前的日期和時間
- 選擇“ TextMux1 ”并在屬性窗口中將“ Input Pins ”設置為 4
- 選擇“ FormattedText1 ”并在屬性窗口中將“ Text ”設置為%0%1
- 雙擊“ FormattedText1 ”并在元素窗口中
- 將“ Analog Element ”拖到左側并在屬性窗口中將“ Precision ”設置為1
- 將“文本元素”拖到左側并在屬性窗口中將“初始值”設置為 C
關閉元素窗口
- 選擇“ FormattedText2 ”并在屬性窗口中將“ Text ”設置為%0%1
- 雙擊“ FormattedText2 ”并在元素窗口中
- 將“ Analog Element ”拖到左側并在屬性窗口中將“ Precision ”設置為0
- 將“文本元素”拖到左側并在屬性窗口中將“初始值”設置為 %
關閉元素窗口
- 選擇“ FormattedText3 ”并在屬性窗口中將“ Text ”設置為%0:%1
- 雙擊“ FormattedText3 ”并在元素窗口中
- 將2X “文本元素”拖到左側
關閉元素窗口
- 選擇“ FormattedText4 ”并在屬性窗口中將“Text”設置為%0.%1
- 雙擊“ FormattedText4 ”并在元素窗口中
- 將 2X“文本元素”拖到左側
關閉元素窗口
第 6 步:在 Visuino Connect 組件中
- 將“ DateTimeValue1 ”引腳輸出連接到“ RealTimeClock1 ”引腳設置
- 將“ RealTimeClock1 ”引腳控制 I2C 連接到Arduino引腳 I2C In
- 將“ RealTimeClock1 ”引腳輸出連接到“ DecodeDateTime1 ”引腳輸入
- 將“ DecodeDateTime1 ”引腳“月”連接到“ FormattedText4 >“ TextElement2 ”引腳
- 將“ DecodeDateTime1 ”引腳“Day”連接到“FormattedText4 > “TextElement1”引腳 In
- 將“ DecodeDateTime1 ”引腳“Hour”連接到“FormattedText3 > “TextElement1”引腳
- 將“ DecodeDateTime1 ”引腳“Minute”連接到“FormattedText3 > “TextElement2”引腳
- 將“ HumidityThermometer1 ”引腳傳感器連接到Arduino板數字引腳 [4]
- 將“ HumidityThermometer1 ”引腳溫度連接到“FormattedText1> AnalogElement1”引腳輸入
- 將“HumidityThermometer1”引腳濕度連接到“FormattedText2>AnalogElement1”引腳輸入
- 將“ FormattedText1 ”引腳輸出連接到“ TextMux1 ”引腳[0]
- 將“ FormattedText2 ”引腳輸出連接到“ TextMux1 ”引腳[1]
- 將“ FormattedText3 ”引腳輸出連接到“ TextMux1 ”引腳[2]
- 將“ FormattedText4 ”引腳輸出連接到“ TextMux1 ”引腳[3]
- 將“ TextMux1 ”引腳輸出連接到“LedController1 > Text Field”引腳輸入
- 將“ CompareValue2 ”引腳輸出連接到“ Delay1 ”引腳“Start”和“ DigitalValue1 ”引腳時鐘
- 將“ Delay1 ”引腳輸出連接到“ DigitalValue2 ”引腳時鐘
- 將“ DigitalValue1 ”引腳輸出連接到“ DigitalMultiMerger1 ”引腳[0]
- 將“ DigitalValue2 ”引腳輸出連接到“ DigitalMultiMerger1 ”引腳 [1]
- 將“ DigitalMultiMerger1 ”引腳輸出連接到“ ClockGenerator1 ”引腳“啟用”
- 將“ ClockGenerator1 ”引腳時鐘連接到“ Counter1 ”引腳輸入
- 將“ Counter1 ”引腳輸出連接到“ IntegerMultiSource1 ”引腳輸入,“ CompareValue1 ”引腳輸入和“ CompareValue2 ”引腳輸入
- 將“ CompareValue1 ”引腳輸出連接到“ Counter2 ”引腳輸入
- 將“ Counter2 ”引腳輸出連接到“ TextMux1 ”引腳選擇
- 將“ IntegerMultiSource1 ”引腳 [0] 連接到“LedController1 > 文本字段”引腳 Y
- 將“ IntegerMultiSource1 ”引腳 [1] 連接到“LedController1 > Fill Screen”引腳時鐘
- 將“ IntegerMultiSource1 ”引腳 [2] 連接到“LedController1 > Text Field”引腳時鐘
- 將“ LedController1 ”引腳輸出 SPI 連接到Arduino 板引腳 SPI In
- 將“ LedController1 ”引腳芯片選擇連接到Arduino 板數字引腳 [10]
第 7 步:生成、編譯和上傳 Arduino 代碼
在 Visuino 中,在底部單擊“構建”選項卡,確保選擇了正確的端口,然后單擊“編譯/構建和上傳”按鈕。
第 8 步:播放
如果您為 Arduino UNO 模塊供電,LED 矩陣將開始從底部到頂部顯示溫度、濕度、時間和日期。
恭喜!您已經使用 Visuino 完成了您的項目。還附上了我為本教程創建的 Visuino 項目文件,您可以下載并在 Visuino 中打開它:
第 9 步:故障排除
在我的情況下,當為 Arduino 供電時,LED 矩陣閃爍并且文本沒有完全顯示。這是因為 MAX7219 芯片對任何電壓干擾都非常敏感。
為了解決這個問題,我在 LED Matrix VCC(+) 和 GND(-) 之間添加了一個 47uf 電解電容,確保正確連接電容,+ on (VCC) 和 - on (GND)
- 實時濕度和溫度監測開源項目
- Matrix IR非接觸式溫度計開源設計
- 從任何地方監控溫度/濕度和控制LED
- 溫度和濕度開源項目
- LCD顯示溫度和濕度開源硬件
- 測量溫度和濕度開源硬件
- 溫度和濕度數據記錄器開源案例
- 帶有溫度、回歷日期和祈禱時間的NodeMCU時鐘
- 溫度和濕度數據記錄器開源分享
- Arduino控制時鐘和動畫開源分享
- 溫度和濕度可控的發酵室開源分享
- Atmega328 led動畫或vumeter開源分享
- 在-Oracle-和-PHP-中日期和時間的使用
- ZH9830天氣時間日期溫濕度計芯片的數據手冊免費下載 0次下載
- Android動畫電子溫度計 39次下載
- 激光焊接錫膏對環境溫度和濕度有什么要求 157次閱讀
- 恒溫恒濕試驗箱:科技的溫度與濕度掌控者 349次閱讀
- IC長時間工作溫度多少合適? 1998次閱讀
- 常見的幾種日期對象用法 780次閱讀
- 在QML動畫設計中通過指定關鍵幀創建時間線動畫 2173次閱讀
- 如何使用屬性動畫實現簡單屬性變化的動畫效果 1455次閱讀
- 時鐘芯片如何確定日期和時間? 7583次閱讀
- S7-300PLC如何將時間日期信息進行存儲 5743次閱讀
- dfrobotLED Matrix點陣屏簡介 2416次閱讀
- 濕度傳感器安裝說明 3706次閱讀
- 昆侖通態窗口顯示日期和時間 3.4w次閱讀
- LCD顯示遠程溫度濕度數據記錄器與應用軟件的介紹 4869次閱讀
- 能夠在戶外運動手表中顯示溫度濕度信息的傳感器 4619次閱讀
- 地鐵空調通風系統監測環境溫度和空氣濕度生的溫濕度傳感器 2310次閱讀
- 大棚溫度和濕度自動控制器電路圖 4999次閱讀
下載排行
本周
- 1A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 2PIC12F629/675 數據手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 3PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 4dsPIC33EDV64MC205電機控制開發板用戶指南
- 5.78MB | 8次下載 | 免費
- 5STC15系列常用寄存器匯總免費下載
- 1.60 MB | 7次下載 | 5 積分
- 6模擬電路仿真實現
- 2.94MB | 4次下載 | 免費
- 7PCB圖繪制實例操作
- 2.92MB | 2次下載 | 免費
- 8零死角玩轉STM32F103—指南者
- 26.78 MB | 1次下載 | 1 積分
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 452次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 141次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 137次下載 | 免費
- 4A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 5PIC12F629/675 數據手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 6如何正確測試電源的紋波
- 0.36 MB | 19次下載 | 免費
- 7PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 8Q/SQR E8-4-2024乘用車電子電器零部件及子系統EMC試驗方法及要求
- 1.97 MB | 8次下載 | 10 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論
查看更多