步骤1:组件列表
wemos d1 mini [数量– 1]
l293d电机驱动器ic [数量– 2]
pcf8574端口扩展器ic [数量– 1]
12v锂离子电池[数量– 1]
wi-fi控制的机器人pcb [数量– 1]
4wd机器人智能汽车底盘套件[数量– 1]
步骤2:项目的大脑-esp8266开发板(wemos d1 mini)
wemos d1 mini 是基于esp-8266芯片的具有4mb闪存的微型wi-fi开发板。
具有11个数字输入/输出引脚,所有引脚均支持中断/pwm/i2c/单线(d0除外)
具有1个模拟输入(最大3.2v输入)
具有micro usb连接用于编程以及电源
该板基于esp8266,因此与arduino ide兼容,因此可以使用arduino进行编程,也可以使用lua编译器进行编程。它还支持串行和ota编程。
我们将使用arduino ide对wemos d1 mini进行编程。要使用arduino ide对该板进行编程,需要满足以下要求。
要求:-
ch340g驱动程序
从以下位置安装最新的arduino ide: arduino网站。
用于编程的微型usb电缆
在安装驱动程序和arduino软件之后,您需要在arduino ide内安装“ esp8266 wifi芯片的arduino核心”,以便我们可以在arduino环境中对esp8266芯片进行编程。此esp8266 arduino核心可让您使用熟悉的arduino函数和库编写草图,并直接在esp8266上运行它们,而无需外部微控制器。
esp8266 arduino核心随附的库可使用tcp和udp通过wifi进行通信, http,mdns,ssdp和dns服务器,进行ota更新,在闪存中使用文件系统,与sd卡,伺服器,spi和i2c外设配合使用。
下载以下文档以获取帮助关于如何安装esp8266 arduino内核。
步骤3:电机驱动器-l293d
电动机驱动器是一种用于电动机的ic,可让您同时控制两个电动机的工作速度和方向。
l293d设计用于可以在5 v至36 v的电压范围内提供双向驱动电流。l293d可以同时驱动2个直流电动机。
l293d是16引脚电动机驱动器ic。每个电机有4个input引脚,4个output引脚和2个enable引脚。
l293d特性:
每通道600ma输出电流能力
各个通道的时钟和逆时针方向控制。
l293d的引脚说明:
引脚1:当enable1为高电平时,ic的左侧部分将工作,即,与引脚3和引脚6连接的电动机将旋转。
引脚2:输入1,当此引脚为高电平时,电流将流经输出1。
引脚3:输出1,该引脚与电动机的一个端子连接。
引脚4/5:gnd引脚
引脚6:输出2,该引脚与电动机的一个端子连接。
引脚7:输入2,当此引脚为高电平时,电流将流经输出2。
引脚8:vcc2,该引脚用于为来自所连接电机的电源供电最大5v至36v取决于连接的电动机。
引脚9:当启用2为高电平时,ic的右侧部分将工作,即与引脚11和引脚14连接的电动机将旋转。
引脚10:输入4,当此引脚为高电平时,电流将流经输出4。
引脚11:输出4,该引脚与电机的一个端子连接。
引脚12/13:gnd引脚
引脚14:输出3,该引脚与电动机的一个端子连接。
引脚15:输入3,当此引脚为高电平时,电流将流经输出3。
引脚16:vcc1,用于为ic逻辑供电,即5v。
因此,您会看到需要3个数字引脚来控制每个电动机(一个引脚用于速度控制,两个引脚用于方向控制)。如果一个l293d控制两个直流电动机,那么我们将需要两个l293d ic来控制四个直流电动机。我们将在该项目中使用塑料bo电机。因此,您会看到我们需要12个数字引脚来同时通过速度和方向控制来独立控制所有四个dc电动机。
但是如果您看到wemos d1 mini只有11个数字i/o引脚和1个模拟i/o引脚销。为了解决这个问题,我们将四个启用引脚(第一个l293d的两个启用引脚和其他l293d的两个启用引脚)直接连接到wemos digital引脚,而所有八个输入引脚(第一个l293d的四个引脚和其他l293d的四个)直接连接到wemos digital引脚。
步骤4:pcf8574-一个i/o端口扩展器
wemos d1 mini(例如esp8266)缺少输入/输出引脚。我们可以使用i/o扩展器ic(例如pcf8574,这是一个8位i/o扩展器)来增加数字输入/输出引脚。
使用pcf8574a i/o扩展器的优点之一是它使用i2c总线仅需要两条数据线,它们是时钟(sck)和数据(sda)。因此,使用这两条线,您可以控制同一芯片的最多八个引脚。通过更改每个pcf8574的三个地址引脚,我们可以控制总共64个引脚。
用于两线双向总线(i2c)的8位输入/输出(i/o)扩展器设计用于2.5 v至6v vcc操作。 pcf8574器件通过i2c接口[串行时钟(scl),串行数据(sda)]为大多数微控制器系列提供通用的远程i/o扩展。
该器件具有8位功能准双向i/o端口(p0–p7),包括具有大电流驱动能力的锁存输出,可直接驱动led。每个准双向i/o都可以用作输入或输出,而无需使用数据方向控制信号。上电时,i/o较高。
有关下面的pcf8574与两个l293d ic的连接图,请参见下面的“ pcf8574_with_l293d” pdf文件。
步骤5 :原理图
我已使用kicad进行pcb设计。
下载以下原理图pdf来设计自己的pcb或在点pcb板上实现。
步骤6:代码
连接到以下wi-fi接入点:-
//用户定义的网络凭据
const char * ssid =“ wifi_robot”;
const char * password =“ automate @ 111”;
连接到上述访问点后,请在网络浏览器中转到以下链接:-
http ://192.168.4.1
您将收到以下消息:-
“您好,来自机器人!”
http://192.168.4.1/fw
这将导致机器人向前移动
http://192.168.4.1/bk
这将导致机器人向后移动
http://192.168.4.1/lt
这将导致机器人向左移动
http://192.168.4.1/rt
这将导致机器人向右移动
http://192.168.4.1/st
这将导致机器人停止
ESD器件怎样解决所有保护问题?
小米11备货多,三星2K 120Hz屏
const在C语言与C++中的区别与使用!
顶级上市业务领导者加入Sumo Logic
若高通成功收购恩智浦,将给行业带来哪些影响?
如何制作Wi-Fi控制的四轮机器人
集成多路复用输入ADC可减少诸多难题
巡检机器人提高了城市地下综合管廊的运维和运营水平
思科大型发布会上宣布了一系列新的硬件,软件和芯片产品
三星Chromebook Pro怎么样?三星Chromebook Pro上手图赏
利用无人机技术提升电网精确性运行和智能化巡检能力
PLC如何实现的实时数据采集呢?
亿智电子助力智能安防应用落地
我国在工业机器人领域还有很长的路要走
紫光成都拿下面积约782.71亩圈地 或用来制造芯片
CPU利用率过高的原因是什么
能源变革!新型电动汽车将与燃油车大PK
供水厂企业中的水务数字化转型的应用发展
工业CAN2.0及CAN-FD隔离器及共模干扰抑制模组
谷歌采用GANs与神经网络打造图像压缩新算法