闲来没事,把以前做的摄像头小车发出来。视频
。先说说线路esp32cam模块一个h桥直流电机驱动一个履带底盘一个
io用的12,13,14,15电源就不说了然后h桥驱动器用的最便宜的2块多。
还有小车这个就贵点了
io12,13一组电机14,15一组,就这么简单
然后代码以前用的官方的程序改的有点麻烦,后来用的arduino这个简单在原有代码上添加脉冲代码主要改变占空比来改变速度ledcSetup函数用了两个低速和一个高速通道记不太清楚了频率都设成500别的也可以,影响不大,然后建立一个socket服务器端口800和手机端通讯。可做路由器端口映射实现远程操作,arduino代码
#include "esp_camera.h"
#include <WiFi.h>
#include <Arduino.h>
#define CAMERA_MODEL_AI_THINKER
const char* ssid = "热点";
const char* password = "密码";
WiFiServer server(800)//端口号
#if defined(CAMERA_MODEL_WROVER_KIT)
#define PWDN_GPIO_NUM -1
#define RESET_GPIO_NUM -1
#define XCLK_GPIO_NUM 21
#define SIOD_GPIO_NUM 26
#define SIOC_GPIO_NUM 27
#define Y9_GPIO_NUM 35
#define Y8_GPIO_NUM 34
#define Y7_GPIO_NUM 39
#define Y6_GPIO_NUM 36
#define Y5_GPIO_NUM 21
#define Y4_GPIO_NUM 19
#define Y3_GPIO_NUM 18
#define Y2_GPIO_NUM 5
#define VSYNC_GPIO_NUM 25
#define HREF_GPIO_NUM 23
#define PCLK_GPIO_NUM 22
#else
#error "Camera model not selected"
#endif
float cm;
void startCameraServer();
void setup() {
Serial.begin(115200);
Serial.setDebugOutput(true);
Serial.println();
pinMode(4, OUTPUT); pinMode(2, INPUT);
// pinMode(12, OUTPUT); pinMode(13, OUTPUT); pinMode(14, OUTPUT); pinMode(15, OUTPUT); // set the LED pin mode
ledcSetup(9, 500, 8); // 设置通道
//ledcAttachPin(12, 9); // 将通道与对应的引脚连接
ledcSetup(8, 10, 8); // 设置通道
ledcSetup(10, 500, 8); // 设置通道
// ledcAttachPin(14, 10); // 将通道与对应的引脚连接
camera_config_t config;
config.ledc_channel = LEDC_CHANNEL_0;
config.ledc_timer = LEDC_TIMER_0;
config.pin_d0 = Y2_GPIO_NUM;
config.pin_d1 = Y3_GPIO_NUM;
config.pin_d2 = Y4_GPIO_NUM;
config.pin_d3 = Y5_GPIO_NUM;
config.pin_d4 = Y6_GPIO_NUM;
config.pin_d5 = Y7_GPIO_NUM;
config.pin_d6 = Y8_GPIO_NUM;
config