0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Arduino微控制器

454398 来源:工程师吴畏 2019-08-13 17:29 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

第1步:Pssst,公民科学和“官方科学”有什么区别?

最大的区别在于,正如我所说,公民科学是“手波浪”,这意味着存在许多错误和不确定性,并且没有严格的过程来识别它们。因此,通过公民科学得出的结论远不如科学科学那么准确,不应该依赖于做出严重/改变生命/危及生命的主张或决定。*

话虽如此,公民科学是建立对各种迷人科学现象的基本理解的好方法,对于大多数日常应用来说已经足够好了。

*如果您正在进行公民科学研究并发现有潜在危险的事物(例如水中铅含量过高),请通知您的教育工作者(如果适用)并联系相关机构和专业人士寻求帮助。

第2步:什么是Arduino ??

Arduino是一个微控制器板和集成开发环境(“IDE”),这是一种说“编码程序”的奇特方式。对于初学者,我强烈推荐 Arduino Uno 主板,因为它们非常强大,可靠且功能强大。

Arduino板是公民科学项目的不错选择,因为它们有很多输入引脚可以读取模拟和数字传感器(我们稍后会详细介绍)。

当然,您可以根据您(或学生)的需求,能力和舒适程度,将其他微控制器用于公民科学。以下是微控制器的概述,以帮助您决定什么是最适合您的!

闪存或编程,Arduino板,通过USB插入,然后:

1。在工具 - 》板下选择您正在使用的Arduino类型。 (照片2)

2。选择端口(也就是连接到计算机的位置)。 (照片3)

3。单击“上载”按钮,检查它是否完成上载。 (照片4)

第3步:工具和材料

如果您刚入门,获取套件是一种快速简便的方法一次得到一堆零件。我在本教程中使用的工具包是 Elegoo Arduino入门套件。*

工具

Arduino Uno

USB A到B电缆(又名打印机电缆)

跳线

3 male- to-male

3男性对女性

面包板

可选但建议让您的生活更轻松,更有趣:)

材料

对于本教程中涉及的项目,您需要以下部分来自Elegoo Arduino入门套件:

倾斜开关

DTH11温度和湿度传感器

LED

100欧姆电阻

*完全披露:我购买了相同的套件研讨会,但本教程中使用的工具包是由Elegoo的可爱人员捐赠的。

第4步:我们可以使用哪种传感器

设计科学前我们通常会提出一个问题:植物每天吸收多少二氧化碳?跳跃的冲击力是多少?什么是意识?

根据我们的问题,我们可以确定我们想要测量的内容并进行一些研究以找出我们可以用来收集数据的传感器(虽然最后收集数据有点棘手)问题!)。

使用电子设备时,有两种主要类型的传感器数据信号:数字和模拟。 在照片中,前两行的部分都是数字传感器,而前两行是模拟的。

有许多不同类型的数字传感器,有些更难以工作与其他人相比。在为您的公民科学项目进行研究时,请始终检查传感器如何输出数据(srsly tho)并确保您可以找到该特定传感器的(Arduino)库。

在本教程涉及的三个项目中,我们将使用两种类型的数字传感器和一种模拟传感器。让我们来学习吧!

第5步:数字传感器!第1部分:Easy Ones!

您将使用的大多数传感器输出数字信号,这是一个信号,要么是打开或关闭。*我们使用二进制数来表示这两种状态:On信号由1或True给出,而Off为0或False。如果我们要绘制二进制信号的图像,那就像方波2中的方波一样。

有一些数字传感器,如开关,非常简单直接测量因为按下按钮并且我们得到信号(1),或者没有按下按钮而我们没有信号(0)。第一张照片底行中的传感器都是简单的开/关类型。顶行的传感器有点复杂,在我们的第一个项目之后就会被覆盖。

本教程的前两个项目将教你如何使用这两种类型!继续建立我们的第一个项目!!

* On表示电流和电压形式的电信号。关闭表示无电信号!

步骤6:项目1:倾斜开关数字传感器

对于第一个项目,让我们使用一个倾斜开关,即带有两条腿的黑色圆柱形传感器!

步骤1:将倾斜开关的一条腿插入Arduino数字引脚13,另一脚接入引脚13旁边的GND引脚。方向无关紧要。

步骤2:编写一个草图,读入并打印出Digital Pin 13的状态。

或者你可以使用我的!

如果您刚开始编写代码,请仔细阅读注释,以便更好地了解草图的工作原理,并尝试更改某些内容以了解会发生什么!打破事情是可以的,这是一种很好的学习方式!您可以随时重新下载该文件并重新开始:)

步骤3:要查看您的实时数据,请单击“串行监视器”按钮(照片2)。

。. aaaand就是这样!您现在可以使用倾斜开关来测量方向!将它设置为在敲击东西时叫出你的小猫,或用它来跟踪风暴期间树枝如何移动! 。.在这两个极端之间可能存在其他应用。

第7步:数字传感器!第2部分:PWM和串行通信

有很多方法可以创建更复杂的数字信号!一种方法称为脉冲宽度调制(“PWM”),,这是一种奇特的方式,表示信号在一定时间内开启并关闭一段时间。伺服电机(可用于测量位置)和超声波传感器是使用PWM信号的传感器示例。

还有一些传感器使用串行通信来发送数据一位,或二进制数字,一次。这些传感器需要熟悉读取数据表,如果您刚开始使用它们会非常棘手。幸运的是,常见的串行传感器将具有代码库*和示例程序,因此您仍然可以拼凑一些功能性的东西。有关串行通信协议的更多细节超出了本教程的范围,但是这里有一个很好的资源来自SparkFun的串行通信以了解更多信息!

对于这个示例项目,让我们使用温度和湿度传感器(DHT11)!这是一个带有孔和3个针脚的蓝色正方形。

首先,我们需要为DHT11传感器提供一些特殊的库: DHT11库和Adafruit统一传感器库。

安装这些库(以及大多数其他Arduino库):

步骤1:打开Arduino库管理器,转到草图 - 》库 - 》管理库(照片2)

步骤2:安装并激活DHT库,搜索“DHT”,然后单击“安装”以获取“DHT Arduino Library”(照片3)

步骤3:安装并激活Adafruit统一传感器库,方法是搜索“Adafruit Unified Sensor”并单击“安装”。

步骤4:插入DHT库Libraries,然后单击“DHT Arduino Library。”(照片4)这将在草图顶部插入几行新行,这意味着我们的库现在处于活动状态随时可以使用!(照片5)

*就像你喜欢的一样ocal库,代码库是丰富的知识和其他人的辛勤工作,我们可以用来使我们的生活更轻松,yay!

第8步:项目2:温度和湿度数字串行传感器

抓住3个男性到来自Elegoo Arduino入门套件的女性跳线我们已经准备好了!

第1步:当标题针朝向你时,连接最右边的标题将DHT11引脚连接到Arduino接地(“GND”)引脚。

步骤2:将中间接头引脚连接到Arduino 5V 输出引脚。

步骤3:将最左边的标头引脚连接到Arduino数字引脚2。

第4步:最后,阅读DHT库并试着写一个草图! Oooor你可以在Arduino中使用我的或DHT测试示例草图 - 》示例!

当你启动并运行时,出去测量所有东西的温度和湿度! 。.就像动物的呼吸,温室或一年中不同时间你最喜欢的攀岩点,找到*完美的*发送温度。

步骤9:模拟传感器!

在难以深入数字传感器后,模拟传感器看起来轻而易举!模拟信号是连续信号,如第2张照片所示。大多数物理世界存在于模拟(例如温度,年龄,压力等),但由于计算机是数字*,大多数传感器将输出数字信号。一些微控制器,如Arduino板,也可以读取模拟信号**。

对于大多数模拟传感器,我们给出传感器功率,然后使用模拟输入引脚读取模拟信号。对于此测试,我们将使用更简单的设置来测量LED上的电压时LED上的电压。

*计算机使用数字信号存储和传输信息。这是因为数字信号更易于检测且更可靠,因为我们必须担心的是信号与否,而不必担心信号的质量/准确性。

**要在数字设备上读取模拟信号,我们必须使用模数转换器ADC转换器,它通过将输入与已知输入进行比较来近似模拟信号设备上的电压,然后计算达到输入电压所需的时间。有关详细信息,这是一个有用的网站。

步骤10:项目3:LED作为光传感器!

抓住LED(白色以外的任何颜色),100欧姆电阻和2根跨接电缆。哦,还有面包板!

步骤1:将LED插入面包板,右侧有较长的腿。

步骤2 :连接Arduino模拟引脚A0的跳线和较长的LED支脚。

步骤3:在较短的LED支脚和面包板负电源导轨之间连接电阻(蓝线旁边)。

步骤4:将Arduino GND引脚连接到面包板上的负电源轨。

步骤5:编写一个读入的草图模拟引脚A0并打印到串行监视器!

以下是启动ya的示例代码。

步骤11:可视化数据:Arduino IDE!

Arduino IDE附带内置工具来可视化数据。我们已经探索了串行监视器的基础知识,它允许我们打印传感器值。 如果您想保存和分析数据,直接从串行监视器复制输出并粘贴到文本编辑器,电子表格或其他数据分析工具中。

我们可以用来查看Arduino程序中的数据的第二个工具是串行绘图仪,串行监视器的可视版本(又称图形)。 要使用Serial Llotter,请转到Tools - 》 Serial Plotter。 照片2中的图表是项目3中LED作为光传感器的输出!*

该图将自动缩放并作为只要您对传感器使用Serial.println(),它也会以不同颜色打印所有传感器。万岁!就是这样!

*如果你看一下,有一个非常有趣的波浪模式,可能是由于我们的头灯中的交流电(“AC”)!

第12步:可视化数据:Excel!第1部分

对于更严肃的数据分析,有一个超酷(并且免费!)Excel的加载项称为 Data Streamer *,。

这个加载项从串口读取,所以我们可以使用完全相同的编码技术将数据打印到串口,直接将数据输入Excel 。.哎呀!

如何使用Data Streamer加载项:

1。 一旦安装完毕(或者如果你有O365),点击Excel中的Data Streamer标签(最右边)。

2。 插入Arduino并点击“连接设备”,,然后从下拉菜单中选择Arduino。(照片1)

第3。单击“开始数据”开始数据收集! (照片2)您会看到三张新纸张打开:“数据输入”,“数据输出”和“设置”。

实时数据打印在数据输入表中。 (照片3)每行对应一个传感器读数,最新值打印在最后一行。

默认情况下,我们只获得15行数据,但您可以通过转到“设置”来更改此行。我们最多可以收集500行(限制是由于Excel带宽 - 背景中发生了很多事情!)。

*完全披露:虽然本教程不隶属于我,但我确实工作w/开发此插件的Microsoft Hacking STEM团队。

步骤13:可视化数据:Excel!第2部分

4。添加数据图!做一些数据分析!

散点图显示传感器读数如何随时间变化,这与我们在Arduino串行绘图仪中看到的相同。

添加散点图:

转到“插入” - 》“图表” - 》“散点”。弹出绘图后,右键单击它并选择“选择数据”,然后选择“添加”。我们希望我们的数据显示在y轴上,x轴上带有“time”*。为此,请单击 y轴旁边的箭头,转到数据输入表,然后选择所有传入的传感器数据(照片2)。

我们也可以在Excel中进行计算和比较!要编写公式,单击一个空单元格并键入等号(“=”),然后执行您要执行的计算。有很多内置命令,如平均值,最大值和最小值。

要使用命令,键入等号,命令名称和左括号,然后选择要分析的数据并关闭括号(照片3)

5。要发送多列数据(AKA多个传感器),请在逗号分隔的同一行上打印值,最后一行为空行,如下所示:

Serial.print(sensorReading1);

Serial.print(“,”);

Serial.print(sensorReading2);

Serial.print(“,”);

Serial.println();

*如果希望实际时间在x轴上,请在“数据输入”表中的“A列”中为散点图中的x轴值选择时间戳。无论哪种方式,我们都会看到我们的数据随着时间的推移而变化。

第14步:进行测量并测量所有事情!!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    8264

    浏览量

    162717
  • Arduino
    +关注

    关注

    190

    文章

    6516

    浏览量

    196067
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何快速区分单片机的3种“记忆"-Flash、RAM、EEPROM#单片机#MCU#微控制器芯片

    微控制器
    英锐恩科技
    发布于 :2025年12月17日 17:01:31

    CW32系列微控制器的时钟源和定时选项介绍

    CW32系列微控制器的时钟源和定时选项会因具体型号而异,但一般来说,该系列微控制器会提供多种时钟源和定时选项以满足不同应用的需求。 时钟源方面,CW32系列
    发表于 12-16 06:26

    请问CW32系列微控制器提供了哪些时钟源和定时

    CW32系列微控制器提供了哪些时钟源和定时
    发表于 12-16 06:09

    在筋膜枪上应用的MCU微控制器方案

    筋膜枪是现在很多人必不可少的放松肌肉的健身工具,而实现筋膜枪的高效、稳定、安全运行,则需要内部搭载的MCU微控制器来负责控制电机运转、保护电路安全并实现各种智能功能。英尚微电子的筋膜枪方案采用CH32V007 MCU微控制器为核
    的头像 发表于 12-09 16:39 418次阅读
    在筋膜枪上应用的MCU<b class='flag-5'>微控制器</b>方案

    MCU微控制器CH32L103高速电吹风方案

    MCU微控制器是整个电吹风控制系统的指挥中心。英尚微推出的高速电吹风方案,以MCU微控制器CH32L103为主控微控制器,帮助高速电吹风实现高效率、低噪音、高智能和全保护的性能。CH3
    的头像 发表于 11-27 16:20 184次阅读

    选择微控制器MCU几个步骤

    就准备微控制器选型了。这当然不是个好主意。 在微控制器方面做任何决策时,硬件和软件工程师首先应设计出系统的高层结构、框图和流程图,只有到那时才有足够的信息开始对微控制器选型进行合理的决策。此时遵循
    发表于 11-26 07:09

    MCU微控制器是什么(mcu微控制器芯片原理)

    MCU(Microcontroller Unit),中文称为微控制器或单片机,可以理解为"浓缩的计算机"。它将处理、存储、输入输出接口等计算机必需的核心部件,全部集成在一块
    的头像 发表于 11-17 17:23 630次阅读

    微控制器读取闪存中的软件信息时,软件信息部署在哪里? 是 SRAM 吗?

    我对 PMG1 闪光灯有疑问。 1.微控制器读取闪存中的软件信息时,软件信息部署在哪里? 是 SRAM 吗? 2.微控制器加载软件时,在部署之前是否检查 SRAM 是否复位?
    发表于 05-23 06:22

    知名厂商微控制器(MCU)芯片手册分享

    微控制器(MCU)又称单片机,是一种高度集成的微型计算机系统,它将中央处理(CPU)、存储(RAM/ROM/Flash)、输入/输出接口(I/O)及多种外设集成在一块芯片上,专门用于嵌入式
    的头像 发表于 05-15 18:25 2399次阅读
    知名厂商<b class='flag-5'>微控制器</b>(MCU)芯片手册分享

    家用电器开发中微控制器的选型要点

    ROHM提供融入自有低功耗技术优势的丰富的低功耗微控制器产品。通过供应微控制器产品,为从事电池供电的小型设备、家用电器、工业设备、社会基础设施、车载设备等各种系统开发的微控制器用户提供支持。本文以
    的头像 发表于 04-24 10:26 958次阅读
    家用电器开发中<b class='flag-5'>微控制器</b>的选型要点

    一文认识ARM微控制器及瑞萨RA系列MCU

    俗称单片机,如果有学过微机原理就会很熟悉这个概念了。而ARM微控制器,顾名思义,就是基于ARM的微控制器,或者说搭载了ARM处理内核的微控制器
    的头像 发表于 03-24 09:17 2324次阅读
    一文认识ARM<b class='flag-5'>微控制器</b>及瑞萨RA系列MCU

    新唐科技微控制器在触控应用方面的优势

    随着物联网 (IoT) 和智能家居应用的蓬勃发展,触控按键技术已成为人机互动界面的关键。搭载电容式触控按键技术的新唐科技NuMicro 微控制器系列,提供防水、抗噪及高灵敏度的触控体验,为各类
    的头像 发表于 02-27 15:52 1101次阅读

    新唐科技推出专为高温度环境设计的微控制器

    高温高压环境下微控制器的智慧之选 在当今科技飞速发展的时代,各行各业对于电子设备的性能要求日益提升,尤其是在极端环境下,微控制器的稳定性和可靠性更是成为了衡量产品品质的关键因素。面对高温环境的严苛
    的头像 发表于 12-23 13:54 967次阅读

    如何使用Arduino实现CAN总线通信呢

    CAN(Controller Area Network)总线是一种常用于汽车和工业控制系统的串行通信协议,以其高可靠性和实时性而闻名。Arduino,作为一种流行的开源微控制器平台,可以通过附加
    的头像 发表于 12-23 09:06 2857次阅读