作者:Becky Stern
关键词:Arduino,原型设计,电路模拟器,无焊面包板
从事电子行业或者是电子设计爱好者,一定有听过Arduino。但你所理解的Arduino是什么呢? 是一款开发板? 还是一家公司? 不管怎样,Arduino都是电子设计不可或缺的重要资源,在编程上提供极大的帮助。以下视频将通过利用Arduino建构简单的电路,让你了解其功能,加强你进行设计的能力,赶快点开来看吧!
https://v.qq.com/x/page/p3561yzhb76.html
Arduino 让科技创新变得简单。它是一系列微控制器板,让您感知周围的环境并控制电子设备。Arduino 一词指的是电路原型设计过程的几个层面。其中一个是指硬件,包括官方的 Arduino 板和成千上万种兼容Arduino的衍生产品。与硬件进行通信的软件被称为集成开发环境,名为Arduino IDE。而且,你使用的编程语言也叫做Arduino,它是基于C++。Arduino还可以是指Arduino公司的商标,他们制造官方的开发板并维护开源文档,有助于使整个生态系统免费且便于共享。
Arduino 是一个庞大的全球社区,这意味着你可以在网上找到几乎数不尽的灵感、代码范例和关于你的问题的答案。
跟着本系列视频进行操作,你将逐渐掌握用电控制元器件和Arduino语言编程的关键概念。
以下是推荐用于开始 Arduino 硬件原型设计的材料:
- Arduino Uno或其他兼容板和USB 电缆
- 无焊面包板
- 跳线或实心连接线
- 3V 通孔 LED
- 100-1000 欧姆的通孔电阻
您还可以使用 Tinkercad Circuits 或 Fritzing 等电路模拟器开始,无需任何硬件。
建议从 Arduino Uno 开始,或使用兼容板,例如 Adafruit Metro、Sparkfun Redboard或 Seeeduino。这些专为初学者使用的开发板有较大的标签,帮助你清楚地看到你插入边缘引脚上的连接器,而这些连接器连接到微控制器芯片本身的各种引脚。微控制器芯片是一个微型计算机,运行我们从常规计算机上上传的程序。在开发板上,你还会看到一个复位按钮、一个电源指示灯、一些用于指示开发板何时发送和接收数据的LED,还有一个连接到引脚13的LED,用于在不插入其他元器件的情况下进行测试。其他元器件支持微控制器,并使电路的布线和编程变得简单,让不会电气工程的人也可以做到。
请确保使用正确的USB连接线将开发板连接到电脑上,这里需要的是支持数据传输的数据线,而不是外表相似的那种仅能用于充电的线。区分它们的方法是,使用数据线时 Arduino 开发板会出现在软件的端口菜单中,而充电线则不会。确保这一点的最佳方法是购买注明是数据线的线。
您还需要一块无焊面包板,它的内部有金属条和许多孔,可以让你快速、轻松地连接元器件。
我习惯用固定板将面包板和 Arduino 板连接起来,这样我的电路就可以更好地结合在一起。
你需要一些导线来连接Arduino,无论是面包板专用的导线或者实心铜芯导线都可以。
在进入软件部分之前,我们可以先建立一个简单的电路。使用出厂默认程序让一个连接到引脚13的LED闪烁,引脚13连接到LED较长的正极,而 LED 较短的负极通过电阻接地,以帮助限制电流,防止LED烧坏。如果你想了解更多,可以观看我们系列前期的 “【与美女创客入门电子世界】在做LED开发?这个视频很实用!”( https://mp.weixin.qq.com/s/LkoLgkPBZf76MALzcF2mmQ)。对于这个电路,需要一个功率为1/4 瓦的电阻,阻值从100欧到1000欧都可以。
用导线将Arduino上标有标签的5伏电压和地线引脚连接到无焊面包板上的母线,这些母线沿着无焊面包板的两侧延伸,方便大家轻松地接入电源和地线。对于这个电路来说,没有严格要求使用地线母线作为连接面包板地线的中间接口,但在原型设计时连接母线是最佳做法。
当在断开电源的情况下完成了电路,接着就可以将开发板连接到电脑。新电路中的LED应该会与开发板上的迷你贴片式LED一起闪烁,如果没有闪烁,请再次检查你的线路是否都连接好,并确保你的LED没有插反。开发板的连接孔非常小,所以很容易把导线插入错误的行中。
当LED闪烁,就可以深入研究控制它的程序。基本的闪烁范例可在Arduino软件中下载,并需要将其安装到电脑上。打开软件,找到文件 > 范例 > 01.基础,最后点击闪烁。
所有这些额外的符号都是Arduino语法的一部分,但不用感到害怕,从零开始学习并编写合适的代码需要时间,这里会向你一一解释,当你的水平有所提升,可以随时参考这些例子。
第一部分是代码块注释,接着是代码的设置部分,用于设置程序后续所需的内容,它在程序启动时就会运行。这里的闪烁程序将引脚13设置为输出,这样可以使开发板发送信号,而不仅是接收信号。
程序的主体部分在循环内,只要开发板通电,这部分代码将重复执行。双斜杠后面的灰色文字是注释,使你更容易理解程序。
这里使用的输出命令称为digitalWrite(),它是一个函数,用于将一个引脚设置为HIGH或LOW,即打开或关闭状态。这里会使用函数delay()来暂停程序,它会暂停指定的毫秒数,一秒等于1000毫秒。总的来说,该程序以一秒的间隔打开和关闭一个LED。这个时间间隔可以改变,只需要改变delay的数值,就可以自定义这段代码,比如500毫秒或2000毫秒。
要将程序上传到Arduino开发板上,请确保USB连接线插好,并从工具菜单中选择对应的开发板和端口。如果你的端口没出现或找不到对应的端口,请尝试拔掉开发板,检查端口菜单,然后重新插上开发板,再次查看端口菜单,看看有没有出现,然后点击上传按钮,以将闪烁范例代码传输到Arduino开发板上。
标有TX和RX的LED指示灯会闪烁,显示软件正在与开发板进行通信,并会显示“上传完成”的通知。片刻后,设置的闪烁效果就会出现。
如果要上传到一个兼容Arduino,而非Arduino公司的开发板上,可能需要安装额外的驱动程序,才能在端口菜单中看到该开发板。参考产品文档便可了解所需操作。
现在已经成功运行了一个数字示例,下一步是要更深入地了解Arduino的功能。当然,闪烁是不错的功能,但也可以让LED处于半亮半灭的状态。方法是编程渐变效果,但在Arduino上只有几个引脚能够进行类似模拟输出的操作,这些引脚在你的开发板上会用一个小波浪线(~)或其他标记来标明。
在进行任何修改之前,请先拔掉连接线,然后将连接到引脚13的导线插入标有PWM标记的引脚9。
在Arduino软件中点击文件 > 范例 > 01.基础 > 渐变,然后将开发板连接上电脑,上传该代码到Arduino板上,就可以看到LED的渐亮和渐灭效果。
Arduino板只能生成数字信号,即HIGH和LOW,但analogWrite() 通过脉冲宽度调制(PWM),来模拟在开和关之间的亮度变化,从而实现看起来像是亮度调节的效果。LED快速地开和关,便会觉得是看到光线变暗。LED点亮和熄灭的时间比例决定了LED的亮度。
看看代码,便可以了解这种渐变效果是如何实现的。可以在 Arduino 首选项中启用行号,以便更好地引用代码的不同部分。
第16行到18行说明了程序中使用的三个变量;第23行的设置部分将引脚9配置为输出;在第29行,analogWrite()函数根据作为变量的亮度值来设置引脚9的输出;在第32行,亮度通过数值为5的fadeAmount递增。
第35行使用if语句通过比较运算符检查亮度,如果亮度小于或等于零,或者大于或等于255,则执行内部代码,否则,跳过该部分。因此,代码会增加亮度,直到达到或超过255。然后,将fadeAmount设置为-5,并递减亮度直到达到零或小于零。最后的delay()函数防止代码运行过快,以至于你无法看到效果。
PWM的快速闪烁是为什么有时在相机或手机上,录制LED灯时会出现闪烁的原因,这取决于快门速度。PWM也用于在RGB LED中实现颜色混合,每种颜色的LED被设置为不同的亮度级别,当它们在同一个封装中混合时,可以形成任何颜色的光。
在这个Arduino基础入门教程中,最后一个要介绍的概念是for()循环,也称为计数循环。它从一个初始值计数到一个上限值,在这个程序中,我们以5为增量从0计数到255。就像之前的LED渐变程序一样,这表明有不止一种编写相同程序的方法。
你也可连接更多的LED,并使用for()循环来为它们添加动态效果,在for()循环完成计数后,主循环的剩余部分会执行,然后重新开始。
刚开始接触Arduino可能会让人感到压力,但别忘了当你遇到问题时,可以在网上查找相关资料。Arduino官网有一个很实用的参考部分,可以在那里找到代码每个部分的解析和示例,还有一个社区论坛,可以在其中找到与你的项目相关的协助。
对于电子设计或电子爱好者来说,Arduino是非常实用的工具,它可以帮助你完成一些设计,而且还有丰富的资源为你解决疑难。掌握好使用Arduino的技巧,相信会是一大助力,成就出更多你的创意作品。我们期待着家它们的诞生。
关于本系列视频
电子设计博大精深,对于初学者来说,有一定的难度。本系列视频旨在介绍一些入门级的技术和技巧,包括电路设计基础知识、简单编程等,让初学者从基础开始,再一步步向更进阶出发,在电子设计的世界里,发掘更多乐趣,同时也可以让电子设计爱好者温故知新。
关于Becky Stern
Becky Stern是一名创客,拥有多年设计电子项目的经验,创作和分享是她两大爱好。在独立创业之前,她曾担任 Instructables (Autodesk) 的产品经理、Adafruit 的可穿戴电子产品总监等。她的作品曾被 BBC、CNN、Business Insider、Forbes 和 Science Friday 等知名媒体报道过。她创建了数百个关于技术和手工制作的在线DIY教程和视频,旨在分享她的知识,帮助同是电子设计爱好者的同路人学习,以及相互交流。
喜欢【与Becky入门电子世界】系列视频吗? 请关注订阅并点赞和分享,敬请留意下一期的播放!
相关产品:
Arduino |
DFRobot |
Adafruit |
Adafruit |
Adafruit |
SparkFun |
Seeed Technology |
小编的话:
作为一个多功能的电子开发平台,Arduino为工程师提供了广泛的应用场景和学习机会,有助于我们提升技能、扩展视野,并在职业生涯中取得成功。相信通过这期视频内容,我们对如何利用Arduino来进行电路设计有了更多的了解。您对Arduino的应用有哪些疑问和经验?您是否活跃在Arduino全球社区?欢迎留言,分享交流!
******
如有任何问题,欢迎联系得捷电子DigiKey客服团队。
中国(人民币)客服
- 400-920-1199
- service.sh@digikey.com
- QQ在线实时咨询 |QQ号:4009201199
中国(美金)/ 香港客服
- 400-882-4440
- 8523104-0500
- china.support@digikey.com
到微信搜寻“digikey”或“得捷电子”
关注我们官方微信
并登记成会员,
每周接收工程师秘技,
赚积分、换礼品、享福利