精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

構建一個帶有LCD的自動洗手液分配器

科技觀察員 ? 來源:circuitdigest ? 作者:Ashish Choudhary ? 2022-08-16 16:09 ? 次閱讀

冠狀病毒 (Covid19) 正在世界范圍內造成嚴重破壞。幾乎每個國家都在遭受冠狀病毒的折磨。世衛組織已經宣布它為大流行病,許多城市處于封鎖狀態,人們無法走出家門,數千人喪生。

在這個項目中,我們將構建一個帶有 LCD 的自動洗手液分配器,該 LCD 還顯示冠狀病毒病例的實時計數。該項目將使用 ESP32、超聲波傳感器、16x2 LCD 模塊、水泵和洗手液。我們正在使用Esri 的 API Explorer來獲取 Covid19 感染者的實時數據。超聲波傳感器用于檢查消毒機出口下方是否存在手。它將不斷計算消毒劑出口與自身之間的距離,并在距離小于 15 厘米時告訴 ESP 打開泵以將消毒劑推出。

所需組件

ESP32 開發模塊

超聲波傳感器

16*2液晶顯示器

繼電器模塊

迷你直流潛水泵

消毒洗手液

用于獲取 Corona 實時數據的 API 鏈接

在這里,我們需要從互聯網上獲取數據,然后將其發送到 ESP32 以在 16x2 LCD 上顯示。為此,將調用 HTTP 獲取請求以從 Internet 讀取 JSON 文件。在這里,我們使用的是冠狀病毒病 GIS Hub提供的 API 。您可以輕松編譯正確的查詢 URL 以獲取印度的確診和康復病例總數,如果您想將其用于其他國家/地區,還可以更改國家/地區。

poYBAGL7UICASzd8AAJCxq1MmoM308.png

現在單擊“立即嘗試”或將查詢 URL 粘貼到新瀏覽器中,該查詢的輸出將如下所示:

{“objectIdFieldName”:“OBJECTID”,“uniqueIdField”:{“name”:“OBJECTID”,“isSystemMaintained”:true},“globalIdFieldName”:“”,“geometryType”:“esriGeometryPoint”,“spatialReference”:{“ wkid”:4326,“latestWkid”:4326},“fields”:[{“name”:“Country_Region”,“type”:“esriFieldTypeString”,“alias”:“Country/Region”,“sqlType”:“sqlTypeOther ”,“length”:8000,“domain”:null,“defaultValue”:null},{“name”:“Province_State”,“type”:“esriFieldTypeString”,“alias”:“Province/State”,“sqlType ”:“sqlTypeOther”,“長度”:8000,“域”:null,“defaultValue”:null},{“name”:“Confirmed”,“type”:“esriFieldTypeInteger”,“alias”:“Confirmed”,“sqlType”:“sqlTypeOther”,“domain”:null,“defaultValue”:null },{“name”:“Recovered”,“type”:“esriFieldTypeInteger”,“alias”:“Recovered”,“sqlType”:“sqlTypeOther”,“domain”:null,“defaultValue”:null},{“ name”:“Deaths”,“type”:“esriFieldTypeInteger”,“alias”:“Deaths”,“sqlType”:“sqlTypeOther”,“domain”:null,“defaultValue”:null},{“name”:“活動”,“類型”:“esriFieldTypeInteger”,“別名”:“活動”,“sqlType”:“sqlTypeOther”,“domain”:null,“defaultValue”:null}],“features”:[{“attributes”:{“Country_Region”:“India”,“Province_State”:null,“Confirmed”:194,“Recovered ”:20,“Deaths”:4,“Active”:170}}]}

獲取 JSON 數據后,現在生成代碼以讀取 JSON 數據并根據我們的需要對其進行短語處理。

pYYBAGL7UHqANPYoAAUj21Q8Kug139.png

現在向下滾動到解析程序并復制對您有用的代碼部分。我復制了以下變量,因為我只需要印度確診和康復的病例。

pYYBAGL7UHaADFqiAAKQeiYOGCc515.png

電路原理

下面給出了這款Covid19 追蹤器和自動洗手液分配器的完整電路圖

pYYBAGL7UHKAKj0FAAEbBldZHB8248.png

水泵通過繼電器模塊連接到 ESP32。繼電器的 Vcc 和 GND 引腳連接到 ESP32 的 Vin 和 GND 引腳,而繼電器的輸入引腳連接到 ESP32 的 D19 引腳。超聲波傳感器的 Trig 和 Echo 引腳連接到 Arduino 的 D5 和 D18 引腳。

下表給出了完整的連接。

poYBAGL7UG-ABUlfAAAcFU3lyyQ573.png

這款運動傳感器洗手液分配器的硬件如下所示

poYBAGL7UFaAU-YzAAPkH2t2LP4739.png

為 Covid19 追蹤器編程 ESP32

Auto Hand Sanitizer 和 CORONA19 Tracker的完整代碼可在頁面末尾找到。這里解釋了程序的重要部分。

通過包含所有必需的庫文件來啟動代碼。HTTPClient庫用于從 HTTP 服務器獲取數據。ArduinoJson庫用于短語數據數組。這里 ArduinoJson 庫用于過濾已確認的案例并從我們從服務器獲取的數據數組中恢復。LiquidCrystal 庫用于 LCD 顯示模塊。

#include 
#include 
#include 
#include 

要從服務器獲取數據,NodeMCU ESP32 必須連接到互聯網。為此,請在以下行中輸入您的 Wi-Fi SSID 和密碼。

const char* ssid = "銀河-M20";
const char* pass = "ac312124";

之后定義連接 LCD 模塊、超聲波傳感器和繼電器模塊的引腳。

常量 int rs = 22, en = 4, d4 = 15, d5 = 13, d6 = 26, d7 = 21;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
常量 int trigPin = 5;
常量 int echoPin = 18;
常量 int 泵 = 19;

現在我們輸入之前生成的 API 鏈接。使用此鏈接,我們將獲得印度的確診病例總數和康復病例總數。您可以根據自己的需要更改 URL 中的國家/地區名稱。

constchar*url="https://services1.arcgis.com/0MSEUqKaxRlEPj5g/arcgis/rest/services/ncov_cases/FeatureServer/1/query?f=json&where=(Country_Region=%27India%27)&returnGeometry=false&outFields=Country_Region,Confirmed , 恢復";

現在在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 文件

int httpCode = https.GET();
  if (httpCode > 0) { //檢查返回碼
 字符串有效載荷 = https.getString();

之后,使用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”消息,然后幾秒鐘后它會在屏幕上顯示確認病例和恢復病例液晶屏如下圖。

poYBAGL7UEuAH4vKAARRO7onYi8254.png

#include

#include

#include

#include

const char* ssid = "Galaxy-M20";

const char* pass = "ac312124";

整數計數;

常量 int rs = 22, en = 4, d4 = 15, d5 = 13, d6 = 26, d7 = 21;

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

常量 int trigPin = 5;

常量 int echoPin = 18;

常量 int 泵 = 19;

持續時間長;

整數距離;

const char* url = " https://services1.arcgis.com/0MSEUqKaxRlEPj5g/arcgis/rest/services/ncov… ";

無效設置() {

Serial.begin(115200);

延遲(2000);

pinMode(trigPin,輸出);

pinMode(echoPin,輸入);

pinMode(泵,輸出);

數字寫入(泵,低);

lcd.begin(16, 2);

lcd.clear();

lcd.setCursor(0,0);

lcd.print("Covid19 追蹤器");

lcd.setCursor(0,1);

lcd.print("洗手液");

Serial.println("正在連接");

序列號.println(ssid);

WiFi.開始(ssid,通過);

而(WiFi.status()!= WL_CONNECTED)

{

延遲(500);

Serial.print("."); // 打印 ... 直到未連接

}

Serial.println("WiFi connected");

}

void ultra(){

digitalWrite(trigPin, LOW);

延遲微秒(2);

digitalWrite(trigPin, HIGH);

延遲微秒(10);

數字寫入(trigPin,低);

持續時間=脈沖輸入(回聲針,高);

距離 = 持續時間 * 0.0340 / 2;

Serial.println("距離");

Serial.println(距離);

if (distance <= 15){

Serial.print("開泵");

數字寫入(泵,高);

延遲(2000);

數字寫入(泵,低);

ESP.restart();

}

}

無效循環() {

超();

HTTP客戶端 https;

字符串數據;

https.開始(網址);

int httpCode = https.GET();

if (httpCode > 0) { //檢查返回碼

字符串有效載荷 = https.getString();

char charBuf[500];

payload.toCharArray(charBuf, 500);

//Serial.println(payload);

常量 size_t 容量 = JSON_ARRAY_SIZE(1) + JSON_ARRAY_SIZE(4) + JSON_OBJECT_SIZE(1) + 2 * JSON_OBJECT_SIZE(2) + JSON_OBJECT_SIZE(4) + 3 * JSON_OBJECT_SIZE(6) + 2 * JSON_OBJECT_SIZE(7) + 690;

DynamicJsonDocument doc(容量);

反序列化Json(文檔,有效載荷);

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[“恢復”];

if (count < 3){

//Serial.println(features_0_attributes_Confirmed);

lcd.setCursor(0, 0);

lcd.print("IN 確認:");

lcd.print(features_0_attributes_Confirmed);

//Serial.println(features_0_attributes_Recovered);

lcd.setCursor(0, 1);

lcd.print("IN 已恢復:");

lcd.print(features_0_attributes_Recovered);

}

if (count > 3){

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("洗手");

lcd.setCursor(0, 1);

lcd.print("避免接觸");

}

if (count > 6){

count = 0;

}

}

else {

Serial.println("HTTP 請求錯誤");

}

https.end();

計數++;

}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • lcd
    lcd
    +關注

    關注

    34

    文章

    4411

    瀏覽量

    167079
  • 分配器
    +關注

    關注

    0

    文章

    193

    瀏覽量

    25726
  • ESP32
    +關注

    關注

    17

    文章

    957

    瀏覽量

    17083
收藏 人收藏

    評論

    相關推薦

    基于ATTiny13的自動洗手液分配器

    ,因此必須正確有效地使用它們。在洗手液分配器的第二版本中,我已經解決了之前的設計問題,并引入了種對環境光不敏感且酒精/洗手液的流量控制能
    發表于 06-20 09:10

    DIY自動洗手液分配器

    感染的手接觸酒精容器或洗手液可能會將病毒傳播給下一個人。在本文中,我們將構建自動
    發表于 06-21 06:04

    構建自動洗手液分配器

    感染的手接觸酒精容器或洗手液可能會將病毒傳播給下一個人。在本文中,我們將構建自動
    發表于 08-17 06:59

    自制洗手液分配器

    使用這個洗手液分配器之后,你就可以通過洗手和手消毒來對抗 COVID-19 的簡單而有效的方法,無需接觸瓶子!
    的頭像 發表于 07-08 17:47 ?1767次閱讀
    自制<b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>洗手液</b><b class='flag-5'>分配器</b>

    使用ATTiny13自動洗手液分配器

    電子發燒友網站提供《使用ATTiny13自動洗手液分配器.zip》資料免費下載
    發表于 07-19 11:23 ?1次下載
    使用ATTiny13<b class='flag-5'>自動</b><b class='flag-5'>洗手液</b><b class='flag-5'>分配器</b>

    DIY自動洗手液分配器 無需Arduino或MCU

    電子發燒友網站提供《DIY自動洗手液分配器 無需Arduino或MCU.zip》資料免費下載
    發表于 07-18 15:57 ?1次下載
    DIY<b class='flag-5'>自動</b><b class='flag-5'>洗手液</b><b class='flag-5'>分配器</b> 無需Arduino或MCU

    DIY洗手液/酒精分配器的PCB設計

    構建自動洗手液分配器,它使用 IR 傳感器檢測手的存在并啟動泵將液體倒在手上。目的是找到最便
    發表于 07-27 11:15 ?1723次閱讀
    DIY<b class='flag-5'>洗手液</b>/酒精<b class='flag-5'>分配器</b>的PCB設計

    無需Arduino或MCU DIY自動洗手液分配器

    電子發燒友網站提供《無需Arduino或MCU DIY自動洗手液分配器.zip》資料免費下載
    發表于 07-28 11:09 ?0次下載
    無需Arduino或MCU DIY<b class='flag-5'>自動</b><b class='flag-5'>洗手液</b><b class='flag-5'>分配器</b>

    消毒洗手液分配器開源分享

    電子發燒友網站提供《消毒洗手液分配器開源分享.zip》資料免費下載
    發表于 11-09 09:38 ?1次下載
    消毒<b class='flag-5'>洗手液</b><b class='flag-5'>分配器</b>開源分享

    免提洗手液分配器開源

    電子發燒友網站提供《免提洗手液分配器開源.zip》資料免費下載
    發表于 11-28 11:35 ?0次下載
    免提<b class='flag-5'>洗手液</b><b class='flag-5'>分配器</b>開源

    免接觸式洗手液分配器開源分享

    電子發燒友網站提供《免接觸式洗手液分配器開源分享.zip》資料免費下載
    發表于 11-30 11:59 ?4次下載
    免接觸式<b class='flag-5'>洗手液</b><b class='flag-5'>分配器</b>開源分享

    易于構建洗手液分配器 無需Arduino或MCU

    電子發燒友網站提供《易于構建洗手液分配器 無需Arduino或MCU.zip》資料免費下載
    發表于 12-15 11:04 ?0次下載
    易于<b class='flag-5'>構建</b>的<b class='flag-5'>洗手液</b><b class='flag-5'>分配器</b> 無需Arduino或MCU

    基于Arduino UNO的洗手液自動分配器

    方案介紹該設備能夠檢測您的手的存在并自動向您的手釋放特定量的洗手液/消毒劑。自動洗手液分配器,當放置在距離測量傳感器(超聲波傳感器)下時,可
    發表于 12-19 17:04 ?0次下載

    如何制作低成本但全自動洗手液分配器電路

    在本文中,我們將學習如何制作低成本但全自動洗手液分配器電路,該電路將允許在用戶手上以非接觸式或非接觸式分配消毒液。
    的頭像 發表于 05-29 17:36 ?1574次閱讀
    如何制作低成本但全<b class='flag-5'>自動</b>的<b class='flag-5'>洗手液</b><b class='flag-5'>分配器</b>電路

    自動洗手分配器開源設計

    電子發燒友網站提供《自動洗手分配器開源設計.zip》資料免費下載
    發表于 06-30 09:33 ?0次下載
    <b class='flag-5'>自動</b><b class='flag-5'>洗手</b><b class='flag-5'>分配器</b>開源設計