-
原型机-1:树莓派2b + UNO R3 + L298N
-
原型机-2:NodeMCU v2(CP2102)+L293D扩展板
-
MK.1.1-NodeMCU v2(CP2102)+L293D扩展板
-
MK.2.1-NodeMCU v3(CH340)+L293D驱动模块
-
MK.2.2-NodeMCU v2(CP2102)+L293D扩展板
MK1为遥感版,MK2系列为按钮版.原型机是使用舵机控制摇摆摄像头的,所以MK1保留了舵机控制功能,MK2时候因为直接用了现成的云台摄像头,大幅度节省空间.
最初入门是使用树莓派,通过树莓派插网卡后,串口输出指令连接到Blynk,体型巨笨重.来发现ArduinoIDE写的ESP8266系列可以省那么多功夫,树莓派就直接弃坑了,直接使用NodeMCU + L293D电机扩展板的,后来做的体积小了很多.最初功能很简陋,只能固定SSID,不能重置,也没有OLED显示等待,直到现在保留了两个版本,基于这两个版本上改进修复.博客是最近才开的,所以以前的版本都还没公开.
-
MK1
- 使用舵机控制云台,安装了外置摄像头等,探照灯属于车身重的支架,同时驱动四个电机,不适合大电流电机急速转动.所以使用摇杆控制PWM信号驱动电机,车身转弯有点类似真车,是通过左右轮子速度差来实现前进/退后转弯的,向驱动方向拐弯,需要较大的转弯空间.即左2个轮1023,右2个轮512,使用12.6V锂电池驱动,电机是串联(标称3-9V/个的TT马达).
-
MK2
- 属于小型车辆,使用按钮控制,由于车身小,适合驱动2 个电机的小车.转弯是两边车轮反转,可以实现原地360°转弯,车速较快.最好不要驱动4个电机(特别是并联),会出现"虚脱",亲测试过会导致L293过热直接冒火,驱动否则请使用大功率点的电机驱动(L298N),这样要重写电机驱动的代码加上没时间,也就没搞了.
- IDE版本:1.8.10
- ESP8266库:2.4.2
- Blynk版本:0.6.1
- ArduinoJson:5.13.3
- WiFiManager:0.14.4
- Blynk:0.6.1
- ArduinoJson:5.13.4
- WifiManager:0.14
- ESP8266:2.0.4 / 2.1.1 / 2.2.0 / 2.2.3
在PlatformIO 2.3.2板库下编译会出错,2.2.3编译成功,尽量不要用高版本的板库.平常工作忙,具体我也没查清楚是啥原因.
- 优化代码
- 修改
platformio.ini
文件,让IDE自动下载好相关依赖库,先用命令行运行:
-
下载python工具
sudo pip install -U pip setuptools
sudo pip install -U platformio
-
编译命令
platformio run
-
其他命令
platformio run
- 编译platformio run -e generic -t upload
- 编译并上传platformio run -t clean
- 移除已编译文件
IDE会自动安装,如果是第一次运行,会自动下载相关依赖库(包含对应的版本)
1.加入OLED驱动,显示启动/重置/网络/电压等相关信息;
2.加入调速功能,使用滑动条设置PWM速度;
- 项目-取消舵机、远近光灯的功能和所占引脚、资源,控制摄像头拍摄直接使用带云台和夜视功能的成品,照明功能用红外夜视代替;
- 加入复位功能按钮(D5),按下按钮不放,点“Reset”,进入WIFI配网;
- 精简车身,轻量化,链接线路简化,代码简化,电源使用改用8.4V锂电驱动;
- 保留摇杆控制(电机接线与MK2版本相反);
- 保留电量电压采集(代码保留);
- 加入OTA更新功能;
- 加入实时显示SSID、IP、MAC、RSSI信息功能;
- 修改电机驱动代码,使内网版APP控制界面与BLYNK物联网平台保持一致;
- 统一反馈标准,如重置引脚、配网LED提示、平台接入提示