Lan Tian @ Blog

毕业设计 - 传感器网络开发踩坑记录

欢迎来到踩坑系列的第三篇。之前两篇中我分别介绍了我 RoboMaster 机器人竞赛和 FPGA 课程大作业中踩的坑。这次踩坑的是我的毕业设计,三人小组合作的空气质量传感器网络。整个项目的设计如下:从安装的传感器模块中读取数据并上传到服务器上的 InfluxDB 数据库我们使用的传感器如下:MiCS6814,测量 NO2,CO,NH3模拟输出BME680,测量温湿度气压及 TVOCI2C 接口输出PMS5003,测量可吸入颗粒物(PM)UART 串口输出额外加上了这些模块:ATGM336H,GPS+北斗双模定位模块UART 串口输出ESP8266,使用非常广泛的 Wi-Fi 模块UART 串口输出MH-CD42,电源管理模块输出?不存在的,供电就行了需要足够节能,能用电池坚持一周左右也需要能够监测电池电量以计划电池更换一定程度的防雨能力网页显示,...

Cyclone IV FPGA 开发踩坑记录

上学期,学校开设了一门数字电路课程,使用 FPGA 进行开发。在课程结尾,我们需要分成小组,利用 FPGA 自由设计电路的特性实现复杂的功能,例如制作一款游戏、运行卷积神经网络等等,并且可以按自己喜好加入各种额外的功能。我们小组实现了一款类似《雷电》的游戏,实际上就是操控飞机发射子弹攻击敌人。实现的额外功能(课程内容除外)包括:640x480,16 位色深的 VGA Framebuffer,存储在 SRAM 芯片上相应的,内置了简体中文字库(包含整个 UTF-8 中文范围,但不包括标点符号(懒))也支持修改 Y 轴偏移量快速滚动屏幕,为了实现飞行效果SRAM 控制器/芯片以二倍频率工作,让 FPGA 上的软 CPU 和 VGA 控制器同时访问,不存在抢占问题最多 8 架飞机(包括敌方我方),可以完全自定义图片(非调色板,非索引),全屏幕自由移动最多 56 发子弹(包括敌方我方),...

RoboMaster 开发踩坑日记(2018-05-28 更新)

学校组建了一支 RoboMaster 队伍,准备参加今年的比赛。因为是新校区新学生,因此我们完全没有之前的参考资料,只能自己一个个踩坑。以下是我们在软件开发中遇到的一些坑。硬件版本:RoboMaster 官方开发板(信仰板) 芯片型号:STM32F427IIHx 软件系统:ChibiOS 18.2.0 信仰板 HSE 时钟频率为 12MHz 而非常见的 8MHz最坑的是信仰板的说明书和硬件原理图上完全没有提到这事。这个问题导致我们用 STM32CubeMX 等软件算出的时钟频率远高于额定频率,并导致了如下后果:莫名其妙的频率设置失败(设置了在合理范围内的频率,但是板子不响应了,只能短接某个电阻 Reset)USART 时序错误(明明两端波特率一样,但是收发的数据就是乱码,遥控器无法使用)CAN 数据无法应答(明明板子和电机电调都在发数据,示波器能解码出来,但是双方就是不 ACK)...