在本教程中,我們將學習如何使用兩個dht傳感器,HC12模塊和I2C LCD制作遠程遠程氣象站
步驟1:您需要什么
硬件部件:
DHT11溫濕度傳感器(3針) × 1個
DHT22溫濕度傳感器 × 1個
Arduino UNO × 2
Adafruit HC-12模塊× 2
字母數(shù)字LCD,20 x 4 × 1個
跳線(通用) × 1個
軟件應(yīng)用程序和在線服務(wù):
Arduino IDE
步驟2:電路-發(fā)送器
將HC-12引腳[VCC]連接到Arduino引腳[5V]
將HC-12引腳[GND]連接到Arduino引腳[GND]
將HC-12引腳[TX]連接到Arduino引腳[RX]
將HC-12引腳[RX]連接到Arduino引腳[TX]
將DHT22(或任何其他DHT傳感器)引腳輸出連接到Arduino Digital引腳3
將DHT22引腳VCC(+)連接到Arduino引腳5V
將DHT22引腳GND(-)連接到Arduino引腳GND
注意:在Visuino中上傳代碼時,請確保斷開Arduino引腳[RX]的連接,并在上傳后將其重新連接回去。
步驟3:電路-接收器
將HC-12引腳[VCC]連接到Arduino引腳[5V]
將HC-12引腳[GND]連接到Arduino引腳[GND]
將HC-12引腳[TX]連接到Arduino引腳[RX]
將HC-12引腳[RX]連接到Arduino引腳[TX]
將LCD顯示引腳[VCC]連接到Arduino引腳[5V]
將LCD顯示引腳[GND]連接到Arduino引腳[GND]
將LCD顯示引腳[SDA]連接到Arduino引腳[SDA]
將LCD顯示引腳[SCL]連接到Arduino引腳[SCL]
將DHT11(或任何其他DHT傳感器)引腳輸出連接到Arduino Digital引腳2
將DHT11引腳VCC(+)連接到Arduino引腳5V
將DHT11引腳GND(-)連接到Arduino引腳GND
注意:在Visuino中上傳代碼時,請確保斷開Arduino引腳[RX]的連接,并在上傳后將其重新連接回去。
第4步:發(fā)送方-在Visuino中添加,設(shè)置和連接組件
添加“脈沖發(fā)生器”組件,然后在屬性窗口中將頻率設(shè)置為5Hz
添加“濕度和溫度計DHT11 / 21/22 / AM2301”組件,然后在屬性窗口中選擇類型,在本例中為DHT22
添加“ Analog To Analog Array”,然后在屬性窗口中將Input Pins設(shè)置為2
添加“數(shù)據(jù)包”組件,雙擊它,然后在“元素”窗口中將“模擬數(shù)組”拖到左側(cè),然后關(guān)閉“元素”窗口。
將PulseGenerator1引腳輸出到濕度溫度計1引腳時鐘和Packet1引腳時鐘
將HumidityThermometer1引腳傳感器連接到Arduino Digital引腳3
將HumidityThermometer1引腳溫度連接到AnalogToAnalogArray1引腳[0]和引腳Clock
將HumidityThermometer1引腳的濕度連接到AnalogToAnalogArray1引腳[1]和引腳Clock
將AnalogToAnalogArray1連接至Packet1》 Analog Array1引腳
將Packet1引腳輸出連接到Arduino Serial [0]引腳輸入
步驟5:接收器-在Visuino中添加和設(shè)置組件
添加“脈沖發(fā)生器”組件,然后在屬性窗口中將頻率設(shè)置為5
添加“濕度和溫度計DHT11 / 21/22 / AM2301”組件,并在屬性窗口中設(shè)置“類型”(在本例中為DHT11)
添加“液晶顯示器(LCD)-I2C”組件,然后在屬性窗口中將“列數(shù)”設(shè)置為20,將“行數(shù)”設(shè)置為4
雙擊“ LiquidCrystalDisplay1”,然后在“元素”窗口中將“文本字段”拖到左側(cè),然后在屬性窗口中將寬度設(shè)置為20
在“元素”窗口中,將另一個“文本字段”拖到左側(cè),然后在屬性窗口中,將“行”設(shè)置為1,將寬度設(shè)置為20
在“元素”窗口中,將另一個“文本字段”拖到左側(cè),然后在屬性窗口中,將“行”設(shè)置為2,將寬度設(shè)置為20
在“元素”窗口中,將另一個“文本字段”拖到左側(cè),然后在屬性窗口中,將“行”設(shè)置為3,將寬度設(shè)置為20
關(guān)閉元素窗口
添加4X“格式化文本”組件,并在屬性窗口中將每個文本設(shè)置為:%0%1
雙擊“ FormattedText1 ”,然后在“元素”窗口中將“文本元素”拖到左側(cè),然后在屬性窗口中將“初始值”設(shè)置為:內(nèi)部TEMP:在“元素”窗口中,還將“模擬元素”拖到左側(cè),并在在屬性窗口中將Precision設(shè)置為2關(guān)閉Elements窗口雙擊“ FormattedText3”,然后在Elements窗口中將“ Text Element”拖到左側(cè),然后在屬性窗口中將Initial Value設(shè)置為:Out TEMP:在Elements窗口中也拖動“ “模擬元素”的左側(cè),然后在屬性窗口中將“精度”設(shè)置為2雙擊Unpacket1,然后在“元素”窗口中拖動模擬陣列向左sideClose元素windowClose要件windowAdd“模擬陣列要模擬”分量和在屬性窗口組輸出引腳2
雙擊“ FormattedText2”,然后在“元素”窗口中將“文本元素”拖到左側(cè),然后在屬性窗口中將“初始值”設(shè)置為:內(nèi)部HUM:在“元素”窗口中,還將“模擬元素”拖到左側(cè)并在在屬性窗口中將Precision設(shè)置為2關(guān)閉Elements窗口
關(guān)閉元素窗口
雙擊“ FormattedText4”,然后在“元素”窗口中將“文本元素”拖到左側(cè),然后在屬性窗口中將“初始值”設(shè)置為:Out HUM:在“元素”窗口中還將“模擬元素”拖到左側(cè),并在在屬性窗口中將Precision設(shè)置為2關(guān)閉Elements窗口
添加“拆包”組件
步驟6:接收器-Visuino Connect組件中
將“ PulseGenerator1 ”引腳連接到“ HumidityThermometer1 ”引腳時鐘
將“ HumidityThermometer1 ”引腳傳感器連接到Arduino Digital引腳2
將“ HumidityThermometer1 ”引腳溫度連接到“ FormattedText1 ”》 Analog Element1引腳輸入和引腳時鐘
將“ HumidityThermometer1 ”引腳濕度連接到“ FormattedText2 ”》 Analog Element1引腳輸入和引腳時鐘
將Arduino Serial [0]引腳輸出連接到“ Unpacket1 ”引腳輸入
連接“ Unpacket1 ”》 AnalogArray1引腳輸出到“ AnalogArrayToAnalog1 ”引腳輸入
將“ AnalogArrayToAnalog1 ”引腳[0]連接到“ FormattedText3 ”》 Analog Element1引腳輸入和引腳時鐘
將“ AnalogArrayToAnalog1 ”引腳[1]連接到“ FormattedText4 ”》 Analog Element1引腳輸入和引腳時鐘
將“ FormattedText1 ”引腳連接到“ LiquidCrystalDisplay1 ”》“文本字段1 ”引腳
將“ FormattedText2 ”引腳連接到“ LiquidCrystalDisplay1 ”》“文本字段2 ”引腳
將“ FormattedText3 ”引腳連接到“ LiquidCrystalDisplay1 ”》“文本字段3 ”引腳輸入
將“ FormattedText4 ”引腳連接到“ LiquidCrystalDisplay1 ”》“文本字段4”引腳輸入
將“ LiquidCrystalDisplay1 ”引腳I2C輸出連接到Arduino引腳I2C輸入
步驟7:生成,編譯和上傳Arduino代碼
對于發(fā)送方和接收方:
在Visuino中,在底部單擊“構(gòu)建”選項卡,確保選擇了正確的端口,然后單擊“編譯/構(gòu)建和上載”按鈕。
很重要!確保在上傳代碼時,Arduino上的Pin RX斷開連接,并在上傳后將其重新連接。
步驟8:播放
如果為兩個Arduino UNO模塊供電,接收器上的顯示器將開始顯示兩個傳感器的溫度和濕度。您可以將發(fā)送器放在外面,并且可以監(jiān)視內(nèi)部和外部溫度。
恭喜你!您已經(jīng)完成了Visuino的項目。
責任編輯:pj
-
傳感器
+關(guān)注
關(guān)注
2545文章
50445瀏覽量
751038 -
接收器
+關(guān)注
關(guān)注
14文章
2454瀏覽量
71751 -
應(yīng)用程序
+關(guān)注
關(guān)注
37文章
3237瀏覽量
57547
發(fā)布評論請先 登錄
相關(guān)推薦
評論