试玩单片机的进展和感想
警告:本文仅用于萌叔自己总结之用,对其它人而言可能毫无营养,没有阅读价值。
1.总结
自2024年10月接触Arduino Uno电子平台以来,
萌叔购买了2块开发板和一系列的配件,尝试使用这些配件,并完成了若干小实验。具体如下
1.玩转Arduino(1)-自制温度湿度计
2.玩转Arduino(2)-按钮控制小灯
3.玩转Arduino(3)-感应式垃圾桶
2. 感想
其实感想才是萌叔想重点说的
2.1 单片机的自动化控制相对软件开发要简单很多
生活中大部分的单片机使用的场景都非常简单,比如停车场的自动升降杆、感应式垃圾桶。对应的代码开发量非常的少。相对而言,现在的软件开发非常的复杂,一个普通工程师需要掌握多种开发语言,好几种框架云原生等等卷的飞起。
2.2 整个单片机开发过程,犹如搭建积木
每种配件厂商几乎都有完善且对应的驱动包,特别典型的是步进电机。每种配件相当于一块积木,普通开发者通常只需要使用配件对应的驱动,就可以构建出非常炫酷的功能。最终达到的效果是1 + 1 > 2 的。
2.3 配件和开发板之间也有标准协议进行通讯
类似 I2C和 SPI。
2.4 配件底层涉及多学科知识
笔者在2.1 提到的单片机的自动化控制相对软件开发简单,指的是不涉及配件底层知识,只调用驱动的接口的情况
然而一旦涉及底层,情况就复杂的多。
- 比如 RF433MHZ 涉及电磁波和电谐振
- 步进电机涉及电和磁力的转换
2.5 单片机的配套硬件和软件情况
单片机的硬件非常的弱,比如Arduino UNO的MCU ATmega328 运行内存只有2 KB。
以至于很多库(类似JSON和HTTP库)必须重新定制
软件方面是发现了FreeRTOS, FreeRTOS是有进程(Task)调度的。
单片机的场景,硬件性能弱,对应的软件也就简单,反而觉得更适合初学者学习了,萌叔推荐本科教育应该从单片机入手。
2.6 行业壁垒相比过去大幅降低了
这次尝试玩硬件,纯粹是一时兴起,然后萌叔发现上手几乎毫无难度。
这当然要感谢十几年的软件开发经历,但更多的还是要感谢时代的进步。
2.6.1 工业克鲁苏
中国的硬件制造商把开发板的价格卷到只要几十块,配件的价格卷到只有几块。
以前配件和开发板相连,往往还需要电洛铁焊接,现在一般都有对应扩展板,直接插端子就行。
2.6.2 Arduino平台
类似Arduino这种开源平台,使得开发板和配件驱动安装变得非常简单,代码开发调试也非常方便
2.6.1 开源精神
互联网(包含github)提供了完整的驱动和教程
3.开发板
- ESP32
- Arduino Uno
4.配件
编号 | 硬件设备 | 是否使用 | 备注 |
---|---|---|---|
1 | 湿度温度传感器 | 是 | |
2 | LCD1602 | 是 | |
3 | 按钮 | 是 | |
4 | LED小灯 | 是 | |
5 | 舵机 | 是 | |
6 | 单路马达 | 是 | |
7 | 红外线接收器 | 是 | |
8 | 超声波传感器 | 是 | |
9 | 实时时钟模块 | 是 | |
10 | 红外线传感器 | 是 | |
11 | RFID射频感应模块 | 否 | |
12 | 步进电机 | 是 | 只能朝一个方向转? |
13 | OLED显示屏 | 是 | |
14 | 旋转电位器 | 是 | 范围是0 ~ 978 |
15 | 继电器 | 是 | 收到高电平后,NO与COM形成通路 |
16 | 声音传感器 | 否 | |
17 | 小喇叭 | 否 | |
18 | RF433MHZ | 否 |
作者: vearne
文章标题: 试玩单片机的进展和感想
发表时间: 2024年11月22日
文章链接: https://vearne.cc/archives/40207
版权说明: CC BY-NC-ND 4.0 DEED