ESP32CAM物聯網教學03

ESP32CAM物聯網教學03

物聯網小車

小智突發奇想:要是我在點燈物聯APP中多增加幾個按鈕,控制小車的行駛方向,不就可以做成遙控小車了嗎?

  • 點燈物聯控制小車的行駛方向

我們可以重新編輯點燈物聯APP中的設備控件界面,如圖所示,在界面中增加五個按鈕,分別控制著小車的前進、左轉、停止、右轉、后退,這樣是不是能變成遙控小車呢?

(五個方向按鈕的鍵名分別命名為:btn-ff、btn-ll、btn-ss、btn-rr、btn-bb,這些鍵名在后面的米思齊編程中需要逐一用到; 按鈕的類型為按鍵按鈕)

  • 拼裝物聯網遙控小車

遙控小車可以選購現成的小車底座。

當然也可以選用樂高積木,然后自己根據想象進行自由的拼裝。下面這些是拼裝小車所必須的零部件,可以一一從網上購買(購買這些大約需要100元左右,比起購買現成的小車底座要貴了不少,但是這種自由拼裝的方式,可操作性強一些,而且特別適合小孩自己玩)

??? 經過一番折騰,你就能創造出專屬于自己的一輛小車了,這兩小車也是全網唯一的一輛,拼裝完成后,成就感爆棚。特別是到了我們課程的最后,我們會不斷地給這兩小車增加一些功能,相信這是你擁有的最靚的、最智能的一輛小車了。

  • 小車的電路連接

首先,我們通過查閱淘寶上面的商品介紹信息,可以了解到L298n電機驅動板的引腳配置信息,可以看出這塊點擊驅動板可以同時驅動A、B兩個電機,由四個邏輯端口進行驅動。ESP32Cam左側的端口本來是用于TF存儲卡的,因為我們沒有用到TF存儲卡,所以這幾個端口是可以用來作為輸入或輸出端口使用的。

??? 我們利用杜邦線對小車的各個設備進行連接,接線圖如下,2節1860電池差不多可以提供8—9V的電源電壓,直接接入L298n,給驅動板和電機供電;這塊驅動板自帶5V調壓芯片,可以輸出5V的電源給ESP32Cam使用;ESP32Cam的12、13、15、14這四個端口,分別連接點擊驅動板的邏輯控制端口。

  • 編寫ESP32Cam的小車控制程序

ESP32Cam的控制程序還是用米思齊的積木塊編寫。

我們在前面的點燈程序基礎上,復制了五個按鍵積木組合,每一個按鍵積木的組件名稱和對應的鍵名各不相同:組件名稱分別用Button1——Button5一一區分。所對應的鍵名,和前面的手機APP中命名的一致,btn-ff表示小車前進forward;btn-bb表示小車后退back;btn-ss表示小車停止stop;btn-ll表示小車左轉left;btn-rr表示小車右轉right。

左右兩個電機分別由兩組邏輯端口控制,左邊的電機由ESP32Cam的12、13號端口控制,右邊的電機由ESP32Cam的15、14號端口控制。

L298n采用的是H橋放大的工作原理,當12號端口為高,13號端口為低時,對應的左邊電機的兩個輸出端口,一個為高電平,一個為低電平,兩個端口的不同電勢差,在電機內部形成了正向電流,電機正向轉動,小車就前進了。相反,當12號端口為低,13號端口為高時,兩個端口的不同電勢差正好相反,在電機內部形成了反向電流,電機反向轉動,小車就后退了。當12號和13號端口同時為低時(或同時為高),對應的兩個端口則同時為低電平(或同時為高電平),兩個端口之間沒有電勢差,電流也無法流過電機內部,電機停止轉動,小車就停止了。

根據電機驅動原理,我們簡化了按鍵組件的驅動程序,當用戶在手機APP中按動不同方向按鍵使,讓ESP32Cam控制著左右電機的轉動方向,讓小車動起來。當左右兩個電機同時正向轉動是,小車就前進;同時反向轉動時,小車就倒退;左邊正轉右邊反轉時,就是右轉;左邊反轉右邊正轉時,就是左轉了。

溫馨提醒:

因為這個電機的轉速還是挺高的,所以我們選用點觸驅動的方法,即當用戶按動一次前進按鈕時,我們讓電機轉動了1秒就停下來,如果需要繼續前進,則需要繼續按一次按動前進按鈕。

因為電機的速度挺高的,如果不是采用這種點觸控制,而是采用連續控制的話(比如按動前進按鈕,小車就一直前進,在接收到用戶的下一個操作命令之前,一直處于前進的狀態),這樣小車會處于失控的狀態的,遙控的效果不好。當然,如果電機的速度慢,則可以使用連續控制了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/39162.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/39162.shtml
英文地址,請注明出處:http://en.pswp.cn/web/39162.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

自定義控件之動畫篇(六)——聯合動畫的代碼及xml實現

在Android中,聯合動畫(即組合多種類型的動畫)可以通過編寫Java/Kotlin代碼或XML資源文件來實現。這里我們將分別展示如何通過這兩種方式來實現一個簡單的自定義控件動畫,該動畫將包含平移和縮放效果。 1. XML 資源文件實現 首先…

AI學習指南機器學習篇-梯度提升樹模型應用與Python實踐

AI學習指南機器學習篇-梯度提升樹模型應用與Python實踐 機器學習領域中的梯度提升樹(Gradient Boosting Tree)模型是一種非常強大且廣泛應用的模型,它在各種數據類型和問題類型上都表現出色。在本篇博客中,我們將介紹如何使用Pyt…

開關電源中強制連續FCCM模式與輕載高效PSM,PFM模式優缺點對比筆記

文章目錄 前言一、連續FCCM模式優點:缺點: 二,輕載高效PSM,PFM優點:缺點: 總結 前言 今天我們來學習下開關電源中,強制連續FCCM模式與輕載高效PSM,PFM模式優缺點對比 一、連續FCCM模式 優點: …

mac中如何恢復因為破解腳本導致的IDEA無法啟動的問題

問題 為了在mac中安裝免費的2024版idea,導致下載了一個腳本,使用這個腳本后,但是發現idea還沒有破解,相反導致idea無法啟動,每次點擊,都會彈出“cannot start IDE…” 問題排查 在訪達中點擊mac的應用程…

docker -run hello-world超時

主要原因就是嘗試拉取庫的時候沒有從阿里云鏡像里拉&#xff0c;所以設置一下就好了 這里使用的是ubuntu系統&#xff08;命令行下逐行敲就行了&#xff09; sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors": [&quo…

什么是生成式人工智能

什么是生成式人工智能 生成式人工智能生成式人工智能的特點生成式人工智能的工作原理生成式人工智能的類型生成式人工智能面臨的挑戰數據要求訓練復雜性控制輸出道德問題監管障礙 生成式人工智能 生成式人工智能是指旨在生成書面文本、音頻、圖像或視頻形式的新內容的人工智能…

Adobe Acrobat添加時間戳服務器

文章目錄 前言一、Adobe Acrobat添加時間戳服務器1.打開Adobe Acrobat軟件2.點擊【菜單】→ 【首選項】3.點擊【安全性】→【更多】4.點擊【新建】5.輸入【名稱】→【服務器URL】 前言 一、Adobe Acrobat添加時間戳服務器 1.打開Adobe Acrobat軟件 2.點擊【菜單】→ 【首選項…

模擬退火算法1——簡介

模擬退火算法來源于固體退火原理&#xff0c;將固體加溫至充分高&#xff0c;再讓其徐徐冷卻&#xff0c;加溫時&#xff0c;固體內部粒子隨溫升變為無序狀&#xff0c;內能增大&#xff0c;而徐徐冷卻時粒子漸趨有序&#xff0c;在每個溫度都達到平衡態&#xff0c;最后在常溫…

[C++][設計模式][訪問器]詳細講解

目錄 1.動機2.模式定義3.要點總結4.代碼感受1.代碼一2.代碼二 1.動機 在軟件構件過程中&#xff0c;由于需求的變化&#xff0c;某些類層次結構中常常需要增加新的行為(方法)&#xff0c;如果直接在基類中做這樣的更改&#xff0c; 將會給子類帶來很繁重的變更負擔&#xff0c…

加密基本知識:密鑰、簽名、證書

一、密碼(clpher) 是一種用于加密或者解密的算法 密碼學中的密碼&#xff08;cipher&#xff09;和我們日常生活中所說的密碼不太一樣&#xff0c;計算機術語『密碼 cipher』是一種用于加密或者解密的算法&#xff0c;而我們日常所使用的『密碼 password』是一種口令&#xff…

數據恢復篇:5 款最佳 Mac 數據恢復軟件

說到保護我們的數字生活&#xff0c;數據恢復軟件的重要性怎么強調都不為過。無論您是意外刪除了假期照片的普通用戶&#xff0c;還是面臨硬盤損壞的專業人士&#xff0c;隨之而來的恐慌都是普遍存在的。幸運的是&#xff0c;數據恢復工具可以緩解這些壓力。在Mac用戶可用的眾多…

搜維爾科技:使用Manus VR手套和ART光學追蹤功能實現虛擬場景工業仿真操作

&#xff1a;使用Manus VR手套和ART光學追蹤功能實現虛擬場景工業仿真操作 搜維爾科技&#xff1a;使用Manus VR手套和ART光學追蹤功能實現虛擬場景工業仿真操作

Android C++系列:JNI中的線程操作

Java中創建線程三種方式: 繼承Thread類創建線程類;通過Runnable接口創建線程類;通過Callable和Future創建線程。Native 中支持的線程標準是 POSIX 線程,它定義了一套創建和操作線程的 API 。 我們可以在 Native 代碼中使用 POSIX 線程,就相當于使用一個庫一樣,首先需要包…

android中獲取視頻的預覽圖

1.將視頻導入raw文件中&#xff08;轉為bitmap圖像&#xff09; MediaMetadataRetriever 類主要用于從本地文件或者網絡上的文件獲取元數據信息&#xff0c;例如視頻的幀圖像、持續時間等&#xff0c;并不支持直接從網絡地址獲取視頻幀 MediaMetadataRetriever retriever new…

zabbix小白入門:從SNMP配置到圖形展示——以IBM服務器為例

作者 樂維社區&#xff08;forum.lwops.cn&#xff09;許遠 在運維實踐中&#xff0c;Zabbix作為一款強大的開源監控工具&#xff0c;被廣泛應用于服務器、網絡設備和應用程序的監控&#xff0c;成為保障業務連續性和高效運行的關鍵。然而&#xff0c;對于Zabbix的初學者來說&a…

FactoryBean 原理簡介

FactoryBean 首先是一個工廠類&#xff0c;它可以生產指定的Bean&#xff0c;特殊之處在于它可以向Spring容器中注冊兩個Bean&#xff0c;一個是它本身&#xff0c;一個是FactoryBean.getObject()方法返回值所代表的Bean。通過實現 FactoryBean 接口&#xff0c;你可以控制某個…

線程和進程的區別及應用場景

線程和進程的區別及應用場景 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01;今天我們將深入探討計算機中兩個重要的概念&#xff1a;線程和進程。這兩者在操作系…

人工智能--循環神經網絡

個人主頁&#xff1a;歡迎來到 Papicatch的博客 課設專欄 &#xff1a;學生成績管理系統 專業知識專欄&#xff1a; 專業知識 文章目錄 &#x1f349;引言 &#x1f349;概述 &#x1f348;基本概念 &#x1f34d;定義 &#x1f34d;結構 &#x1f34c;輸入層 &#…

行業模板|DataEase旅游行業大屏模板推薦

DataEase開源數據可視化分析工具于2022年6月發布模板市場&#xff08;https://templates-de.fit2cloud.com&#xff09;&#xff0c;并于2024年1月新增適用于DataEase v2版本的模板分類。模板市場旨在為DataEase用戶提供專業、美觀、拿來即用的大屏模板&#xff0c;方便用戶根據…

探索編程世界的奇妙之旅

在這個數字化時代&#xff0c;編程&#xff0c;這一曾經看似高深莫測的技能&#xff0c;正逐漸滲透到我們生活的方方面面。從智能手機上的應用程序&#xff0c;到自動駕駛的汽車&#xff0c;再到支撐互聯網運行的龐大服務器集群&#xff0c;背后都離不開編程的力量。今天&#…