該項目將向您展示如何設置 Arduino IoT 將消息發(fā)送到云板顯示器(LCD)。
該項目基于Project Hub 用戶MicroBob 的項目
該項目將您的顯示器連接到Arduino IoT Cloud。最終結果是能夠從Arduino IoT Cloud上的儀表板向LCD發(fā)送消息。
您將需要一個與 IoT Cloud 積木的 Arduino 板,我們在此項目中使用 33 IoT。
補給品
Arduino Nano 33 上網(wǎng)或其他物聯(lián)網(wǎng)云物板× 1
Adafruit 標準 LCD - 16x2 白底藍× 1
電阻 220 歐姆 × 1
面包板(通用) × 1
Arduino物聯(lián)網(wǎng)聯(lián)網(wǎng)
第一個連接線:
面包有關您首先將如何連接到組件到連接步驟。將找到一個連接器和下面的分步步驟。LCD 有 6 個連接器,在板子中,我們將它們分別設置為您的本機連接器中的 1 個-16,從左到右編號,從上角開始。
將阿杜諾的面包繞在地上,將連接線連接到您的液晶顯示器上:
Arduino 用 2 到 LCD 上的地址 14
Arduino 字母 3 到 LCD 上的地址 13
Arduino 4 到 LCD 上的地址 12
Arduino 用 5 到 LCD 上的地址 11
Arduino 9到LCD上的地址3
Arduino 10 到 LCD 上的地址 15
Arduino 上的 11 到 LCD 上的 6
Arduino 上的 12 到 LCD 上的 4
Arduino 5V 到 LCD 上的電源 2
Arduino 上的接地到 1 和 1 用 LCD5
Arduino 通過一個 222 電阻連接到 LCD 上的接地端 16
完成后,您的電路將如下所示:
第 2 步:Arduino 物聯(lián)網(wǎng)聯(lián)網(wǎng)
要開始執(zhí)行此步驟,您將需要一些非常基本的 Arduino IoT Cloud 制造服務知識。如果您以前通過任何項目,請不要擔心,您需要知道所有使用服務的知識。
如果您是 Arduino 的入門教程,那么請一些時間學習入門頁面,然后您就可以開始學習了。如果需要,還有物聯(lián)網(wǎng)教程啟動教程
在云端,您需要創(chuàng)建一個新事物,并配置您的設備和網(wǎng)絡。
然后,你應該賦予一個變量。
現(xiàn)在,您需要創(chuàng)建一個儀表板來向您的 Arduino 板發(fā)送消息。轉(zhuǎn)到儀表板部分,并制作一個新的儀表板。
在里面,創(chuàng)建一個“信使”類型的小組件。然后你將它鏈接到你的“l(fā)cdText”變量需要。
現(xiàn)在,它不會做決定,我們還沒有將他們發(fā)送到任何地方。因為你可以寫地方消息,但不會做。
第 3 步代碼:代碼
對于這個項目,我們需要包含一個庫來處理這個消息的繁重工作。除了這個之外,以及處理它們的正確拆解以適合顯示的 2 行。我們將引導完成,如果您將它復制到您的完整過程中,但可以在底部找到 IDE。
您可以從合適的庫開始,并立即傳遞給我們想要使用的相關信息。
通過將下面的代碼行到東西 -> 選項卡中的草圖的添加來完成這一點。
#include LiquidCrystal lcd(12, 11, 5, 4, 3, 2); #define contra 9 //定義控制屏幕對比度的引腳 #define bri 10 //定義控制屏幕亮度的引腳 |
現(xiàn)在,屏幕上的所有內(nèi)容傳遞給庫,并開始很好地進行。并且我們準備好讓我們準備好液晶顯示器和已表達的愿望。
此外,我們已將 LCD 上的第一條消息打印到 LCD 上,以便您知道它正在準備好接收到云端的消息。
在 setup 函數(shù)中添加這些行,以便在開發(fā)板啟動時運行一次。
lcd.begin(16, 2);//告訴LCD這是一個16x2 LCD pinMode(contra, OUTPUT); pinMode(bri,輸出); 數(shù)字寫入(相反,低); 類比寫入(布里,255); lcd.print("發(fā)送文本!"); |
循環(huán)函數(shù)將保持為無緣無故地運行代碼,因此我們將在LcdTextChange函數(shù)中繼續(xù)編寫其他的更新代碼,每次從儀表盤運行一次。
這也是我們將消息一分為二的地方,如果它顯示太長而不能只在一行上,并檢查它是否太長而根本無法。
我們將設置包含兩個變量來展示我們的消息,然后我們將確定一個消息來顯示我們是否需要一兩行消息,以及一個沒有條件的回傳內(nèi)容。 ! 將它傳遞下去,然后它太長了,然后我們可以隨便加個文本給它兩塊好。
字符串第一行; 字符串第二行; if(lcdText.length()< 15){ firstLine = lcdText; } else if (lcdText.length() < 29){ firstLine = lcdText.substring(0, 15); secondLine = lcdText.substring(15, 29); } else{ firstLine = "消息太長"; } |
完成后,我們還在屏幕上打印出文本需要首先,清除 LCD 上顯示的任何一條消息。二行。
Serial.println(lcdText); lcd.clear(); lcd.setCursor(0,0); lcd.print(firstLine); lcd.setCursor(0,1); lcd.print(第二行); |
完整代碼如下:
/* Arduino IoT Cloud Thing "Untitled 2" 生成的草圖 https://create.arduino.cc/cloud/things/d5666fa2-1687-4538-a1d7-90f746998d23 Arduino IoT Cloud 變量描述 以下變量是自動生成和更新的當對事物 字符串 lcdText 進行更改時; 在 Cloud Thing 中標記為 READ/WRITE 的變量也將具有 在從儀表板更改其值時調(diào)用的函數(shù)。 這些功能由 Thing 生成并添加到此草圖的末尾。 */ #include "thingProperties.h" #include LiquidCrystal lcd(12, 11, 5, 4, 3, 2); #define contra 9 //定義控制屏幕對比度的引腳 #define bri 10 //定義控制屏幕亮度的引腳 void setup() { // 初始化串口并等待端口打開: Serial.開始(9600);// 如果沒有找到延遲(1500), 則此延遲提供了等待串行監(jiān)視器而不阻塞的機會lcd.begin(16, 2);//告訴LCD這是一個16x2 LCDpinMode(contra, OUTPUT);//將引腳 9 設置為 OUTPUTpinMode(bri, OUTPUT);//將pin 10設置為OUTPUT//pinMode-ing OUTPUT使指定的pin輸出功率digitalWrite(contra, LOW);/*不向?qū)Ρ纫_輸出電源。這可以讓您看到單詞*/ 類比寫入(布里,255);//向屏幕亮度 LED 輸出全功率 lcd.print("Send text!"); // 定義在thingProperties.h initProperties(); // 連接到 Arduino IoT Cloud ArduinoCloud.begin(ArduinoIoTPreferredConnection); /* 以下函數(shù)可讓您獲得更多 與網(wǎng)絡和物聯(lián)網(wǎng)云連接狀態(tài)相關的信息,錯誤 數(shù)越高,您獲得的信息越細。 默認值為 0(僅錯誤)。 最大值為 4 */ setDebugMessageLevel(2); ArduinoCloud.printDebugInfo(); } 無效循環(huán)() { ArduinoCloud.update(); // 您的代碼 } /* 由于 LcdText 是 READ_WRITE 變量,因此 每次從 IoT Cloud 接收到新值時都會執(zhí)行 onLcdTextChange()。 */ void onLcdTextChange() { // 在此處添加代碼以作用于 LcdText 更改 String firstLine; 字符串第二行; if(lcdText.length()< 15){ firstLine = lcdText; } else if (lcdText.length() < 29){ firstLine = lcdText.substring(0, 15); secondLine = lcdText.substring(15, 29); } else{ firstLine = "消息太長"; } Serial.println(lcdText); lcd.clear(); lcd.setCursor(0,0); lcd.print(firstLine); lcd.setCursor(0,1); lcd.print(第二行); } |
總結:
一致發(fā)布此草稿后,您應該在 LCD 上閱讀它們的消息
-
顯示器
+關注
關注
21文章
4956瀏覽量
139848 -
lcd
+關注
關注
34文章
4414瀏覽量
167135 -
Arduino
+關注
關注
187文章
6464瀏覽量
186677
發(fā)布評論請先 登錄
相關推薦
評論