数位 I/O 视窗当然是要有数位讯号相关功能啦。
在 Supported Modes 中,可以看到所有支援功能:
DIGITAL_INPUT (0x00)
DIGITAL_OUTPUT (0x01)
ANALOG_INPUT (0x02)
PWM (0x03)
SERVO (0x04)
SHIFT (0x05)
I2C (0x06)
ONEWIRE (0x07)
STEPPER (0x08)
ENCODER (0x09)
SERIAL (0x0A)
INPUT_PULLUP (0x0B)
SPI (0x0C)
SONAR (0x0D)
TONE (0x0E)
DHT (0x0F)
其中与数位 I/O 相关功能为:
DIGITAL_INPUT (0x00)
DIGITAL_OUTPUT (0x01)
INPUT_PULLUP (0x0B)
以下依序介绍功能。
Uno 的每一只脚位都可以作为数位输入使用,也就是每一只脚位都可以接收 0 至 5V 的电压。
和输入相反,Uno 的每一只脚位也可以作为数位输出使用,也就是可以输出 0 至 5V 的电压。
基本上和数位输入相同,都是输入数位讯号,差别在 Uno 会在内部启用上拉电阻,
甚麽是上拉电阻?我们可以先来谈讨以下问题。
电子助教:「一定是 0 吧」
鳕鱼:「答案是『不一定』。」
电子助教:「怎麽那麽多不一定 (´・ω・`) ... 」
鳕鱼:「就像人生一样嘛」
电子助教:「... 」
当 Uno 脚位为数位输入时会进入高阻抗状态,此时如果输入脚位断路,没有任何电压接入,就会处於「浮接(Floating)」状态。
这个时候脚位非常容易受到外部磁场干扰,变成像天线一般的存在,为了避免这种情况,就需要「上拉电阻」登场了。
上拉电阻会在开关断开後,将电压固定至指定电压(Uno 为 5V),而下拉电阻则是固定至 GND(0V)。
想阅读更详细说明的朋友可以参考以下连结:
浮接 Floating 是甚麽? 电路的不确定因素
终於要来实际接电路了!
首先需要准备以下设备与零件:
三用电表 * 1
面包板 * 1
按钮 * 1
推荐使用这种两只脚的按钮。
LED * 1
全名「发光二极体(light-emitting diode)」,功能与灯泡相同,通电就会发亮。
准备甚麽颜色都可以。
电阻 220 欧姆 * 1
用来分配电路中的电压、电流。
开始连接电路前必须先确认每一个硬体都能正常运作,让除错更有效率,如同单元测试的概念一般。
利用三用电表确认按钮是否能够正常通导。
如果电表都没有发出哔哔声,那就换一个按钮试试看。
利用三用电表确认 LED 是否能够正常发光。
LED 没有亮的话,可以试试看:
利用三用电表确认电阻选用是否正确且功能正常。
如果数值都一直显示 1,可以试试看:
电子助教:「为甚麽量出来和 220 差有点多?」
鳕鱼:「因为是便宜货嘛 ╮(′~‵〞)╭」
电子助教:(怜悯的眼神 (´● ω ●`))
鳕鱼:「亮个 LED 用不着精密电阻啦 ⎝(・ω´・⎝),才不是因为我买不起好嘛!」
电阻依其品质有其允许误差范围,具体判读方式可以参考连结:电阻色码
以下为参考接线方式,可以不用完全相同,只要效果相同即可。
使用 Uno 板子上的 5V 为 +、GND 为 -。
我们希望讯号平常状态为「低电位(0)」,按下状态为「高电位(1)」,所以这里采用下拉电阻。
因为 Uno 启动内部上拉,所以不需要任何上下拉电阻。
长脚一定要接在与 Pin 连接的位置,因为我们要由 Uno 输出高电压推动 LED 灯,所以 Pin 需要连接 LED 的正极。
如果流经 LED 的电流过大,会导致 LED 过热烧毁,所以需要电阻进行「限流」,不要让电流过大。
换个比喻,电阻就像是河流中的石头,可以减缓水流(减少电流),保护水车(LED)不会被冲坏(烧坏)。
其实驱动元件最好的方式应为「透过额外的电晶体(BJT 或 MOSDET 等等)驱动,Uno 只负责提供控制讯号」。
根据官方资料 Uno 所有 I/O 脚位输出总电流不能超过 200mA,若超过容易造成 Uno 损坏,但为了简单呈现效果且只有 1 个 LED 也不会超载,所以在此使用脚位驱动。
<<: D19 使用分页(Paginator) - 首页跟个人文件页
前言 前面学习了很多pandas的功能 在标签的处理上还有资料的分析上也有进行介绍跟实际资料的演练 ...
动画 (animation) 可通过设置多个节点来精确控制一个或一组动画,常用来实现复杂的动画效果。...
一、前言 上一篇文章介绍了 VSCode 好用的快捷键,此篇开始介绍其他扩充之实用功能罗。没意外...
因应这次的挑战赛, 活生生的挤了好多Excel的主题出来, 回想这个挑战的初衷, 主要是因为我有发现...
近期接触到了这本书:「麻省理工 MIT 黄金创业课」 透过六大面向以及二十四个步骤来系统性地提升创业...