女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

人臉和手勢識(shí)別模組 用BW21-CBV-Kit設(shè)計(jì)洗衣機(jī)遠(yuǎn)程控制面板

AIoT行業(yè)洞察 ? 來源:AIoT行業(yè)洞察 ? 作者:AIoT行業(yè)洞察 ? 2025-07-15 14:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

以下作品由安信可社區(qū)用戶

無垠的廣袤制作

本文介紹了安信可 BW21-CBV-Kit 開發(fā)板結(jié)合擴(kuò)展板,實(shí)現(xiàn)了基于 HTTP 協(xié)議的洗衣機(jī)網(wǎng)頁控制面板,可模擬遠(yuǎn)程控制洗衣機(jī)的運(yùn)行、暫停和停止?fàn)顟B(tài),并通過 OLED 實(shí)時(shí)顯示洗衣機(jī)狀態(tài)。

項(xiàng)目介紹

HTTP 網(wǎng)頁發(fā)送指令,實(shí)現(xiàn)遠(yuǎn)程控制洗衣機(jī)運(yùn)行狀態(tài)且驅(qū)動(dòng)OLED實(shí)時(shí)顯示。

硬件連接
流程圖
工程代碼
效果演示

硬件連接

該項(xiàng)目是模擬洗衣機(jī)控制,因此硬件方面僅使用 OLED 顯示屏。

wKgZO2h19mKAALL0AADd8xawU80516.jpg

若要對(duì)外設(shè)進(jìn)行實(shí)際控制,可在相關(guān)代碼模塊中添加對(duì)應(yīng)的 GPIO 操作。

流程圖

wKgZPGh19mOADeHAAACprVoXoIM583.jpg

工程代碼

打開 Arduino IDE ,新建工程并添加如下代碼

#include
#include
#include
#include
#include
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
// Washer state
enum WasherState {
IDLE,
WASHING,
RINSING,
SPINNING,
DONE,
PAUSED
};
const char* stateNames[] = {
"Standby",
"Washing",
"Rinsing",
"Spinning",
"Completed",
"Paused"
};
WasherState currentState = IDLE;
int remainingTime = 0; // second
unsigned long lastUpdateTime = 0;
// WiFi credentials
char ssid[] = "xxx";
char password[] = "xxx";
WiFiServer server(80);
void setup() {
Serial.begin(115200);
// Initialize OLED
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
display.display();
delay(2000);
display.clearDisplay();
// Connect to WiFi
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
server.begin();
Serial.println("HTTP server started");
updateDisplay();
}
void loop() {
WiFiClient client = server.available();
if (client) {
Serial.println("New client connected");
String currentLine = "";
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);
if (c == 'n') {
if (currentLine.length() == 0) {
// Send HTTP headers
client.println("HTTP/1.1 200 OK");
client.println("Content-type:text/html");
client.println("Connection: close");
client.println();
// Send HTML content
client.print(" ");
client.print(" ");
client.print(" body{font-family:Arial;text-align:center;margin:0 auto;padding:20px;max-width:400px;}");
client.print(".btn{background-color:#4CAF50;border:none;color:white;padding:15px 32px;text-align:center;");
client.print("text-decoration:none;display:inline-block;font-size:16px;margin:4px 2px;cursor:pointer;border-radius:8px;width:150px;}");
client.print(".status{font-size:24px;margin:20px 0;padding:10px;background-color:#f0f0f0;border-radius:8px;}");
client.print(".btn-container{display:flex;flex-direction:column;align-items:center;gap:10px;} ");
client.print("

Washer Control Panel

");
client.print("

Current Status: ");
client.print(stateNames[currentState]);
client.print("

");
client.print("Start");
client.print("Pause");
client.print("Stop");
client.print("

");
break;
} else {
// Process requests
if (currentLine.startsWith("GET /start")) {
handleStart();
} else if (currentLine.startsWith("GET /pause")) {
handlePause();
} else if (currentLine.startsWith("GET /stop")) {
handleStop();
}
currentLine = "";
}
} else if (c != 'r') {
currentLine += c;
}
}
}
client.stop();
Serial.println("Client disconnected");
}
// Update washer state
if (currentState != IDLE && currentState != DONE && currentState != PAUSED) {
if (millis() - lastUpdateTime >= 1000) { // Update every second
lastUpdateTime = millis();
remainingTime--;
// State transition logic
if (remainingTime <= 0) {
currentState = DONE;
} else if (currentState == WASHING && remainingTime <= 20) {
currentState = RINSING;
} else if (currentState == RINSING && remainingTime <= 10) {
currentState = SPINNING;
}
updateDisplay();
}
}
}
void updateDisplay() {
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.println("Washer Status: ");
display.setTextSize(2);
display.setCursor(0, 16);
display.println(stateNames[currentState]);
display.setTextSize(1);
display.setCursor(0, 40);
display.print("IP: ");
display.println(WiFi.localIP());
if (currentState != IDLE && currentState != DONE) {
display.setCursor(0, 52);
display.print("Time left: ");
display.print(remainingTime);
display.println("s");
}
display.display();
}
void handleStart() {
if (currentState == IDLE || currentState == DONE) {
currentState = WASHING;
remainingTime = 30; // 30 seconds (simulating 30 minutes)
lastUpdateTime = millis();
Serial.println("Washer started");
} else if (currentState == PAUSED) {
currentState = WASHING; // Simplified - should resume previous state
lastUpdateTime = millis();
Serial.println("Washer resumed");
}
updateDisplay();
}
void handlePause() {
if (currentState == WASHING || currentState == RINSING || currentState == SPINNING) {
currentState = PAUSED;
Serial.println("Washer paused");
}
updateDisplay();
}
void handleStop() {
if (currentState != IDLE) {
currentState = IDLE;
remainingTime = 0;
Serial.println("Washer stopped");
}
updateDisplay();
}

保存工程,設(shè)備選擇 AMB82-MINI 開發(fā)板,選擇串口對(duì)應(yīng)的端口號(hào);

按住 BOOT 鍵的同時(shí),短按 EN 鍵,使設(shè)備進(jìn)入下載模式;

點(diǎn)擊 上傳 按鈕,待上傳完成,短按 EN 鍵復(fù)位并運(yùn)行程序。

效果演示

串口打印網(wǎng)頁服務(wù)器 ip 地址 192.168.31.111

wKgZO2h19mOAWdIzAADfOn4vjO4124.jpg

網(wǎng)頁端

打開瀏覽器輸入開發(fā)板 ip 地址,進(jìn)入洗衣機(jī)控制面板。

停止?fàn)顟B(tài)

wKgZPGh19mSATdCiAABQcge0UPA447.jpg

暫停狀態(tài)

wKgZO2h19mSAdrYeAABKGTBeoVE534.jpg

洗滌狀態(tài)

wKgZPGh19mWABY6FAABMjlXGAbI221.jpg

OLED狀態(tài)顯示

點(diǎn)擊網(wǎng)頁的按鈕即可進(jìn)入相應(yīng)的工作狀態(tài),同時(shí) OLED 顯示當(dāng)前狀態(tài)。

wKgZO2h19mWAJyDjAADD1gcKqCM450.jpg

動(dòng)態(tài)演示

wKgZPGh19mWAPRXpAABituhueFI251.jpg

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 手勢識(shí)別
    +關(guān)注

    關(guān)注

    8

    文章

    228

    瀏覽量

    48287
  • 遠(yuǎn)程控制
    +關(guān)注

    關(guān)注

    4

    文章

    672

    瀏覽量

    35852
  • WIFI
    +關(guān)注

    關(guān)注

    81

    文章

    5404

    瀏覽量

    208293
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5679

    瀏覽量

    104629
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    小安派BW21-CBV-Kit開發(fā)板教程——I2C之主機(jī)掃描設(shè)備

    該示例將掃描 I2C 總線,查找連接到 BW21-CBV-Kit 的設(shè)備。找到設(shè)備后,串行監(jiān)視器上將顯示該設(shè)備的地址。
    的頭像 發(fā)表于 04-15 09:29 ?1195次閱讀
    小安派<b class='flag-5'>BW21-CBV-Kit</b>開發(fā)板教程——I2C之主機(jī)掃描設(shè)備

    小安派BW21-CBV-Kit入門教程之主機(jī)模式讀取Arduino UNO從機(jī)

    作為一款本地AI圖象識(shí)別開發(fā)板,BW21-CBV-Kit它能夠獨(dú)自運(yùn)行目標(biāo)識(shí)別模型。2.4GHz+5GHz的雙頻Wi-Fi,提供高性能的無線傳輸能力,讓圖象傳輸更加流暢。豐富的接口,搭配著AI
    的頭像 發(fā)表于 05-21 15:38 ?560次閱讀
    小安派<b class='flag-5'>BW21-CBV-Kit</b>入門教程之主機(jī)模式讀取Arduino UNO從<b class='flag-5'>機(jī)</b>

    小安派BW21-CBV-Kit入門教程之讀取DHT溫濕度傳感器

    作為一款本地AI圖象識(shí)別開發(fā)板,BW21-CBV-Kit它能夠獨(dú)自運(yùn)行目標(biāo)識(shí)別模型。2.4GHz+5GHz的雙頻Wi-Fi,提供高性能的無線傳輸能力,讓圖象傳輸更加流暢。豐富的接口,搭配著AI
    的頭像 發(fā)表于 02-18 13:52 ?788次閱讀
    小安派<b class='flag-5'>BW21-CBV-Kit</b>入門教程之讀取DHT溫濕度傳感器

    AI人臉識(shí)別開發(fā)板BW21-CBV-Kit驅(qū)動(dòng)墨水屏

    試著BW21-CBV-Kit點(diǎn)亮2.9寸墨水屏,開發(fā)板例程非常豐富,在arduino上開發(fā)的話上手超級(jí)容易。
    的頭像 發(fā)表于 03-04 18:24 ?1096次閱讀
    <b class='flag-5'>用</b>AI<b class='flag-5'>人臉</b><b class='flag-5'>識(shí)別</b>開發(fā)板<b class='flag-5'>BW21-CBV-Kit</b>驅(qū)動(dòng)墨水屏

    小安派BW21-CBV-Kit入門教程之OLED顯示

    作為一款本地AI圖象識(shí)別開發(fā)板,BW21-CBV-Kit它能夠獨(dú)自運(yùn)行目標(biāo)識(shí)別模型。2.4GHz+5GHz的雙頻Wi-Fi,提供高性能的無線傳輸能力,讓圖象傳輸更加流暢。豐富的接口,搭配著AI
    的頭像 發(fā)表于 05-17 10:54 ?1075次閱讀
    小安派<b class='flag-5'>BW21-CBV-Kit</b>入門教程之OLED顯示

    小安派BW21-CBV-Kit入門教程之主機(jī)模式對(duì)Arduino UNO發(fā)送數(shù)據(jù)

    作為一款本地AI圖象識(shí)別開發(fā)板,BW21-CBV-Kit它能夠獨(dú)自運(yùn)行目標(biāo)識(shí)別模型。2.4GHz+5GHz的雙頻Wi-Fi,提供高性能的無線傳輸能力,讓圖象傳輸更加流暢。豐富的接口,搭配著AI
    的頭像 發(fā)表于 05-29 10:33 ?420次閱讀
    小安派<b class='flag-5'>BW21-CBV-Kit</b>入門教程之主機(jī)模式對(duì)Arduino UNO發(fā)送數(shù)據(jù)

    小安派BW21-CBV-Kit入門教程之MPU6050 IMU零點(diǎn)檢測

    作為一款本地AI圖象識(shí)別開發(fā)板,BW21-CBV-Kit它能夠獨(dú)自運(yùn)行目標(biāo)識(shí)別模型。2.4GHz+5GHz的雙頻Wi-Fi,提供高性能的無線傳輸能力,讓圖象傳輸更加流暢。豐富的接口,搭配著AI
    的頭像 發(fā)表于 07-04 17:33 ?851次閱讀
    小安派<b class='flag-5'>BW21-CBV-Kit</b>入門教程之MPU6050 IMU零點(diǎn)檢測

    BW21-CBV-Kit的使用教程

    ,可以擴(kuò)展出無限可能。 BW21-CBV-Kit支持Arduino的開發(fā)方式,可以簡單實(shí)現(xiàn)一些DIY想法,例如:人臉識(shí)別手勢識(shí)別、物品
    的頭像 發(fā)表于 01-03 11:30 ?916次閱讀
    <b class='flag-5'>BW21-CBV-Kit</b>的使用教程

    BW21-CBV-Kit快速入門之Arduino環(huán)境搭建

    作為一款本地AI圖象識(shí)別開發(fā)板,BW21-CBV-Kit它能夠獨(dú)自運(yùn)行目標(biāo)識(shí)別模型。2.4GHz+5GHz的雙頻Wi-Fi,提供高性能的無線傳輸能力,讓圖象傳輸更加流暢。豐富的接口,搭配著AI
    的頭像 發(fā)表于 01-15 17:07 ?832次閱讀
    <b class='flag-5'>BW21-CBV-Kit</b>快速入門之Arduino環(huán)境搭建

    小安派BW21-CBV-Kit入門教程:中斷控制LED

    ,可以擴(kuò)展出無限可能。 BW21-CBV-Kit支持Arduino的開發(fā)方式,可以簡單實(shí)現(xiàn)一些DIY想法,例如:人臉識(shí)別手勢識(shí)別、物品
    的頭像 發(fā)表于 01-21 11:32 ?728次閱讀
    小安派<b class='flag-5'>BW21-CBV-Kit</b>入門教程:中斷<b class='flag-5'>控制</b>LED

    小安派BW21-CBV-Kit入門教程之超聲波測距

    作為一款本地AI圖象識(shí)別開發(fā)板,BW21-CBV-Kit它能夠獨(dú)自運(yùn)行目標(biāo)識(shí)別模型。2.4GHz+5GHz的雙頻Wi-Fi,提供高性能的無線傳輸能力,讓圖象傳輸更加流暢。豐富的接口,搭配著AI
    的頭像 發(fā)表于 02-11 11:38 ?538次閱讀
    小安派<b class='flag-5'>BW21-CBV-Kit</b>入門教程之超聲波測距

    BW21-CBV-Kit如何接入HomeAssistant實(shí)時(shí)查看AI攝像頭畫面

    看過這么多關(guān)于 HomeAssistant 教程,應(yīng)該有很多小伙伴已經(jīng)搭建起自己的 HomeAssistant 了,HomeAssistant 還是很強(qiáng)大的,只要設(shè)備可以進(jìn)行 RTSP 推流就可以在 HomeAssistant 上查看視頻流數(shù)據(jù),剛好 BW21-CBV-Kit 的示例附帶 RTSP,分享一下接入的方
    的頭像 發(fā)表于 02-18 13:48 ?604次閱讀
    <b class='flag-5'>BW21-CBV-Kit</b>如何接入HomeAssistant實(shí)時(shí)查看AI攝像頭畫面

    直接送!50套小安派 BW21-CBV-Kit Ai圖像識(shí)別開發(fā)板!

    BW21-CBV-Kit,歡迎動(dòng)手能力強(qiáng)的小伙伴玩起來! ? ? 獎(jiǎng)品介紹 BW21-CBV-Kit 是一款本地 AI 圖象識(shí)別開發(fā)板,它能夠獨(dú)自運(yùn)行目標(biāo)識(shí)別模型。 2.4GHz+5
    的頭像 發(fā)表于 02-19 14:37 ?399次閱讀
    直接送!50套小安派 <b class='flag-5'>BW21-CBV-Kit</b> Ai圖像<b class='flag-5'>識(shí)別</b>開發(fā)板!

    安信可AI人臉識(shí)別開發(fā)板BW21-CBV-Kit驅(qū)動(dòng)墨水屏

    Arduino 環(huán)境搭建 【教程】小安派BW21-CBV-Kit入門教程:中斷控制 LED 【教程】小安派BW21-CBV-Kit——超聲波測距 【教程】BW21-CBV-Kit如何接
    的頭像 發(fā)表于 03-06 08:47 ?456次閱讀
    <b class='flag-5'>用</b>安信可AI<b class='flag-5'>人臉</b><b class='flag-5'>識(shí)別</b>開發(fā)板<b class='flag-5'>BW21-CBV-Kit</b>驅(qū)動(dòng)墨水屏

    小安派BW21-CBV-Kit入門教程之LCD屏顯示數(shù)據(jù)

    作為一款本地AI圖象識(shí)別開發(fā)板,BW21-CBV-Kit它能夠獨(dú)自運(yùn)行目標(biāo)識(shí)別模型。2.4GHz+5GHz的雙頻Wi-Fi,提供高性能的無線傳輸能力,讓圖象傳輸更加流暢。豐富的接口,搭配著AI
    的頭像 發(fā)表于 04-23 10:45 ?310次閱讀
    小安派<b class='flag-5'>BW21-CBV-Kit</b>入門教程之LCD屏顯示數(shù)據(jù)