人在宿舍,不想關(guān)燈,于是開始試著搞一個遠程關(guān)燈。
原本打算用esp8266,問了一些學長,后來買了esp32 nodemcu-32 v1.3
用Arduino IDE寫的,打算連接blinker之后用手機app控制。
軟件部分
1.配置Arduino IDE
Arduino IDE里有現(xiàn)成的blinker庫,只需要搜索 安裝 就可以了(出現(xiàn)藍色的installed就可以了)
還需要安裝esp32控制舵機的庫,同樣在庫管理器中搜索 ESP32Servo 這個庫,安裝它。
esp32這個板子還要裝一個什么(我不知道是什么總之運行一下就好了)
鏈接:https://pan.baidu.com/s/1P05yN0o5paZOr_vAhguYDA?pwd=ssss
提取碼:ssss
之后在開發(fā)板里能看見esp32就好啦
2.手機端app
去點燈科技官網(wǎng)點燈科技 (diandeng.tech)下載Blinker app。添加設(shè)備,選 獨立設(shè)備,網(wǎng)絡(luò)接入
這時候復制一下密鑰,一會兒需要粘到代碼里。之后點進新的設(shè)備,選擇右上角編輯模式,新建一個按鈕。也可以順便加一個 調(diào)試 ,方便看連接狀態(tài)。(圖是新建的按鈕,名稱可以自己訂)
關(guān)于blinker的用法點燈的官網(wǎng)也有樣例。
3.連接wifi
我們學校的校園網(wǎng)需要登陸學生賬號,不過沒關(guān)系,可以在宿舍插一個路由器,輸入自己寢室路由器的名稱和密碼,這樣就應(yīng)該可以正常連接wifi了。(密鑰如果忘復制了就點右上角三個點)
char auth[] = ' ';//密鑰
char ssid[] = ' ';//WiFi的名稱
char pswd[] = ' ';//wifi密碼
全部代碼:
#define BLINKER_WIFI
#include #include const int servoPin = 13;//是舵機的引腳 char auth[] = '4c*******5';//密鑰 char ssid[] = 'C******';//wifi名稱 char pswd[] = '3*****';//WiFi密碼 Servo myservo; BlinkerButton Button1('btn');//綁定上自己在手機端新建的那個按鈕 void button1_callback(const String & state) { BLINKER_LOG('get button state: ', state); myservo.write(30);//舵機轉(zhuǎn)到30度(角度按自己實際情況改 delay(500); myservo.write(0);//讓舵機復位 } void setup() { Serial.begin(115200); myservo.attach(servoPin); BLINKER_DEBUG.stream(Serial); Blinker.begin(auth, ssid, pswd); //Blinker.attachData(dataRead);//不知道干嘛用的,貌似沒什么用 Button1.attach(button1_callback);//將函數(shù)綁在按鈕上 } void loop() { Blinker.run(); } 硬件部分 上圖 用充電寶供電的,沒有問題。 舵機力量不是很大,有可能拍不動開關(guān),所以只做了關(guān)燈的。 避雷 如果一直打不開COM口,可能是因為數(shù)據(jù)線不是數(shù)據(jù)線而是充電線,比如我換了三根,很不巧的全是充電線…… A fatal error occurred: Packet content transfer stopped (received 8 bytes)這個迷惑報錯是因為我把舵機應(yīng)該插到GND的線插到了CWD(5v旁邊的引腳) 舵機不要接到34-39口,他們是僅輸入不能輸出,換成13什么的就行了 不要靠近360°舵機,會變得不幸。它的控制方法和180°不一樣。360的不能控制角度,只能以一定速度正轉(zhuǎn)或反轉(zhuǎn)。所以許多函數(shù)庫也不能用,不過如果實在不想重買也不會寫pwm的話,可以用角度算占空比之后放delay實現(xiàn)開關(guān)燈。180°的舵機角度和占空比的關(guān)系是這樣的: 0.5ms----------------0度; 1ms -----------------45度; 1.5ms----------------90度; 2ms -----------------135度; 2.5ms ---------------180度; 而360的是 0.5ms----------------正向最大轉(zhuǎn)速; 1.5ms----------------速度為0; 2.5ms----------------反向最大轉(zhuǎn)速; 所以即使用了180的函數(shù)庫,只要輸入90就對應(yīng)了1.5ms,也就對應(yīng)了360°的速度為0。以此類推,只要輸入角度大于90度就是反向轉(zhuǎn),小于90°就是正向,離90越遠速度越快,但是角度很不準,幾次下來就偏了。(所以最后的最后我又重新買了180的舵機orz 然鵝現(xiàn)在宿舍到點兒斷電熄燈,已經(jīng)不再需要上床關(guān)燈…
上一篇:Pycharm使用MicroPython開發(fā)ESP32
下一篇:ESP32單片機基礎(chǔ)知識
推薦閱讀最新更新時間:2025-07-03 10:09
設(shè)計資源 培訓 開發(fā)板 精華推薦
- Microchip 升級數(shù)字信號控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導體推出用于匹配遠距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測試
- LSM330D適配器板,標準DIL24插座
- 使用 Raspberry Pi Foundation 的 2711ZPKFSB06B0T 的參考設(shè)計
- LTC6957 的典型應(yīng)用 - 低相位噪聲、雙輸出緩沖器/驅(qū)動器/邏輯轉(zhuǎn)換器
- 2019年電賽D題-簡易電路特性測試-設(shè)計方案及報告(國一,南京理工)
- EVAL-ADF4193EB1,用于無線 LAN 的 ADF4193 PLL 時鐘發(fā)生器的評估板
- 用于微功率 A/D 轉(zhuǎn)換器的 LT1634BIS8-2.5 電壓基準的典型應(yīng)用
- 使用 Analog Devices 的 LTC3588EDD-1 的參考設(shè)計
- 用于照明的 PSoC 嵌入式系統(tǒng)
- LM358DR2G 運放函數(shù)發(fā)生器的典型應(yīng)用
- ADL5387-EVALZ,基于 ADL5387 30 MHz 至 2 GHz 正交解調(diào)器的評估板
- "智能汽車芯片大戰(zhàn)升級:高通最新方案為何獲中國車企追捧?
- 電壓精度0.5% @25°C!思瑞浦發(fā)布全新車規(guī)并聯(lián)基準芯片TPR43xQ系列產(chǎn)品
- AI技術(shù)在方便面生產(chǎn)質(zhì)量監(jiān)控中的應(yīng)用
- 潤石科技推出RS3215-Q1系列低壓差線性穩(wěn)壓器
- CANape 23開啟智能測試新時代(下)
- 軟件定義汽車電源管理設(shè)計:NXP的PMIC選型攻略解析
- 深度測評時空壺X1同聲傳譯器:全球最先進AI同傳設(shè)備的非凡實力
- 作為領(lǐng)先的垂直整合制造商(IDM),英飛凌在 300mm氮化鎵生產(chǎn)路線圖方面取得突破
- 鐵威馬F6-424 Max:六盤位擴容+國產(chǎn)系統(tǒng)兼容,小白也能玩轉(zhuǎn)NAS
- 開關(guān)電源給鉛酸電池恒流恒壓充電的電流跳動問題解析