【有奖征集】分享你的开发故事-活动已停

  [复制链接]
兮若求 | 2023-9-15 00:12:30 | 显示全部楼层
去年竞赛的时候选做混沌电路,在软件上仿真,波形全部出来了,三个人开始焊板子,一共焊了8块,没有一块出波形的,那时候人都绝望了
回复 支持 反对

使用道具 举报

Mondrian | 2023-9-15 00:55:30 来自手机 | 显示全部楼层
我算是一个初学者,学的比较晚,现在读大二,大一的暑假才开始学习单片机。来分享一个比较有成就感的事吧,就是今年暑假,我先是从简单的Arduino入手,学习了基本的语法之后,通过Arduino做了些小的东西,后来我就想做一个WiFi图传小车出来,于是又去学习了ESP8266和ESP32C3,最后的车也是用这两个小板做的。因为还没有什么PCB设计能力,不会自己画板子,所以模块啥得都是买的现成的,摄像头图传方面也是直接买了ESP32CAM,通过几天的代码调试和测试,终于做出了我的是第一个真正意义上的项目,这个车在开启后可以连上我家的WiFi,然后在手机端可以查询到它的网络在线信息,并能通过设置好的安检来操作它移动。ESP32CAM传来的图像则是通过输入IP地址来访问查看,后续等学习的更深入了,我想把它也一直到软件里,在操作的同时就能看到图像。
回复 支持 反对

使用道具 举报

Mondrian | 2023-9-15 00:58:04 来自手机 | 显示全部楼层
[刚从忘记上传图片了]
我算是一个初学者,学的比较晚,大一的暑假才开始学习单片机。来分享一个比较有成就感的事吧,就是今年暑假,我先是从简单的Arduino入手,学习了基本的语法之后,通过Arduino做了些小的东西,后来我就想做一个WiFi图传小车出来,于是又去学习了ESP8266和ESP32C3,最后的车也是用这两个小板做的。因为还没有什么PCB设计能力,不会自己画板子,所以模块啥得都是买的现成的,摄像头图传方面也是直接买了ESP32CAM,通过几天的代码调试和测试,终于做出了我的是第一个真正意义上的项目,这个车在开启后可以连上我家的WiFi,然后在手机端可以查询到它的网络在线信息,并能通过设置好的安检来操作它移动。ESP32CAM传来的图像则是通过输入IP地址来访问查看,后续等学习的更深入了,我想把它也一直到软件里,在操作的同时就能看到图像。
IMG_20230811_235325.jpg
IMG_20230808_234655.jpg
IMG_20230808_234605.jpg
回复 支持 反对

使用道具 举报

hit-wpc | 2023-9-15 07:05:44 | 显示全部楼层
分享一个2021年电赛过程中的翻车经历吧
大家肯定和我有相同的经历,突然板子冒烟,示波器波形跳了一下就平了,心脏骤停,赶紧断电,手到处摸一摸看哪里发烫。很惨的是我在电赛最后一天的下午遇到了这个问题,我们做的是电源B题三相ACDC整流,当时队友和我都很疲惫,完成赛题后,只想赶紧录一段测试视频就封箱。但是当时时间有限,电装没有做好,调试电路过程中,一根线碰到了主功率部分,然后就出现了开头的那一段操作,一通手忙脚乱,当时还剩四个小时封箱交作品,大家都感觉比赛完了。还好我们做的一整套的备损。尤其是三相桥的半桥都是分立的。最后检查检查出来是其中一个半桥的驱动烧了,还好用的是隔离驱动,才没有全部gg。差不多花了半个小时查问题,有惊无险的排除了故障。我觉得对硬件工程师来说点亮二极管是家常便饭,但是点亮一个MOSFET就三天睡不着觉了。
下面是我们电赛的作品图,时间有限,真的很乱。以及出问题的三相桥

                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图


回复 支持 反对

使用道具 举报

bzhou830 | 2023-9-15 08:24:55 来自手机 | 显示全部楼层
玩电子设计翻车的事情太正常了。
先来说说记忆中比较深刻的一次翻车。在2012年的电子设计大赛中,做的激光打靶的那道题,鄙人负责摄像头采集和图像处理。比赛前几天本来是在实验室门窗都关闭的环境下的,最后一天的早上,题目要求的功能都做完了。赛友无意间拉开了窗帘,吃完早餐后,再来测试发现各种不对,图像处理后给的靶心完全就不准了。瞬间感觉脑瓜子嗡嗡的。好在经过调试发现是光线的影响,修改了图像处理中阈值的选取算法,最后也拿了个省一。

最近的一次翻车是给孩子做esp32对讲机玩具,心想这种简单的小板子不是分分钟的事,画好板子不管报错就提交嘉立创制版了。板子回来也没测试就焊接。上电瞬间就把防短路二极管给烧红了。回头一看PCB,VCC的一个插针直接在底层的覆铜接地了。解决办法就是用美工刀把那块覆铜给挖掉了。好在有个反短路的二极管,不然esp32模组估计就烧掉了。

总之,无论是从翻车还是折腾,主要还是沉浸在其中的那个过程很享受。
选择去发光,而不是被照亮
回复 支持 反对

使用道具 举报

emokable | 2023-9-15 08:28:38 | 显示全部楼层
hh,那我就写写上学期暑期课程做的东西,一个以arduino nano为核心的软硬件系统
adewatch模拟连线.png 主要运行流程如下:
运行流程图.png
总的项目开发持续了大概半个月,中间花费在等待购买的器材就花了好几天,买一个要三天才能送达,而且有时候效果还不佳,必须再买,加之开发中不断的新想法新功能又需要新的器材支撑,前前后后买东西就花了不少时间.
具体到各项功能的开发,一是需要对应的器材,二是要在github上或者arduino ide里下载相应的库进行学习,先得验证example是否能正常运行,再去针对自己所使用的功能进行拓展开发.

在早期的开发学习中我一直没把代码的大小纳入考虑的因素,因为在暑假课程期间所做的项目完全没这方面的焦虑,不存在flash或者sram太大无法烧写的情况.然而这次的开发从大小属实是不太够用了.这一部分在上面的代码整合里也讲过一些了,这边再说说开发单项功能的资源问题.
显示功能上,屏幕是我第一时间购买的,选择这个oled还是比较便宜的.本来是有考虑加入动图的,驱动库最初也是采用的U8g2这一通用库,也做了中文输出,发现空间确实不够用,尤其是中文显示,十几个字就能把sram占用完,U8g2的三种显示模式均尝试过,还试了gfx库,最后总算找到了U8glib这一功能简单占用少的库才得以建立起框架.还有就是做游戏的时候没注意到游戏帧绘制刷新的速度问题,造成过刷新,游戏画面撕裂,折腾半天才想起为每一帧增加延时.

再比如说我最早考虑的音乐播放功能,歌曲是以音符数组形式直接存放于nano板的flash里的,但是这样会带来高额的空间占用问题,而且音乐数目也有限,格式也必须进行转换,不能随心所欲的播放音乐.然后又考虑过从sd卡读取再播放,于是先购入了spi接口的sd卡读卡器,发现因为arduino是单核mcu,不太好做并行设计,在播放音乐时不能兼顾其他功能的实现,最后才换成的dfplayer方便后台播放,但是这样又只能放弃文件系统的实现了.

又再谈谈ESP-12F的开发,这个以esp8266为核心的wifi模块比起nano板来说性能强还几倍,如果以此为核心做开发的话,性能和功能肯定强不少.网上复杂的项目也比nano多得多,我自己移植过一个来试验,因为空间富裕,可以做更复杂的动画效果,好看不少.但是看了看大纲,我还是只把它当作网络模块来用了,要求以arduino nano为核心,不然多少有点首末颠置的感觉了.

蓝牙功能我并没有添加,主要还是不必要,已经有按键和旋钮做控制了,还有更直观的菜单逻辑,再加上蓝牙用串口调试既不够优雅,也有点画蛇添足之嫌.当然如果一定要的话也可以接上去,nano板的Tx,Rx接口依旧空闲,随时做好连接准备,代码里为改变标记值的语句以”或”的逻辑新增一个串口数值读取条件即可.

最后的最后,这次项目算是比较完整的开发了,而且作为暑期课程时间也很充足,相比于在过去课程中所做的项目,是有不小的进步了.在开发中, 结合上学期嵌入式系统的理论知识,我对运用到的各项协议(如USART,I2C,SPI)以及开发的资源局限性也有了更深的认识 ,亲自购买各项元器件自己动手搭建电路,体验创客diy的乐趣,实现一个个预期的功能,也是一件具有成就感的事情.通过这门课程的学习也让我对嵌入式开发产生了更深的兴趣,愿意去了解并做一些有意思的课外项目. 相比互联网上展示的各路大神作品,我也认识到了自己的不足,当然除去客观上有开发板性能和外设丰富程度的差距,在构思创意上也有差距,这些也需要在后期的学习中进一步锻炼.
最后做完了,拙作也放在github开源,算是给自己的这次开发存档了
屏幕截图 2023-09-07 225952.png
回复 支持 反对

使用道具 举报

lihuiyue | 2023-9-15 08:38:51 | 显示全部楼层
我是一名工作了两年的嵌入式工程师,我来分享一下我带实习生的经历吧。今年3月份公司招来了3名实习生,我负责带其中的一个实习生,他基础挺薄弱的,我让他做的第一件事就是焊板子,正好当时我设计了一版步进电机驱动板,当时开的有钢网,我就教他挂锡浆、贴元器件、焊台焊接。
他贴了一上午饭点前进行了焊接,当时我跟他讲检查检查有没有虚焊短路再上电,然后就一块高高兴兴去吃饭了,回来后我就开始午休了,他刚来精神也大中午就在那里检查板子,大概快一点半的时候我睡醒了,他在我斜对面坐着,我就迷迷糊糊的在哪发呆看着他在哪接电源,上电,然后板子上的一个驱动芯片开始冒烟,随后噗一下窜起来了一束火光,点亮了一颗芯片。当时我瞬间就精神了,赶紧说断电,他好像被吓傻了,愣了几秒才迅速把电源给断掉。
芯片用的是TMC2226,用过的朋友会清楚,芯片的中间有一个接GND的焊盘来散热,后来检查芯片中间焊锡膏涂的厚了,导致芯片其中几个引脚虚焊,一通电就断路了,少了外围电路芯片瞬间大电流给自己点亮了。
作为搞电子的一个梗算是搬到了我的身边,哈哈哈。算是一次带新人的经历,也是他成长的经历,分享给大家哈。
回复 支持 反对

使用道具 举报

sxo | 2023-9-15 08:40:32 | 显示全部楼层

在我参与的一个项目中,我们正在开发一款智能家居系统,包括智能灯光、智能窗帘和智能音响等。整个系统的核心是一个智能控制中心。

有一次,我们刚刚将智能控制中心连接到电源上,准备进行初步测试。然而,当我们按下电源开关后,整个房间突然陷入了黑暗中。

我们纳闷不已,灯光明明是我们要控制的对象,为什么按下电源开关之后却断电了呢?我们检查了电源线、开关和配电盒,都没有发现任何问题。

经过一番排查,我们意识到是智能控制中心的固件出现了一个严重的bug。当它接收到开关信号时,会误将自己识别为了灯光,从而关闭了自己。

我们纠正了这个bug,并重新上传了修复后的固件。这次,当我们按下电源开关时,灯光顺利地打开了,同时智能控制中心也正常工作了。

另外一个奇葩问题发生在我们开发智能窗帘部分。窗帘的打开和关闭是通过电机驱动的,我们设计了一个自动感应系统,可以根据光照强度来自动调节窗帘的开合程度。

然而,在测试该功能时,我们惊奇地发现,窗帘似乎无论如何都只会保持一半的开合程度,无法完全关闭或完全打开。

我们重新检查了电路和代码,但没有找到任何问题。最后,我们决定打开外壳,仔细检查电机和传感器的连接。

果然,我们发现在安装过程中,窗帘的线材被夹在了机壳的缝隙中,导致无法自由运动。通过重新调整线材,我们解决了这个问题,窗帘可以正常地完全打开和关闭了。

这些奇葩问题虽然曾经让我们感到头疼和崩溃,但最终我们通过不断地排查和尝试,成功解决了它们。


回复 支持 反对

使用道具 举报

lihuiyue | 2023-9-15 08:43:36 | 显示全部楼层
zhanlou
回复

使用道具 举报

Aoest | 2023-9-15 08:54:53 | 显示全部楼层
我也有个有趣的经历,可以说对所有的新程序员都有借鉴的意义。
故事的主人翁不是我,而是去年我们公司新招的一个电路工程师,当时他正在做他人生中的第一个项目,项目代码里面有一条是要遍历数组中的每一个元素,判断元素中的每一个字符串是否都是3个字符,并返回符合条件的元素个数。他在这里使用了一个for循环,但是得出的结果始终不对。
于是呢,我就被他叫去帮他解决问题,我看了一眼for循环里面的内容并没有什么问题,然后我就去别的地方找问题了。然后花了整整一个小时,回过头来检查for循环的时候突然发现右括号后面有一个分号。
很简单也很常见的一个语义错误,编译器检查不出来,只能靠自己的细心,所以说在写代码的时候多细心一点,可以节省后面很多的开发时间。 微信截图_20230915090717.png
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则