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

電子發燒友App

硬聲App

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

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>通過WiFi網絡控制Arduino汽車

通過WiFi網絡控制Arduino汽車

2023-02-03 | zip | 0.46 MB | 次下載 | 免費

資料介紹

描述

該項目展示了如何連接到 WiFi 網絡、打開 Web 瀏覽器、連接到服務器并從一個簡單的界面控制您的汽車。

UNO R3 + WIFI ESP8266 + CH340G Arduino和WIFI單板

該項目的核心是 Arduino ESP8266 WiFi 開發板。該板在單一平臺上結合了 ATMega328 微控制器和 ESP8266 WiFi 芯片,兩者之間具有串行通信。

有關如何配置和編程該板的詳細說明,請參閱我之前的一篇帖子。

控制流程框圖

下面是一個高級框圖:

blockflowdiagram_bzUtPAh7mM.png?auto=compress%2Cformat&w=740&h=555&fit=max

流程圖

ESP8266 能夠配置為軟接入點并啟動自己的無線網絡。用戶設備連接到該網絡,然后可以使用 ESP8266 提供的網頁通過 ESP8266 和 ATMega328 向汽車發送命令。

這篇文章的其余部分將詳細介紹這些步驟。

第一——汽車

該項目使用兩輪汽車。這些汽車的套件可從多個來源獲得。這是高級物料清單:

兩輪驅動套件,包括電機、底盤、各種螺絲和螺母、車輪和車輪編碼器。

UNO R3 + WIFI ESP8266 + CH340G Arduino和WIFI單板

L298N電機驅動橋板

2 x HC-020K 編碼器模塊

4 x ICR16340 鋰離子電池和電池座

切換開/關開關

無線天線

連接線

本文不包括如何制造汽車的描述;互聯網上有很多資源可以解釋所需的步驟。

成品車如下:

img_3641_4IliUhwScq.jpg?auto=compress%2Cformat&w=740&h=555&fit=max

1號車

img_3643_8OTJsTlsBu.jpg?auto=compress%2Cformat&w=740&h=555&fit=max

車2

整車電路圖如下:

schematicdiagram_Gy4WnIxRhh.png?auto=compress%2Cformat&w=740&h=555&fit=max

原理圖

配置上只需要注意幾點:

該車采用并聯/串聯配置的四節 ICR16340 700 mAh 鋰離子電池。這些串聯的兩個電池在充滿電時提供大約 8 V 的電壓,這足以驅動電機和并聯的 wifi/控制器電池可能會出現問題(您可以獲得循環電流),作為替代方案,ICR16340 電池的容量為 2800 mAh版本——其中兩個串聯應該足以為汽車提供動力。

電機控制由 L298N 橋驅動器模塊執行。同樣,有大量資源可以解釋它們的運行方式以及如何連接電機和控件。

該電路使用數字引腳 5 和 6 將 PWM 輸出到 L298N 板以控制電機速度。它們連接到 L298N 板的 ENa 和 ENb。引腳 4、7、8 和 9 用于打開和關閉電機。

該電路包括兩個 HC-020K 編碼器模塊。這些未在代碼中專門使用,但可用于提供速度或距離反饋。

根據您的具體接線方式,可能需要調換電機引線以獲得一致的方向。此外,HC-020K 編碼器模塊必須與軟件中的正確電機配對(如果使用)。這可以通過交換中斷 2 和 3 或調整軟件來實現。

ESP8266 作為接入點和 Web 服務器

ESP8266 可配置為無線接入點和網絡服務器。此外,它還可以設置為DNS 服務器。這允許客戶端使用本地 URL 訪問 Web 服務器。

在對 ESP8266 進行編程之前,您必須確保您使用的 Arduino IDE 已配置為執行此類編程。Internet 上有許多文章解釋了如何執行此操作。搜索“來自 Arduino IDE 的程序 ESP8266”將提供許多結果。

基本步驟如下:

在 File → Preferences 中,將 url 添加到 Additional Boards Manager:http ://arduino.esp8266.com/stable/package_esp8266com_index.json

在 Tools → Boards → Boards Manager 下,搜索 ESP8266 并安裝最新版本的“ESP8266 by ESP8266 Community”

完成此操作后,您應該在 Tools→Board 下為 ESP8266 Boards 提供一個選項。選擇通用 ESP8266 模塊。

用于設置 Wifi、Web 服務器和 DNS 的相關 Arduino 庫是:

ESP8266WiFi.h

ESP8266WebServer.h

ESP8266mDNS.h

這些是作為設置 IDE 以對上述 ESP8266 進行編程的一部分安裝的。

以下是將 ESP8266 配置為軟接入點的相關代碼片段。

?

#include 
const char *ssid = "ESP8266Network"; // The name of the Wi-Fi network that will be created
const char *password = "1234567890";   // Password for WiFi network. Must be more than 8 characters

void setup() {
  WiFi.softAP(ssid, password); // Start the access point
{

?

上面的代碼會將 ESP8266 設置為接入點,客戶端可以連接到它,但不會發生其他任何事情。首先,讓我們配置 mDNS 服務器以允許更輕松的 URL 訪問。

下面的代碼片段:

?

#include 

MDNS.begin("esp8266");

void loop() {
  MDNS.update();
}

?

一旦客戶端連接到 ESP8266 接入點,Web 瀏覽器就可以使用 URL http://esp8266.local/ 來訪問 ESP8266。更改 begin() 指令中的參數“esp8266”將更改 URL。

設置網絡服務器的相關代碼片段如下:

?

#include 

ESP8266WebServer server(80);

void setup() {
  server.onNotFound(handlerRoutine);
  server.on(“URL”, handlerRoutine);
  server.begin();
}

void loop() {
  server.handleClient();
}

?

其中 handlerRoutine 是一個子例程,當從客戶端收到請求時執行各種操作。

ESP8266 板載文件系統

ESP8266 的另一個特點是它有一個板載文件系統,串行外設接口閃存文件系統 (SPIFFS),可用于存儲文件。在我們的例子中,我們可以使用它來存儲提供給連接的客戶端的 html 文件。此功能的相關庫是:

FS.h

要在 Arduino IDE 中啟用此功能,需要一個插件:Filesystem uploader。

首先,確保安裝了最新的 Arduino IDE,并且如前所述,您有用于 Arduino IDE 的 ESP8266 插件。

然后按照以下任一鏈接中的說明進行操作:

https://randomnerdtutorials.com/install-esp8266-filesystem-uploader-arduino-ide/

https://github.com/esp8266/arduino-esp8266fs-plugin

這兩個鏈接都顯示了安裝插件后如何使用文件系統上傳器。

現在——HTML 代碼

一旦將 ESP8266 設置為 Web 服務器,相關的 html 頁面必須在連接后提供給客戶端。按照慣例,此文件標記為 index.html。要理解此文件,需要了解 html 代碼。

一些解釋:

該文件定義了一個頁面,由四個按鈕(FWD、RIGHT、LEFT、BACK)和一個速度滑塊組成。

按下按鈕會導致它改變顏色并向 ESP8266 網絡服務器發送 GET 請求

Web 服務器將處理 GET 請求并使用它與 ATMega328 通信以控制汽車

更改速度滑塊將啟動 POST 請求,該請求將用于設置速度值。

完整文件(帶注釋)可以在本文的代碼部分找到。最終頁面如下:

htmlpage_qyEt6qTHNG.png?auto=compress%2Cformat&w=740&h=555&fit=max

ESP8266與ATMega328通信

如前所示,ESP8266 和 ATMega328 之間的通信是通過串口進行的。要啟用此通信,板載 DIP 開關必須設置如下:

將 dip 開關設置為模式 4(SW1 和 SW2 打開,所有其他關閉)

ESP8266 將 1 到 8 之間的單個字符發送到 ATMega328 以指定電機動作。完整代碼如下:

?

// FWD Activate
    case '1':
    forwardOn();    
    break;
// FWD Stop
    case '2':
    motorsOff();
    break;
// LEFT Activate
    case '3':
    leftOn();
    break;
// LEFT Stop
    case '4':
    motorsOff();
    break;
// RIGHT Activate
    case '5':
    rightOn();
    break;
//RIGHT Stop
    case '6':
    motorsOff();
    break;
// BACK Activate
    case '7':
    backOn();
    break;
// BACK Stop
    case '8':
    motorsOff();

?

速度值作為第一個字符為“s”的字符串發送。然后代碼從字符串中去除 s 并進行字符串到整數的轉換以設置電機速度。

把它們放在一起

以下是構建完整項目的簡要說明:

造車

使用 Arduino IDE 中的 Boards Manager 選擇 Generic ESP8266 模塊

將 index.html 文件上傳到 ESP8266(DIP 開關 5、6、7 上所有其他關閉),然后重置處理器

上傳ESP8266程序

斷開電源并將 DIP 開關設置為 ATMega328(所有其他的 DIP 開關 3、4 關閉)

上傳Arduino程序(在Boards manager中選擇Arduino UNO后)

斷開電源并將 DIP 開關設置為內部通信(DIP 開關 1、2 在所有其他關閉)

啟動汽車

將平板電腦、智能手機或筆記本電腦無線連接到“ESP8266Network”

從連接的平板電腦、智能手機或筆記本電腦,打開 URL http://esp8266.local/

使用界面駕駛汽車

最后的話

這個項目匯集了一些不同的技能。希望它具有挑戰性。

可以使用像 Node MCU 這樣的單個 ESP8266 板來實現所有這些功能,但這將是一個單獨的項目。

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費