c语言sscanf函数的用法是什么
247
2022-11-13
构建一个带有LCD的自动洗手液分配器
冠状病毒 (Covid19) 正在世界范围内造成严重破坏。几乎每个国家都在遭受冠状病毒的折磨。世卫组织已经宣布它为大流行病,许多城市处于封锁状态,人们无法走出家门,数千人丧生。
所需组件
ESP32 开发模块
超声波传感器
16*2液晶显示器
继电器模块
迷你直流潜水泵
消毒洗手液
用于获取 Corona 实时数据的 API 链接
在这里,我们需要从互联网上获取数据,然后将其发送到 ESP32 以在 16x2 LCD 上显示。为此,将调用 HTTP 获取请求以从 Internet 读取 JSON 文件。在这里,我们使用的是冠状病毒病 GIS Hub提供的 API 。您可以轻松编译正确的查询 URL 以获取印度的确诊和康复病例总数,如果您想将其用于其他国家/地区,还可以更改国家/地区。
现在单击“立即尝试”或将查询 URL 粘贴到新浏览器中,该查询的输出将如下所示:
获取 JSON 数据后,现在生成代码以读取 JSON 数据并根据我们的需要对其进行短语处理。
现在向下滚动到解析程序并复制对您有用的代码部分。我复制了以下变量,因为我只需要印度确诊和康复的病例。
电路原理图
下面给出了这款Covid19 追踪器和自动洗手液分配器的完整电路图
下表给出了完整的连接。
这款运动传感器洗手液分配器的硬件如下所示
Auto Hand Sanitizer 和 CORONA19 Tracker的完整代码可在页面末尾找到。这里解释了程序的重要部分。
通过包含所有必需的库文件来启动代码。HTTPClient库用于从 HTTP 服务器获取数据。ArduinoJson库用于短语数据数组。这里 ArduinoJson 库用于过滤已确认的案例并从我们从服务器获取的数据数组中恢复。LiquidCrystal 库用于 LCD 显示模块。
const char* ssid = "银河-M20";const char* pass = "ac312124";
之后定义连接 LCD 模块、超声波传感器和继电器模块的引脚。
现在我们输入之前生成的 API 链接。使用此链接,我们将获得印度的确诊病例总数和康复病例总数。您可以根据自己的需要更改 URL 中的国家/地区名称。
现在在void setup()中,将超声波传感器的 Trig 和 Echo 引脚定义为输入引脚,将 Relay 引脚定义为输出。
pinMode(trigPin,输出);pinMode(echoPin,输入);pinMode(泵,输出);
要了解有关超声波传感器如何工作的更多信息,请查看其与 Arduino 的接口,我们已经解释了其 TRIG 和 ECHO 引脚的功能以及它如何用于计算任何物体之间的距离。另外,检查其他基于超声波的项目。
之后,检查 ESP 是否与 Wi-Fi 连接,如果没有,它将通过在串行监视器上打印“……”来等待 ESP 连接。
WiFi.开始(ssid,通过); 而(WiFi.status()!= WL_CONNECTED) { 延迟(500); Serial.print("."); //打印...直到没有连接 } Serial.println("WiFi 连接");
在void ultra()函数内部,我们将使用超声波传感器不断计算距离,如果距离小于或等于 15 厘米,它将打开泵 2 秒,将消毒剂通过管道推到外面。不知不觉中,当有人将手放在出水管下方时,距离会减小,并会触发泵启动。
无效超(){ 数字写入(trigPin,低); 延迟微秒(2); digitalWrite(trigPin, HIGH); 延迟微秒(10); 数字写入(trigPin,低); 持续时间=脉冲输入(回声针,高); 距离 = 持续时间 * 0.0340 / 2; Serial.println("距离"); Serial.println(距离); 如果(距离 <= 15){ Serial.print("开泵"); 数字写入(泵,高); 延迟(2000); 数字写入(泵,低); ESP.restart(); }}
现在在void loop()函数中,通过读取 JSON 文件并使用以下行在串行监视器上打印 JSON 数据来检查 ESP32 是否接收到 JSON 文件
之后,使用ArduinoJson Assistant 生成的分词程序。这个措辞程序将为我们提供印度确诊和康复病例的总数。
JsonArray 字段 = doc["fields"];JsonObject features_0_attributes = doc["features"][0]["attributes"];长 features_0_attributes_Last_Update = features_0_attributes["Last_Update"];int features_0_attributes_Confirmed = features_0_attributes[“已确认”];//int features_0_attributes_Deaths = features_0_attributes["Deaths"];int features_0_attributes_Recovered = features_0_attributes[“恢复”];
使用 Covid19 Tracker 测试自动洗手液
所以最后我们的电池供电的洗手液分配器已经准备好进行测试了。只需按照电路图连接硬件并将程序上传到 ESP32,在开始时您应该会在 LCD 上看到“Covid19 Tracker”和“Hand Sanitizer”消息,然后几秒钟后它会在屏幕上显示确认病例和恢复病例液晶屏如下图。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~