如何设置Arduino IoT将消息发送到云板显示器

描述

  该项目将向您展示如何设置 Arduino IoT 将消息发送到云板显示器(LCD)。

  该项目基于Project Hub 用户MicroBob 的项目

  该项目将您的显示器连接到Arduino IoT Cloud。最终结果是能够从Arduino IoT Cloud上的仪表板向LCD发送消息。

  您将需要一个与 IoT Cloud 积木的 Arduino 板,我们在此项目中使用 33 IoT。

  补给品

  Arduino Nano 33 上网或其他物联网云物板× 1

  Adafruit 标准 LCD - 16x2 白底蓝× 1

  电阻 220 欧姆 × 1

  面包板(通用) × 1

  Arduino物联网联网

  第一个连接线:

  面包有关您首先将如何连接到组件到连接步骤。将找到一个连接器和下面的分步步骤。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 物联网联网

  要开始执行此步骤,您将需要一些非常基本的 Arduino IoT Cloud 制造服务知识。如果您以前通过任何项目,请不要担心,您需要知道所有使用服务的知识。

  如果您是 Arduino 的入门教程,那么请一些时间学习入门页面,然后您就可以开始学习了。如果需要,还有物联网教程启动教程

  在云端,您需要创建一个新事物,并配置您的设备和网络。

  然后,你应该赋予一个变量。

显示器

  现在,您需要创建一个仪表板来向您的 Arduino 板发送消息。转到仪表板部分,并制作一个新的仪表板。

在里面,创建一个“信使”类型的小组件。然后你将它链接到你的“lcdText”变量需要。

现在,它不会做决定,我们还没有将他们发送到任何地方。因为你可以写地方消息,但不会做。

第 3 步代码:代码
对于这个项目,我们需要包含一个库来处理这个消息的繁重工作。除了这个之外,以及处理它们的正确拆解以适合显示的 2 行。我们将引导完成,如果您将它复制到您的完整过程中,但可以在底部找到 IDE。

您可以从合适的库开始,并立即传递给我们想要使用的相关信息。

通过将下面的代码行到东西 -> 选项卡中的草图的添加来完成这一点。

#include //导入LCD库
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
#define contra 9 //定义控制屏幕对比度的引脚
#define bri 10 //定义控制屏幕亮度的引脚

现在,屏幕上的所有内容传递给库,并开始很好地进行。并且我们准备好让我们准备好液晶显示器和已表达的愿望。

此外,我们已将 LCD 上的第一条消息打印到 LCD 上,以便您知道它正在准备好接收到云端的消息。

在 setup 函数中添加这些行,以便在开发板启动时运行一次。

 lcd.begin(16, 2); //告诉LCD这是一个16x2 LCD
    pinMode(contra, OUTPUT);
    pinMode(bri,输出);
    数字写入(相反,低);
    类比写入(布里,255);
    lcd.print("发送文本!");

循环函数将保持为无缘无故地运行代码,因此我们将在LcdTextChange函数中继续编写其他的更新代码,每次从仪表盘运行一次。

这也是我们将消息一分为二的地方,如果它显示太长而不能只在一行上,并检查它是否太长而根本无法。

我们将设置包含两个变量来展示我们的消息,然后我们将确定一个消息来显示我们是否需要一两行消息,以及一个没有条件的回传内容。 ! 将它传递下去,然后它太长了,然后我们可以随便加个文本给它两块好。

字符串第一行;
    字符串第二行;
    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 的变量也将具有
在从仪表板更改其值时调用的函数。
这些功能由 Thing 生成并添加到此草图的末尾。
*/
#include "thingProperties.h"
#include //导入LCD库
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
#define contra 9 //定义控制屏幕对比度的引脚
#define bri 10 //定义控制屏幕亮度的引脚
void setup() {
// 初始化串口并等待端口打开:
Serial.开始(9600); // 如果没有找到延迟(1500),
则此延迟提供了等待串行监视器而不阻塞的机会 lcd.begin(16, 2); //告诉LCD这是一个16x2 LCD pinMode(contra, OUTPUT); //将引脚 9 设置为 OUTPUT pinMode(bri, OUTPUT); //将pin 10设置为OUTPUT //pinMode-ing OUTPUT使指定的pin输出功率 digitalWrite(contra, LOW); /*不向对比引脚输出电源。 这可以让您看到单词*/







类比写入(布里,255);//向屏幕亮度 LED 输出全功率
lcd.print("Send text!");
// 定义在thingProperties.h
initProperties();
// 连接到 Arduino IoT Cloud
ArduinoCloud.begin(ArduinoIoTPreferredConnection);
/*
以下函数可让您获得更多
与网络和物联网云连接状态相关的信息,错误
数越高,您获得的信息越细。
默认值为 0(仅错误)。
最大值为 4
*/
setDebugMessageLevel(2);
ArduinoCloud.printDebugInfo();
}
无效循环() {
ArduinoCloud.update();
// 您的代码
}
/*
由于 LcdText 是 READ_WRITE 变量,因此
每次从 IoT Cloud 接收到新值时都会执行 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(第二行);
}

  总结:

  一致发布此草稿后,您应该在 LCD 上阅读它们的消息

显示器

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分