欢迎大家
大家好,我是费老师,
做过STEAM教育,嵌入式硬件开发,方案交付经理,
是一位爱分享的十年老创客。
目前正在全职减肥调养身体,抽空分享自己正在学习的以及喜欢的技术。
这节课,咱们继续《Arduino硬件原理》,正式第一讲,整体观察原理图
先从宏观的视角,看看这个项目的资料,尤其是原理图。
这节课的核心目标是:
- 宏观视角看原理图,原理图拆解成N个部分,为后续的拆解分析学习打下结构基础;
- 学会在Arduino官网上寻找资料。
获取原理图及引脚图
Arduino作为开源项目,资料都可以免费获取到:
- 主要都在Arduino的官网:www.arduino.cc/
- UNO的介绍
-
- 官方店铺的链接:store.arduino.cc/products/ar…
- 官方文档的链接docs.arduino.cc/hardware/un…
英文文档
【费老师也是英语渣,但现在AI这么发达,辅助我们阅读英文文档的工具可太多了】
推荐2个我常用的办法:
- Chrome浏览器的插件:沉浸式翻译,自带的免费的不好用,可以自己申请其他接口,有些带免费额度的,我用的是腾讯的混元大模型;
- 直接把英文抛给AI应用,让他翻译。
【虽然AI可以辅助我们阅读英文文档,但是想要学好嵌入式,阅读英文文档的能力真的很重要】
【演示:怎么在官网上找到需要的资料】
关于查看原理图不方便,其实还有很多办法:国产的二次开发的Arduino产品非常多,也都有公开原理图等资料。
但咱们这个课程,重点就是先拆解分析原版图纸,至于二开的图纸,那可以分析学习的东西就太多了,课上就不占用时间来操作了。
引脚图
原理图
拆解
【你认为应该拆成哪些模块呢?】
其实Arduino也是一个开发板,从硬件的角度,它逃不开一些基本的拆解思路:
-
电源管理模块:具有提供或转换电力的功能,高级的还具有“管理”能力:
a. 提供电力功能:电池直驱单片机的设备;
b. 转换电力是最常见的类型:220V转12V,各种5V充电器、适配器、及开关电源等;
c. 管理能力:充电管理(用多大的电压电流充电,何时截止),能耗监测,电力切换功能(谁有劲用谁),另外还包括了各种保护功能。 -
单片机最小系统模块:围绕核心的单片机,能让单片机运行起来的最小组成部分,也是接触一个新单片机最基本的学习任务
a. 单片机本身:概念应该不用多说,算是开发板上最核心的器件,可以简单粗暴地理解成“单芯片计算机”(包含了计算机概念上的各部分:CPU,内存,硬盘,输入输出设备,等);
b. 时钟电路:有的单片机内置,有的需要单独做,作用都是给单片机提供了一个稳定准确可靠的“心跳”;
c. 复位电路:开机的时候让单片机回到初始状态,或者运行过程中让程序重新开始。 -
调试模块:单片机总归是要运行程序的,大部分开发板都集成了调试和下载的功能模块,有一部分已经在量产的产品,为了成本和可靠性,一般会把这部分省略,程序是在单片机焊接到电路板之前,烧录进去的;
-
接口模块:计算机的运行基础是大量的数字电路,控制和运算0和1,单片机上通常有众多引脚,单个来看这些引脚,能够控制引脚上电压的大和小,简单粗暴地讲,大可以表示1,小可以表示0。程序就是控制或读取这些引脚的状态来实现各种功能的。各种接口,按照不同的用途可以划分很多类型,例如:
a. 通用的输入输出接口,比如按下按钮这个动作,单片机识别为1,松开按钮,单片机识别为0,单片机控制某个引脚输出1,控制灯亮,输出0,控制灯灭;
b. 各种通讯接口或协议:SPI,I²C,UART等;
c. 指示灯; -
其他辅助功能模块:为了实现更复杂的需求,需要增加的功能模块,举几个例子:
a. 时钟模块:单片机可以通过时钟模块,知道当前的日期时间,比如万年历,各种电子钟;
b. 显示模块:将一些数据数值通过屏幕或者数码管或者指示灯,展示给用户,比如电子秤;
c. 存储模块:有一些数据或参数,在设备关机断电后,依然可以保存在模块中,下次开机可以继续使用,比如空调记忆关机时的设定。
构建脑内地图
【原理图怎么看】
- 标题框信息:养成习惯一定要看,里面包含了很多信息;
- 元器件:基础元器件就那么几种,很多元器件,共用一个图形,只是型号参数性能不同;
- 线路/网络:连接起来就电气导通了,有时为了好看整洁,会使用各种网络名,想通名称的网络,即使没有连起来的线路,它们之间也是电气导通的。
我们来拆解Arduino UNO的原理图
【实操:手动拆解】
结尾
这节课的核心目标,我们达成了没有?
- 宏观视角看原理图,原理图拆解成N个部分,为后续的拆解分析学习打下结构基础;
- 学会在Arduino官网上寻找资料。
任何技艺,要想达到登峰造极的境界,唯有终身学习一条路!
这次的课程是V0.1,难免可能有错误,请大家友善指出,
我学习后,会尽快修订错误,并上线V1.0。