2022__我的嵌入式入坑之路

news2025/1/13 2:40:04

目录

一、学习篇 

51单片机:

python爬虫:

stm32单片机:

ad:

立创EDA:

openmv:

ardunio:

ESP32:

汇编语言:

ROS:

FreeRTOS:

matlab:

嵌入式Linux:

FPGA:

二、竞赛篇

广州市六校联赛

比赛阶段:

2022广东省电赛省赛

准备阶段

比赛阶段:

总结:

三、一些整活小项目

无刷残影小车:

手柄遥控器:

小电视:

电子蚊香:

刷win10系统:

四、不足与改进

五、对未来的展望


一、学习篇 

51单片机:

        大概是21年末考完试,大学已经上了一年感觉自己还是啥都不会,开始急了,想着要开始学一些实在的东西以后好打工,相对于纯软件我个人还是比较偏向于软硬结合的方向,所以选择从单片机开发入手。之前大一的时候实际上我是有接触过一点51单片机的,但是没有系统学过,所以还是相当于不会。

        开始入坑的第一个老师是普中科技,想必很多人都是从这里开始的,听了一阵感觉很多东西不是很理解,后来选择了b站up主“江科大自动化协”继续学习,个人感觉江科大的课对于新手来说更为友好,它是以一种学生的思维进行整个讲解,很容易理解。感觉通过51单片机的学习,整个人对于电子设计豁然开朗,懂得了整个单片机的运行过程,懂得了如何自己查原理图……心里有了电子设计中比较基础的框架。


python爬虫:

        当时大二一开学,首先花了一个星期z在b站上自学了一些python爬虫,因为之前大一学过C语言,语法部分过得很快,后面不会的话就去现查,当时还是在b站随便找了一个up主,最后做了一个爬取豆瓣电影信息的入门小项目就草草收场。嗯,感觉纯软件还是不太适合我.......


stm32单片机:

        stm32的入坑是从一次逛闲鱼的经历开始的,之前一直觉得stm32开发板很贵,直到有一天在闲鱼上看到nm二手的才100多果断买了。

这是一块野火的开发板,嗯那就开始听野火的课,听着听着感觉越听越迷糊(当时感觉野火讲的太细了,很多原理都看不明白,虽然我知道看不懂的那些以后一定有用)后来开始用野火的板子听正点原子的课,正点原子的课相对于野火的课来说,没有讲那么多底层的东西,更偏实际应用一点,对于刚刚跨入32大门的我急需刷刷成就感,到后面正点原子的课其实我也没有听完,感觉把几个重要的部分听了就可以了(GPIO,时钟,定时器,NVIC,中断,串口通信,ADC,IIC,SIP,CAN),这些学完再写一些代码,对于一般比赛绝对够用,剩下的功能可以需要用的时候再学。

后面用stm32做了很多东西,stm32是我电赛的主力军。基本写过一套功能完整的代码,后面的其他项目也是CV了


ad:

        AD的学习是我初探PCB的第一步,当时整个AD学起来感觉还是比较难受的,当时我是跟着b站up主“凡亿教育”开始学的,感觉up主讲的很细,还是挺不错的(包含各种快捷键,各种库的绘制和导入),学到后面自己画了个看着极其笨重的密码锁hhh,当时很有成就感。

 


立创EDA:

        学完AD感觉AD平时使用起来还是太笨重了,所以选择了更为简单的立创EDA,教程一搜就可以收到,我后续的很多项目都是用立创EDA实现的,立创EDA里面还有很多开源的小项目,平时也可以玩一下,另外还配套每月免费打样,感觉很适合刚入门的大学生。


openmv:

           openmv是为准备打电赛学了一点点,也可以说没怎么学,最后视觉方向交给其他队友了,当时就实现了个识别数字,后来用openmv看CSDN上大佬的代码,实现了一个视觉寻迹,openmv不如k210 


ardunio:

        学了51和stm32来看,ardunio可太友好了,当时是跟着b站up主“太极创客”学的,它编程十分的简单(有基础的同学一下午就可以学会)ardunio都是引用各种各样的库,很多东西都不用自己写,但是stm32用惯了之后感觉ardunio虽然简单,但是因为没有底层的一些操作,感觉还是不如32用的顺,可能是引脚太少功能太局限的缘故。


ESP32:

        当时开始学esp32还是好兄弟邀请我学的,我一般用ardunio的操作环境,在vscode 中安装platform io,然后就可以用vs快乐编程了,当时是跟着b站up主“Homepea”学习,简单来说就是用ardunio的编程方法去操作一块更为强大的芯片,感觉还是十分的好用。ESP32在国外很火,可能也是因为它好用的缘故吧。


汇编语言:

        汇编语言是大二有关于汇编的课(微机原理和单片机)要上,用的实验软件是Masm for Windows 集成实验环境 ,当时通过汇编的学习,明白了很多计算机的寄存器操作方法,现在看来感觉汇编还是太古老了,一堆寄存器的操作着实让人头大

当时也是用学校的试验箱完成了很多功能的测试,最后用汇编完成了一个电子密码锁的课设


ROS:

        当时因为要参加广东省电赛,项目需要,便斥巨资买了一套ROS机器人,从最简单的小海龟开始,一路上磕磕巴巴的搭出了一个ROS小车,因为是在树莓派4b上运行,效果实在是不佳,当时用的是“亚博”的东西,个人认为亚博封装太严重,基本都是教一些顶层调用,底层的代码完全不教,这使我实现自己的想法和功能的时候也是百般折磨,需要实现某些功能的时候基本就是一点一点在网上查,一行一行代码慢慢试。整体学起来很难受,以后应该不会再用亚博的东西了.......

 

 


FreeRTOS:

        FreeRTOS是每个嵌入式工程师进阶路上必不可少的一步,FreeRTOS是跟着b站up主“嗨小易”学的,up主是根据stm32的FreeRTOS讲的,可以实现学习+实践结合,从这里开始我就开始在CSDN上记笔记了。

FreeRTOS_Vizio__的博客-CSDN博客


matlab:

        matlab纯纯是因为上课要用,当时信号与系统实验没好好做,数字信号处理又要用,索性学了一下简单的matlab操作,实现了一些简单的基本的数字信号处理的作业。

Matlab_Vizio__的博客-CSDN博客


嵌入式Linux:

        跟着正点原子的“左盟主”学的,到现在没听完,感觉从FreeRTOS到Linux开发是一个大台阶,用的芯片是imx6ull,目前只学了环境搭建和裸机开发,其中各种操作还是挺复杂的,裸机开发给我学麻了,后面因为到期末基本就没怎么动过了,嵌入式Linux还在学习中


FPGA:

        学校有VHDL语言的必修课,学了FPGA之后,感觉FPGA和其他类型的开发芯片还是有很大区别的,之前写代码一度被绕晕在“串行”和“并行”中,用VHDL也实现了一些简单的功能(分频器,计数器,电子秒表,交通灯,抢答器)

        假期学校发(借)了一块正点原子开发板,想着不利用一下就浪费了,现在在自学Verilog,之前第一次用Quartus还是在数电实验,现在已经用的比较熟练的,个人认为Quartus还是非常好用



二、竞赛篇

广州市六校联赛

选题:

        当时有三道题可以选,因为之前一直在玩小车,所以果断选择小车题目。当时题目是模仿2021国赛F题《智能送药小车》,对地图做了很大的简化。

分工:

        我负责小车整体框架的代码编写,硬件测试。另两位同学,一位负责辅助我写一下小车代码的部分功能,一位负责视觉识别车载物体的种类。

比赛阶段:

        当时那段时间压力还是比较大,这是我第一个综合起来的实战项目,因为比赛DDL的限制,我基本上是每天都去实验室做小车,在此过程中还是出现了不少bug,基本把所有的坑都踩了一遍,更换过电机,点燃过芯片,各种代码上的bug就更不用说了,因为当时赛道质量不是很好,反光很严重,使用传统的红外传感器寻迹效果很差,后面改变思路用openmv视觉寻迹,效果还不错,当时整车的电路板基本都是自己在立创上画的。

 

在这特别感谢一下我的好兄弟奇数岳,我遇到问题的时候基本是我们两个一起debug,帮我解决了很多问题,经常陪我在实验室熬到晚上11点多才回宿舍。最后比赛的时候小车临场出bug程序疯狂跑飞最终在决赛阶段仅仅拿到了优胜奖(7/70),还是有点可惜的。

             

这次比赛最大的问题是:工作分配不均衡,感觉不能一个人独揽主干部分,这样整个项目做起来还是太累了。这次比赛也为后面的比赛积累了很多的经验。


2022广东省电赛省赛

准备阶段

选题:

        因为广东省省赛属于自由命题的,没有四天三夜的限制,所以大家越卷越好,当时觉得做一个智慧医疗的主题比较好,顺应当时情况,选择做一个核酸检测系统。

功能大概是这样的:

在新型冠状病毒肆虐全球的背景下,为了有效降低医护人员在给病人进行核酸检测时被感染的风险、提升咽拭子核酸检测采样的规范性,减轻医护人员的工作压力,提供时间上更为灵活的采样模式,为核酸采样者提供更为安全的检测模式。该核酸检测系统包括:总控制台核酸检测模式设置(单检/混检),扫码器扫码并上传数据,机械臂咽拭子采样,智能小车对区域环境和人员消毒的功能,真正的实现了全自动化,全无人化的核酸采样点的全部功能。

分工:

        我负责ROS场地消毒小车的制作,ROS机械臂的消毒部分的制作,核酸指示灯的制作。另外两个同学负责ROS机械臂采集核酸部分的制作,系统总控台的制作,扫码台的制作,网页数据终端的制作,3D打印元件(棉签盘与试管盘)的制作,FOC闭环控制棉签盘与试管盘。

正式准备:

        暑假一回家大家就开始着手准备这件事了,已经开始,我们组内规定就是无特殊情况3天开一次20分钟左右的小会,当时准备阶段大家也陆陆续续开了七八次会

比赛阶段:

临近比赛阶段,大家提前返回学校线下备赛,这时候大家已经把基础功能准备的差不多了就等整个系统联调,在这段时间我们出了许许多多的大大小小的问题,大问题大到整个系统完全不工作,各模块通信完全中断,机械臂硬件损坏核酸检测动作完全无法完成。最后在无数次debug之后可算是完成了整个项目。那段时间压力真的巨大无比,最终正式评比的时候也是出现了一些小插曲,好在有惊无险

总结:

        本次比赛吸取了上次的经验,整个项目分工比较合理,但是因为整体难度比较大模块多,所以整个系统运行起来还是不那么稳定,在比赛中有时候我和我的队友情绪上也不是很好(可能因为心里比较着急),总之这次比赛算是最难忘的一次比赛了。感谢我的队友!大家相互成就!



三、一些整活小项目

无刷残影小车:

 使用FOC驱动四个无刷电机(大疆拆机),速度极快,功率调在10%左右,速度基本就到了四五米每秒,目前还是半成品,项目有点烂尾了,不知道奇数岳还要不要继续


手柄遥控器:

 小车的配套手柄

        

本来是这样的最后因为嘉立创尺寸超了,最终极限改成方形的.......不过手感不错


小电视:

跟着开源项目做的


电子蚊香:

这个不多说了,一点用没有


刷win10系统:

在电脑上装双系统,按错键了系统崩了。。。。。。最终得到了一台新电脑



四、不足与改进

没好好学习课内有一段时间长期逃课............

英语比较差六级还没过........

五、对未来的展望

2023一战成硕!!!

保持一颗学习的心!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/162906.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【学习】大数据关键技术

学习内容描述: 大数据涉及的四个环节是什么? 云计算服务的三种服务类型是什么? 重点知识: 大数据涉及的四个环节:1、数据采集;2、数据存储;3、数据管理;4、数据分析与挖掘。云计算…

大型智慧灌区信息化管理系统云平台 智慧灌区信息化管理系统解决方案

平升电子大型智慧灌区信息化管理系统云平台/智慧灌区信息化管理系统解决方案,对灌区的渠道水位、流量、水雨情、土壤墒情、气象等信息进行监测,同时对泵站、闸门进行远程控制,对重点区域进行视频监控,实现了信息的采集、统计、分析…

基于pyautogui的自动识别定位原神风物之诗琴按键弹奏程序

前言:为了学习pyautogui这个库的使用,我准备用它做点东西。比如一个自动弹琴的程序。不过这个琴不是现实里的琴,而是原神里的风物之诗琴。(这里有个网页版模拟器可以试试:风物之诗琴模拟器 (haveyouwantto.github.io)&…

Spring 监听器listener原理

1.创建本地事件和事件监听器/*** 事件类*/ public class MyEventA extends ApplicationEvent {private static final long serialVersionUID 1L;public MyEventA(Object source) {super(source);System.out.println("MyEventA 构造方法被执行了...");}public void o…

基于matlab开发的车牌检测与字符分割项目附源码

文章目录1 任务概述项目完整matlab源码2 基本流程2.1 车牌定位2.1.1 图像预处理2.1.2 边缘检测2.1.3 形态学操作2.1.4 重操作判断2.1.5 区域选择2.1.6 倾斜校正2.1.7 精确选择2.2 字符分割2.3 字符识别3 结果分析3.1 车牌定位3.2 字符分割3.3 字符识别4 总结5 参考资料1 任务概…

安装vim的最新版本

1、通过源码安装 对于Linux系统,可以通过源码编译来安装最新版本,我在wsl ubuntu下的操作如下: 获取vim的源码: git clone https://github.com/vim/vim.git刚开始我帆了墙,结果下载不动,关了帆墙软件可正常…

【入门AUTOSAR网络管理测试】AUTOSAR网络管理规范需求解读

文章目录前言一、名词解释二、NM报文1.NM报文格式2.NM报文数据场内容三、NM状态机1.NM状态转换图2.状态前言 AUTOSAR Automotive Open System Architecture,汽车开放系统架构,由全球汽车制造商、部件供应商及其他电子、半导体和软件系统公司联合建立&am…

Qt扫盲-QPlainTextEdit理论总结

QPlainTextEdit理论总结一、概述二、用途一:纯文本展示1. 用法2. 只读快捷键三、用途二:纯文本编辑器1. 用法2. 快捷键绑定四、与 QTextEdit 的不同一、概述 QPlainTextEdit是一个只支持纯文本的高级查看器/编辑器。 它经过优化,可以处理大型…

Mac系统下matplotlib中SimHei中文字体缺失报错的解决办法

问题描述import matplotlib.pyplot as plt plt.rcParams[font.sans-serif][SimHei] plt.rcParams[axes.unicode_minus]False使用matplotlib画图时,因为缺少字体,、图像上label上的中文显示时空白小方块。因为matplotlib默认没有中文。解决方法&#xff…

多维时序 | MATLAB实现VMD-SSA-KELM和VMD-KELM变分模态分解结合麻雀算法优化核极限学习机多输入单输出时间序列预测

多维时序 | MATLAB实现VMD-SSA-KELM和VMD-KELM变分模态分解结合麻雀算法优化核极限学习机多输入单输出时间序列预测 目录多维时序 | MATLAB实现VMD-SSA-KELM和VMD-KELM变分模态分解结合麻雀算法优化核极限学习机多输入单输出时间序列预测预测效果基本介绍程序设计学习小结参考资…

城堡、游乐园、地下城!!!500+ 超棒 FBX 模型素材,全部都免费!

近期 Cocos 社区有好几位热心的开发者,整理了一些 CC0 协议 的游戏资源。如果你对 CC0 协议还不太了解,我找到一个中文版的协议说明,看下图:有几点比较重要:作者放弃著作权,已将作品贡献至公共领域可以复制…

【ROS】—— 机器人系统仿真 —RDF、Gazebo与Rviz综合应用(十六)

文章目录前言1. 机器人运动控制以及里程计信息显示1.1 ros_control 简介1.2 运动控制实现流程(Gazebo)1.2.1 为 joint 添加传动装置以及控制器1.2.2 xacro文件集成1.2.3 启动 gazebo并控制机器人运动2. 雷达信息仿真以及显示2.1 新建 Xacro 文件,配置雷达传感器信息…

C++STL之vector的模拟实现

由于vector和string的接口使用方法类似,这里便不再详细讲解vector各种接口的使用了,可以参考之前所发布的string的使用,或者从官方文档中获取详细的使用方法. 目录 vector介绍 构造函数(有参,无参,迭代器…

【14】Docker network | bridge | host | none | container

目录 1、Docker 运行的基本流程为: 2、Docker0 3、Docker默认的三种网络模式 4、Docker的网络命令 5、网络模式 6、实例: 7、bridge模式 8、host模式 9、none模式 10、container模式 11、自定义网络 1、Docker 运行的基本流程为: 1.用户是使用 Docker Clie…

UDS诊断系列介绍10-28服务

本文框架1. 系列介绍1.1 28服务概述2. 28服务请求与应答2.1 28服务请求2.2 28服务正响应2.3 否定应答3. Autosar系列文章快速链接1. 系列介绍 UDS(Unified Diagnostic Services)协议,即统一的诊断服务,是面向整车所有ECU的一种诊…

session利用的小思路

session利用的小思路 前言 做题的时候经常考到session利用,常见的基本就两种,session文件包含和session反序列化,之前没有详细总结过,就写写吧。 session文件包含 php.ini session的相关配置 session.upload_progress.enabl…

15、ThingsBoard-自定义阿里云SMS规则节点

1、概述 一个物联网平台承载着很多设备的连接,当设备出现异常的时候,能够快速的通知到运维管理员是非常重要的,thingsboard提供了自定义配置邮箱,但是它对支持发送短信的不是很友好,都是国外的sms服务商,我反正是不用那个,在国内常见就是阿里、腾讯、华为、七牛常用的s…

CORBA,Common Object Request Broker Architecture 简介

CORBA,Common Object Request Broker Architecture 简介 1. 简介 CORBA(Common ObjectRequest Broker Architecture,公共对象请求代理体系结构)是由OMG组织(OMG组织是一个国际性的非盈利组织,其职责是为应…

【17】Docker | CAdvisor_InfluxDB_Granfana | 成功安装

目录 1、查看目前docker容器的状态 2、三大组件 【1】、CAdvisor 【2】、InfluxDB 【3】、Granfana 3、用docker-compose安装三个组件 4、三大组件的登录 【1】浏览cAdvisor收集服务,http://ip:8080 【2】浏览influxdb存储服务,http://ip:8083 …

python日志处理模块讲解-loguru

说明: 本篇文章主要讲的是python日志模块loguru详解,感兴趣的同学赶快来看一看吧。 背景: 在部署一些定时运行或者长期运行的任务时,为了留存一些导致程序出现异常或错误的信息,通常会采用日志的方式来进行记录这些…