站内搜索
发作品签到
专业版

#立创实训营#机器狗7574328A

工程标签

324
0
0
1

简介

立创2025年智能机器狗实训营作品,基于ESP8266的桌宠小狗。

简介:立创2025年智能机器狗实训营作品,基于ESP8266的桌宠小狗。
智能机器狗实训营
复刻成本:100

开源协议

GPL 3.0

创建时间:2025-03-20 13:45:03更新时间:2025-04-29 10:18:33

描述

目录

  • 1.项目功能介绍
  • 2.项目属性
  • 3.开源协议
  • 4.焊接部分
  • 5.烧录部分
  • 6.软件部分
  • 7.3D外壳部分
  • 8.代码部分
  • 9.实训营项目文档
  • 10.实训营教学视频
  • 11.演示视频

 

1、项目功能介绍

桌宠机器狗,可以通过WiFi手机控制(网页为192.168.4.1),操控舵机行走、表情切换、联网显示时间与天气。


2、项目属性

首次公开,基于智能机器狗实训营项目的改进版本,未曾参与其他比赛,未曾参与学术答辩。

 

3、开源协议

本项目遵循GPL 3.0开源协议。

 

4、焊接部分

元器件较少,仅含三个贴片,焊接较为简单,基本全程可以借助电烙铁进行焊接。注意屏幕最好不要使用热风枪进行焊接,避免花屏。

屏幕焊接时使用弯插,要注意使弯插连接器塑胶底部与屏幕底部持平,如果连接器塑胶比屏幕低一层,会导致上壳无法装配。

电路板底层有舵机对应位置,借助3D外壳下壳进行固定。舵机线较长,可以压在下壳空腔部分,或使用热熔胶固定(我没有固定,方便后期拆换)。

屏幕焊接后相较板子有些外凸显,倘若屏幕向后,上盖或能将按键与屏幕都包含在内,焊接时可以选择将屏幕焊接在电池盒一侧,或者打板前先修改一下屏幕排针的位置。

 

5、烧录部分

写在前面:接线注意事项

烧录时可能会出现各种各样的问题,一般检查是否虚焊(尤其是接烧录器排针和芯片)、烧录器供电是否稳定(可以用电脑3.3v供电或用电池供电)、烧录器是否损坏等等。

烧录时短接debug,烧录后拔掉短接线重新上电。短接debug时,机器狗将不会响应,拨动开关后屏幕不会亮起。

烧录时可以选择电池供电或3.3v供电,若使用电池供电就不要接3.3v,短接debug后打开开关;若使用link供电就保持开关关闭,不放心的可以取下电池。

经过实际操作,不需要每次烧录都摘掉电池而烧录后再装上这样繁琐。

反复烧录时,只需烧录前断电,接上debug短接线再上电,烧录后拔掉debug短接线重新上电即可。(甚至不需要拔掉接着电脑端口的烧录器。)

接线时,link的RX和TX分别接板子的TX和RX。烧录接线图如下:

 

方法一:flash_download_tool

操作简单问题少,并且不需要额外安装vscode和platformIO。

无论是源码还是个人代码否可以使用该方法,但如果修改代码,则需要重新生成镜像烧录系统文件,具体操作见“代码部分”。

注意!若使用源码,因为程序问题,右前和右后的两根舵机线需要接到对方的排针上。

flash_download_tool启动后选择及主页面配置如下:

  • 设置固件(firmware.bin)偏移地址0x00000并在左侧复选框打勾(位置:EDA-Robot\.pio\build\nodemcuv2\firmware.bin)
  • 设置文件系统(spiffs.bin)偏移地址0x300000并在左侧复选框打勾(位置:EDA-Robot\.pio\build\nodemcuv2\spiffs.bin)

 

若出现图中情况,检查烧录用排针是否虚焊:

 

方法二:vscode

方法略微麻烦,因为vscode和platformIO经常出现一些问题,对于这个软件的新人不很友好,而且配置环境往往花费相当一段时间。

如果用vscode二次修改代码,会导致spiffs.bin文件消失,对于修改后的代码就无所谓哪个更简单了,因为都需要生成镜像烧录文件系统才会重新出现spiffs.bin,而两种方法的成功都需要这个文件。

因为程序是用vscode+platformIO编写的,所以可以直接使用vscode进行烧录,方法同platformIO程序,但比之一般单片机学习、代码直接控制舵机更加麻烦,不仅需要烧录固件,还需要将spiffs编译烧录,(前两者一般只需要烧录固件即可,)具体操作见下:

 

烧录固件

先使用VSCode打开源码,既可以在左上角打开,也可以在platfrom主页打开。

 

在底部工具栏选择工作区为EDA-Robot,点击->箭头符号开始编译烧录。串口选择Auto通常会自动识别。

 

使用源码在固件烧录完成后会关闭烧录接口,烧录文件系统前请按如下步骤操作:

断电取下短接跳帽再上电正常启动。

断电接上短接跳帽再上电进下载模式,固件前面烧成功后按步骤操作完成后继续烧录文件系统就可以了,不需要再烧固件。(但是如果修改代码就需要再次烧录固件。)

 

烧录文件系统(不可省略,每次修改固件代码都要再次操作。)

在左侧边框栏点击PlatformIO的图标,然后如下操作

1.点击Build Filesystem Image构建文件系统镜像

2.点击Upload Filesystem Image烧录文件系统

 

启动

一切烧录完成后,拔下短接跳帽,重新上电即可正常启动

 

失败问题排查

如果烧录失败,则:

1.检查硬件焊接,ESP8266是否有3.3V供电,各个引脚直接有没有短接虚焊,电容焊接有没有短路或焊反。

2.如果烧录时出现........,拔下3.3V后重新插上3.3V供电,如下图:

 

6、3D外壳部分

下载附件“机器狗3D外壳”,注意事项为:

上壳可以适当加高,倘若屏幕焊接时弯插方向放错了,方便使屏幕保持竖直。

上壳可以在主控芯片引出天线的一侧为按键开孔,方便随时控制开关,如图是未开孔,不仅因为考虑开关,而且按键的长度影响合盖,所以这里手动开口:

 

下壳必打,舵机依赖下壳固定位置。

四条小腿装配时,需要舵机自带单头舵盘及螺丝固定。

 

7、代码部分

该项目基于ESP8266主控,使用Arduino编程语言进行开发。代码详情见附件“机器狗源码”和“机器狗个人代码”。

Q1:烧录软件的问题

如下图所示,在使用vscode打开源码后,会发现EDA-Robot\.pio\build\nodemcuv2路径下文件发生改变,主要是缺少了flash_download_tool烧录时用到的spiffs.bin.。

 

A1:

在vscode左侧边框栏点击PlatformIO的图标,然后如下操作:

1.点击Build Filesystem Image构建文件系统镜像

2.点击Upload Filesystem Image烧录文件系统

 

操作后即可在EDA-Robot\.pio\build\nodemcuv2路径下对应位置找到重新生成的spiffs.bin。

 

Q2:想添加动作怎么办?

A2:

相关文件为src/image.cpp和data/control.html,前者是运动和监听,后者是按键设置。

源码舵机编号:1右前2右后3左前4左后;个人代码舵机编号:1左前2右前3左后4右后(俯视图从左到右、从上到下)。

运动时一般是左前和右后一组,右前和左后一组。

所以无论使用源码还是个人代码,都是1、4一组,2、3一组,在前进、后退、左转、右转……将其放在一起进行处理。

另外,小狗舵机示意图如下:

右前180-0      180-0右后

左前0-180      0-180左后

结合前面的思路和四个舵机的角度,阅览代码可以发现,将源码的运动代码中的1、4与2、3互换,效果等同个人代码,因此二次编译时可以选择符合自己习惯的舵机编号对应的代码进行修改。

若要修改舵机编号,在main.cpp文件中,在舵机参数设置和初始化函数setup()中找到以下两段内容即可。

 

 

按键设置在control.html文件中如图所示这个位置,新添按键建议放在此处:

 

监听在main.cpp的void handleWiFiConfig()函数中,如图:

 

Q3:想增删表情怎么办?

A3:

相关文件为src/image.cpp、main.cpp和data/control.html,前者是表情存放的文件,其次是监听,最后是表情的按键。

注意!包装表情字模的函数名称,要在下文中三个地方保持统一,如果修改需要一并修改。

表情字模存放在image.cpp中,添加表情就按照格式写函数。

 

想自己做表情的可以使用Photoshop绘制宽128高64的位格图,格式为bmp,再使用PCtoLCD2002打开生成字模;也可以直接在PCtoLCD2002打开bmp后进行加工,不过操作比较繁琐,不推荐。

表情bmp图片见附件“机器狗表情”。PCtoLCD2002设置如下:

 

控制表情的按键在control.html中,如图所示,可以在此处移除不喜欢的表情,并且建议将新增表情对应的按键也放在此处。

 

监听在main.cpp的void handleWiFiConfig()函数中,如图所示:

 

Q4:想修改页面怎么办?

A4:

借助vscode插件HTML Preview,装上插件后可以如图一样实时观察修改后页面情况。

 

一共三个html网页,均在data文件夹下,index为主页面,control为控制页面,setting为设置页面。

若要修改现有按键风格,在《head》《style》……《/head》《/style》中修改。(编写文档时用单括号打出后,查看时不显示,不知道为什么。)

若要增删修改按键,在《body》《div》……《/body》《/div》中修改,具体层级和备注可以看“个人代码”。

如果觉得缩进和层级不是很清晰明白,Alt+Shift+F可以一键缩进,但推荐养成良好缩进习惯。

 

Q5:源码与个人代码页面展示

A5:

源码:

 

个人代码:

 

后话:

个人代码实测后,没有正常显示电量电压,可能是电池没电了,也可能是代码有疏漏。

但近期生活上事情较多,暂时没有时间调试了,喜欢个人代码中的页面、按键功能、表情的,将对应.html和.cpp的内容移植到源码中即可。

 

8、BOM清单

物料清单如下,坐标位置、封装绘制请下载附件“机器狗清单”一并查看,部分元件溢价较高,可酌情到其他平台购买。

其中主控16¥,屏幕13¥,两节电池20¥,pwlink烧录器10¥,上壳12¥,下壳10¥,四足各2¥。

 

9、实训营项目文档

立创文档:EDA-Robot机器狗🐶 项目介绍🪄 | 嘉立创EDA教育与开源文档中心

心知天气:未来15天逐日天气预报和昨日天气

 

10、实训营教学视频

硬件设计:用免费PCB,做了一只机器狗!_哔哩哔哩_bilibili

软件设计:手把手教你做机器狗!_哔哩哔哩_bilibili

 

11、视频演示

见下方演示视频或下载附件查看。

 

 

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
机器狗源码.zip
6
2
机器狗3D外壳.zip
3
3
机器狗清单.xlsx
0
4
机器狗表情.zip
0
5
机器狗个人代码.zip
33
6
机器狗源码展示.mp4
2
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航