ESP32CAM

文章目录

  • ESP32CAM
  • 前言
  • 一、准备
  • 二、完整代码

前言

昨天做了图传,今天就想做个小车玩玩,说干就干

一、准备

你需要一个ESP32CAM。一个L298N,一辆小车,还有一块稳压,稳压是我自己画的,成本一块钱左右。ESP32CAM就和ESP8266那些都一样就不讲了,讲一下L298N怎么用。

先看接线,接12V给电机供电,ENA\ENB是PWM使能的接口,input1和2为一组,3和4为一组,分别控制一个电机正反转。

再看这个表我们就能知道他是怎么转的了。

  pinMode(input1,OUTPUT);pinMode(input2,OUTPUT);pinMode(input3,OUTPUT);pinMode(input4,OUTPUT);

引脚初始化代码,初始化为输出

{digitalWrite(input1,HIGH); //给高电平digitalWrite(input2,LOW); //给低电平digitalWrite(input3,HIGH); //给高电平digitalWrite(input4,LOW); //给低电平
}
void houtui()
{digitalWrite(input1,LOW); //给高电平digitalWrite(input2,HIGH); //给低电平digitalWrite(input3,LOW); //给高电平digitalWrite(input4,HIGH); //给低电平
}
void youzhuan()
{digitalWrite(input1,HIGH); //给高电平digitalWrite(input2,LOW); //给低电平digitalWrite(input3,LOW); //给高电平digitalWrite(input4,HIGH); //给低电平
}
void zuozhuan()
{digitalWrite(input1,LOW); //给高电平digitalWrite(input2,HIGH); //给低电平digitalWrite(input3,HIGH); //给高电平digitalWrite(input4,LOW); //给低电平
}

这个是让电机运动的代码,也就是产生压差,即为表中的10、01。

二、完整代码

#define BLINKER_WIFI]
//#define BLINKER_ESP_SMARTCONFIG#include <Blinker.h>
#include "ESP32_CAM_SERVER.h"char auth[] = "        ";//blinker的密钥
char ssid[]="TP-LINK_949B";//WiFi名称
char pswd[]="88888888";//wifi密码
bool setup_camera =false;int input1 = 4;
int input2 = 2;
int input3 = 14;
int input4 = 15;
BlinkerButton Button1("btn-q");//注意:要和APP组件’数据键名’一致
BlinkerButton Button2("btn-h");//注意:要和APP组件’数据键名’一致
BlinkerButton Button3("btn-z");//注意:要和APP组件’数据键名’一致
BlinkerButton Button4("btn-y");//注意:要和APP组件’数据键名’一致
void button1_callback(const String & state)
{BLINKER_LOG("get button state: ", state);if (state == "press") {Serial.printf("qianjin");qianjin();}else if(state == "pressup"){Serial.printf("tingzhi");tingzhi();}
}void button2_callback(const String & state)
{BLINKER_LOG("get button state: ", state);if (state == "press") {Serial.printf("qianjin");houtui();}else if(state == "pressup"){Serial.printf("tingzhi");tingzhi();}}
void button3_callback(const String & state)
{BLINKER_LOG("get button state: ", state);if (state == "press") {Serial.printf("qianjin");zuozhuan();}else if(state == "pressup"){Serial.printf("tingzhi");tingzhi();}
}void button4_callback(const String & state)
{BLINKER_LOG("get button state: ", state);if (state == "press") {Serial.printf("qianjin");youzhuan();}else if(state == "pressup"){Serial.printf("tingzhi");tingzhi();}
}void dataRead(const String & data)
{BLINKER_LOG("Blinker readString: ", data);Blinker.vibrate();uint32_t BlinkerTime = millis();Blinker.print("millis", BlinkerTime);
}
void setup()
{Serial.begin(115200);BLINKER_DEBUG.stream(Serial);pinMode(input1,OUTPUT);pinMode(input2,OUTPUT);pinMode(input3,OUTPUT);pinMode(input4,OUTPUT);pinMode(LED_BUILTIN, OUTPUT);digitalWrite(LED_BUILTIN, LOW);Button1.attach(button1_callback);Button2.attach(button2_callback);Button3.attach(button3_callback);Button4.attach(button4_callback);Blinker.begin(auth,ssid,pswd);Blinker.attachData(dataRead);
}void loop()
{Blinker.run(); if (Blinker.connected() && !setup_camera){setupCamera();setup_camera = true;Blinker.printObject("video", "{\"str\":\"mjpg\",\"url\":\"http://"+ WiFi.localIP().toString() + "\"}");}
}void qianjin()
{digitalWrite(input1,HIGH); //给高电平digitalWrite(input2,LOW); //给低电平digitalWrite(input3,HIGH); //给高电平digitalWrite(input4,LOW); //给低电平
}
void houtui()
{digitalWrite(input1,LOW); //给高电平digitalWrite(input2,HIGH); //给低电平digitalWrite(input3,LOW); //给高电平digitalWrite(input4,HIGH); //给低电平
}
void youzhuan()
{digitalWrite(input1,HIGH); //给高电平digitalWrite(input2,LOW); //给低电平digitalWrite(input3,LOW); //给高电平digitalWrite(input4,HIGH); //给低电平
}
void zuozhuan()
{digitalWrite(input1,LOW); //给高电平digitalWrite(input2,HIGH); //给低电平digitalWrite(input3,HIGH); //给高电平digitalWrite(input4,LOW); //给低电平
}
void tingzhi()
{digitalWrite(input1,LOW); //给高电平digitalWrite(input2,LOW); //给低电平digitalWrite(input3,LOW); //给高电平digitalWrite(input4,LOW); //给低电平
}

手机app用的点灯科技,相信用过这个软件的人代码一下就能看明白,就不过多的赘述了,看效果图。

基于ESP32CAM的手机app控制的图传小车相关推荐

  1. 最简单DIY基于ESP8266的智能彩灯③(在网页用按钮+滑动条+手机APP控制RGB灯)

    ESP8266和ESP32智能彩灯开发系列文章目录 第一篇:最简单DIY基于ESP8266的智能彩灯①(在网页用按钮点亮普通RGB灯) 第二篇:最简单DIY基于ESP8266的智能彩灯②(在网页用按键 ...

  2. 毕业设计——基于STM32单片机的绿植养护系统(物联网、智能家居、手机APP控制、自动监测土壤湿度)

    本工程包括一下功能:1.环境温湿度监测 2.土壤湿度监测 3.环境可燃气体浓度监测 4.RTC万年历功能 5.数据的实时显示(OLED屏幕.手机app) 6.自动浇水模式.手动浇水模式 ①自动浇水:系 ...

  3. 基于51单片机的智能停车场管理车位引导系统红外检测无线蓝牙/WiFi手机APP控制设计

    本系统由STC89C52单片机.(无线蓝牙/WIFI模块-可选).红外对管传感器.LCD1602液晶显示.LED指示灯及电源组成. 通过红外对管模块实时检测车位是否占用,车位分为1车位.2车位.3车位 ...

  4. 智能灯控制页面用HTML编写,3分钟教你创建手机APP控制全彩智能灯泡应用,图形化编程!...

    本帖最后由 bigfanofloT 于 2016-9-22 22:33 编辑 对,你没有看错!!!3分钟教你创建手机APP控制全彩智能灯泡应用,图形化编程,自动代码生成,麻麻再也不用担心我不会编程了, ...

  5. 阿里云IOT入门教程(三)阿里云IOT Studio自建手机App控制Wemos D1 Mini( ESP8266 )板载灯亮灭

    阿里云IOT入门教程(一)阿里云IOT Studio自建手机App控制Wemos D1 Mini( ESP8266 )板载灯亮灭 概述 所需材料 Mqtt预备知识 hacklab端开发 * 硬件端上报 ...

  6. 毕业论文 | 基于安卓手机蓝牙控制的智能小车设计(源代码)

    博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 预告:源代码.论文.电路图设计链接 ...

  7. android智能小车 论文,基于安卓手机蓝牙控制的智能小车设计毕业设计(论文).doc...

    编 号: 审定成绩: 毕业设计(论文) 设计(论文)题目: 学院:学 生 姓 名 :专 业 :班 级 :学 号 :指 导 教 师 :答辩组 负责人 : 填表时间:年月 摘 要 随着物联网的兴起,And ...

  8. 通过手机App控制RGB调节灯带的亮度

    通过手机App控制RGB调节灯带的亮度,Arduino.esp8266.RGB灯带.APP.Android **很久没有更新了,最近过年回家有空拿出来东西玩玩,花了半天的时间搞这个,主要实现的原理,通 ...

  9. 毕业/课程设计——基于STM32的智能灯光控制系统(物联网、智能家居、手机APP控制、语音控制)

    文章首先介绍本系统所包含的功能,主要包含六方面功能,之后逐步分享开发过程,其流程如下:点亮灯带(三极管)→调节灯光亮度(PWM)→为系统添加远程控制功能→为系统添加语音识别功能→添加超声波姿态监测功能 ...

最新文章

  1. OpenDataSource,sql开放式数据源
  2. 直播实录 | 哈工大博士生周青宇:从编码器与解码器端改进生成式句子摘要
  3. 安装python缺少dll_python报错DLL load failed:找不到模块怎么解决?
  4. 架构解读丨Volcano作业资源预留设计原理
  5. 浅析SQL SERVER执行计划中的各类怪相
  6. Error building SqlSession问题
  7. UVA230 WF5169 POJ1886 Borrowers【map+set】
  8. 我读研期间通过实习和比赛收入五十万
  9. 利用深度学习自动补全 Python 代码,这个开源项目有点牛逼
  10. 杭电Oj刷题(2009)
  11. python ssim代码
  12. APICloud 入门教程窗口篇
  13. 20个值得一看的 JS 代码简写片段
  14. 计算机装系统找不到硬盘分区,系统安装找不到现有分区,教您如何解决系统安装找不到现有分区...
  15. 百度推广怎么做排名靠前网站链接
  16. WPS WORD 项目符号和编号,继续前一列表
  17. vue图片查看器,支持放大 缩小 还原
  18. (一)Deep learning论文纯翻译
  19. 在IDEA中手动创建基于Maven的Servlet项目
  20. 计算机考试的话语,考试祝福语简短 祝考试顺利的一句话

热门文章

  1. linux下system函数详解
  2. 【学习笔记】统计学习方法——HMM
  3. java找不到对象报错_java找不到对象报错
  4. 机器人 蓝buff 钩_LOL:机器人Q大加强,河道就能勾到蓝Buff?RNG笑了!
  5. 软件工程师职业道德规范和实践要求
  6. C语言程序设计——递归函数 ,用递归方法编程计算Fibonacci数列的前N项。其中fib(0)=0,fib(1)=1,fib(n)=fib(n-1)+fib(n-2)。
  7. win7下使用隐藏的虚拟wifi共享上网
  8. 神仙联动!港科大和中山大学宣讲会专场!
  9. 多媒体web播放器,移动端h5 video播放器
  10. javascript屏蔽脏字