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

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

3天内不再提示

使用Arduino时应避开这些错误

454398 来源:网络整理 作者:网络整理 2019-11-28 11:28 次阅读

Arduino板以及随之而来的许多价格合理的微控制器,永远改变了爱好电子产品。拥有丰富的电子和计算知识的超级极客领域现在可以为所有人使用。

硬件价格一直在下降,在线社区也在不断增长。之前我们已经介绍了Arduino入门,并且有很多很棒的初学者项目可以让您熟悉,所以没有理由不直接加入!

但是今天,我们将介绍

加电!

大多数Arduino板上都有一个电源调节器,这是刚接触这个世界的人们经常犯的一些错误,以及如何避免这些错误。 ,表示您可以通过USB或电源为其供电。尽管每块板的用途完全不同,但通常通过直流桶式插孔或VIN引脚输入 7-12v 。这使我们很好地认识了第一个错误:

1。从外部向董事会“后退”供电

第一个始终吸引着人们。如果您是使用电池或电源为电路板供电,则必须确保 V + 连接到 VIN 引脚,并且 Ground 线连接到 GND 引脚。如果您将其倒退,则可以保证您可以油炸您的电路板。

使用Arduino时应避开这些错误

这个看似明显的错误发生的频率比您想象的要高,因此始终

在打开任何东西之前,请检查电源设置!

当空气中有油炸的Arduino气味时,这通常是主要原因。第二种可能是因为某些东西试图从板上汲取太多电流。了解组件所需的功率与电路板可提供的功率之比是至关重要的。

在深入探讨此功能之前,让我们快速了解一下功率背后的理论。

时事

与微控制器合作的重要部分是了解电子基础知识。虽然您不需要成为天才的电气工程师,但了解电压,安培,电阻以及它们之间的联系非常重要。 Sparkfun具有出色的电子学入门知识,另外还有一些解释电压,电流(Amps)和欧姆定律(电阻)的视频

准确了解组件所需的电量是使用Arduino板的必不可少的部分。

2。直接从Pins运行组件

这个组件吸引了很多渴望直接进入项目的人们。可以直接在Arduino引脚上使用一些低功耗组件。但是,在许多情况下,这样做可能会给Arduino带来过多的功率,从而有可能损坏您的微控制器。

这里最糟糕的违法者是电动机。即使是低功率的电动机,其功率变化率也是如此,以至于直接与Arduino引脚一起使用通常都是不安全的。为了真正使用DIY方式使用电机,您需要使用 H桥。这些芯片使您可以使用arduino引脚控制直流供电的电机,而不会冒油炸电路板的风险。

这些小芯片将电源与Arduino,并允许电机双向移动。非常适合DIY机器人或遥控车。使用这些芯片的最简单方法是作为Arduino屏蔽的一部分,它们可以从Aliexpress处以不到2美元的价格购买,或者如果您喜欢冒险,可以随时制作自己的芯片。

对于使用带有Arduino的电机的初学者,Adafruit拥有使用芯片本身及其突破性电机屏蔽的教程

继电器和MOSFET

其他电气组件和设备可能会消耗更多可预测的电量,但是您仍然不希望它们直接连接到微控制器。甚至5v LED灯带也可能很危险。虽然可以将一些直接连接到板上进行测试是可以的,但是通常更好的做法是使用外部电源,并通过继电器或 MOSFET 对其进行控制。

尽管两者之间存在差异,但是对于业余电子产品中的许多应用,它们在功能上是相同的。两者都可以充当电源和组件之间的开关,由Arduino打开或关闭。继电器与控制它的电路完全隔离,仅用作开/关开关。 Dejan Nedelkovski从他的教程文章中获得了很好的视频介绍如何使用继电器。

MOSFET通过使用脉冲宽度调制(PWM)来传递不同量的功率。从Arduino引脚上。有关使用带LED灯条的MOSFET的入门知识,请查看我们的终极指南,将其连接到Arduino。

3。误解性面包板

刚开始时一个常见的错误是导致短路。当电路的某些部分连接到不应有的地方时,就会发生这种情况,从而使电源走线更为简单。最好的结果是您的电路工作不正常,最坏的情况是油炸的组件甚至有火灾危险!

为避免在使用面包板时出现这种情况,了解面包板的功能非常重要。 《科学伙伴》中的这段视频是结识的绝妙方法。

这里的重要方面是记住每个板上的滑轨如何工作。在全尺寸和一半尺寸的面包板上,外导轨水平工作,内导轨垂直工作,中间有缝隙。迷你面包板只有垂直导轨。

避免面包板短路的最简单方法是在打开设备电源之前检查工作。最后一刻可以为您省去很多麻烦!

4。焊接错误

将Arduino或组件焊接到原型板上时,可能会发生相同的问题,尤其是在像Arduino Nano这样的较小的板上。所要做的只是两个引脚之间的一小滴焊料引起短路,这可能会损坏您的微控制器。避免这种情况的唯一方法是保持警惕,并尽可能多地进行焊接。

刚开始时,焊接似乎是一件微妙而艰巨的任务,但是随着时间的推移,焊接变得越来越容易。我们的初学者项目指南应帮助从面包板进入原型世界的任何人!

5。接线多达错误的引脚

使用微控制器意味着使用引脚。大多数组件和许多电路板都带有将其连接到原型板上的引脚。知道哪个引脚起作用对确保事情按您希望的方式工作至关重要。

前面提到的MOSFET是一个常见的例子。 MOSFET上的三个支路分别称为栅极,漏极和源极。混合任何这些可能会导致电源流向错误的方向或引起短路。这可能会破坏您的MOSFET,Arduino,设备,或者如果您真倒霉,那么这三者都将消失!

始终寻找数据表或组件的引脚排列在使用它确定确切的引脚位置以及需要使用多少功率之前。

6。代码中的语法错误

远离Arduino的硬件方面,编码时会犯很多错误。最典型的错误包括:

行尾缺少分号

括号丢失/类型错误

拼写错误

上述任何一个问题(虽然较小)都会使程序正常运行。以眨眼草图为例。下面是Arduino IDE附带的简单Blink.ino草图,其中删除了帮助文本。乍一看,看起来或多或少是可以的,不是吗?

void setup() {

pinMode(LED_BUILTIN, OUTPUT)

}

void loop {

digitalWrite(LED_BUILTIN, HIGH);

delay{1000};

digitalwrite(LED_BUILTIN, LOW);

delay(1000);

该代码无法编译,原因有5个。让我们来看一下它们:

第2行:缺少分号。

第5行:缺少功能括号。

第7行:括号类型错误。

第8行: DigitalWrite函数的拼写错误。

第8/9行::缺少右花括号。

以下是该代码的样子:

void setup() {

pinMode(LED_BUILTIN, OUTPUT);

}

void loop() {

digitalWrite(LED_BUILTIN, HIGH);

delay(1000);

digitalWrite(LED_BUILTIN, LOW);

delay(1000);

}

这些错误中的每一个(尽管很小)都会使程序无法运行。乍一看到底是什么错可能会很令人沮丧,尽管随着时间的推移它确实变得容易得多。习惯于进行Arduino编程的一个好技巧是打开另一个程序,您可以参考该程序,因为在大多数情况下,不同程序之间的语法和格式是相同的。

如果您是第一次编写Arduino,请先进行编码进军编码,欢迎您!这是一种有益的学习兴趣,而且鉴于某些类型的程序员的需求,这可能是职业的巨大转变!有良好的编码习惯,这些习惯适用于所有编程语言,因此值得及早学习。

7。串行废话

串行监视器是Arduino的控制台。在这里,您可以发送从Arduino引脚获取的任何数据,并将其显示为易于阅读的文本。不幸的是,正如许多人可能已经知道的那样,它并不总是那么简单。

在尝试使事情正常运行的初期,没有任何事情比将您的微控制器设置为打印到串行监视器,让一切都变得毫无意义,这更令人沮丧。幸运的是,几乎总是有一个简单的解决方案。

在代码中启动串行监视器时,还可以设置其波特率。该数字仅表示每秒发送到串行监视器的位数。在下面的示例中,波特率在代码中设置为9,600。确保也使用串行监视器底部的下拉菜单将其设置为相同的值,并且所有内容都应正确显示。

您可能会在串行监视器中注意到有多种速度可供选择。除非您要传输大量数据,否则几乎不需要更改波特率。在9,600时,串行监视器每秒可以打印近1,000个字符。如果您能快速阅读并取得祝贺,那么您显然是向导。

8。缺少的库

可用于Arduino的库的数量不断增加且不断增长,这是使新手能够轻松访问它的原因之一。由经验丰富的编码人员编写并免费发布的库使使用复杂的组件(例如可单独寻址的LED灯条和天气传感器)成为可能,而无需了解复杂的编码。

您可以通过选择素描》 包含库》 管理库以打开库浏览器。

一旦安装了库,便可以在任何项目中使用它们,并且许多库都带有自己的示例项目。这里有两个可能的陷阱。

使用需要您没有的库的代码。

尝试使用项目中未包含的库的某些部分

在第一种情况下,如果您发现一段对您的项目来说似乎很完美的代码,则发现一旦将其放入IDE中,它就会拒绝编译,请检查是否确实没有尚未包含尚未安装的库。您可以通过查看代码顶部的 #include 进行检查。如果其中包含您尚未安装的内容,则它将无法正常工作!

在第二种情况下,您遇到的是相反的问题。如果您使用的是安装在计算机上的库中的功能,并且代码拒绝编译,则可能是您忘记了将库包含在当前正在处理的草图中。例如,如果您想在Neopixel LED灯条上使用梦幻般的Fastled库,则需要在代码开头添加 #include“ FastLED.h” ,以使其了解寻找资料库

9。浮空

对于倒数第二个错误,我们将介绍浮脚。通过浮动,我们真正的意思是引脚的电压波动会导致读数不稳定。这会在使用按钮触发Arduino上的某些东西时引起特别的问题,并可能导致不良行为。

这是由于周围电子设备产生了不必要的干扰,但是可以使用Arduino的内部功能轻松解决

AddOhms的这段视频介绍了该问题以及解决方法。

10。登月射击

这不是一个具体问题,而是一个耐心问题。 Arduino使进入并开始制作原型创意变得非常容易。虽然困难的项目确实可以带来快速的学习经验,但值得一开始。如果您尝试的第一个项目非常复杂,那么您很可能会遇到上述问题之一,从而使您感到沮丧,并有可能被油炸的电子产品所困扰。

与微控制器一起工作的最大好处是可供学习的项目。如果您打算制造复杂的照明系统,那么从简单的交通信号灯系统开始将为您提供继续前进的基础。在创建巨大的LED灯条表演之前,也许可以尝试一些较小的尝试,例如在PC机箱内部进行测试。

每个小项目都会教给您使用Arduino控制器的另一个方面,而在您不了解它之前

学习曲线

Arduino的学习曲线对于初学者来说可能会让人望而生畏,但是它专用的在线社区使Arduino的学习曲线变得令人生畏。学习过程的痛苦要小得多。通过注意像本文中这样的简单错误,您可以为自己省去许多麻烦。

现在,您知道应该避免哪些错误,为什么不尝试构建自己的Arduino,没有比这更好的方法了。

责任编辑:wv

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

    关注

    187

    文章

    6461

    浏览量

    186554
收藏 人收藏

    评论

    相关推荐

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

    开源硬件平台,通过添加CAN总线模块,也可以实现CAN通信。 硬件准备 Arduino开发板 :可以选择Arduino Uno、Mega等型号。 CAN总线模块 :如MCP2515或MCP2562,这些模块
    的头像 发表于 11-12 10:09 188次阅读

    allegro 设置gnd-earth距离其他区域120mil的间距,但是只单层避开了,其它层没避开

    allegro 设置gnd-earth距离其他区域120mil的间距,但是只单层避开了,其它层没避开
    发表于 11-09 14:58

    漏电保护器错误接线方式

    导致的问题的详细分析: 1. 错误的零线连接 在支线保护应用中,每条支线拥有独立的专用零线,且两条相邻的支线的零线不应相连。如果将两个分支线路的零线错误地连接起来,会造成零线中的电流互流,这会破坏零序电流互感
    的头像 发表于 08-19 14:26 403次阅读

    重启一次VsCode后,ESP_LOGI会提示错误输入表达式”的原因?

    我重启一次vsc后,ESP_LOGI会提示错误输入表达式”,不过build的时候没有问题。是我C/Cpp配置哪里搞错了吗?
    发表于 06-17 08:22

    常见的CAN中继器应用错误及原因有哪些?

    CAN中继器在应用中可能会遇到一些常见的错误这些错误可能源于多个方面。
    的头像 发表于 05-08 10:16 532次阅读

    PCB设计工作中常见的错误有哪些?

    设计PCB的过程中,很多人都会犯一些常见的错误这些错误如果不能及时纠正,就会极大地影响产品质量。本文将针对 PCB 设计过程中经常会犯的这些错误
    的头像 发表于 02-21 09:32 503次阅读
    PCB设计工作中常见的<b class='flag-5'>错误</b>有哪些?

    arduino如何停止loop循环

    退出这个循环。本文将详细介绍如何在Arduino中停止loop循环。 在Arduino中,可以通过使用一个布尔变量或条件语句来实现停止loop循环的功能。下面我们将逐步讨论这些方法。 一、使用布尔变量停止loop循环 一种简单的
    的头像 发表于 02-14 16:24 4099次阅读

    2023年Arduino开放原码报告:持续茁壮的Arduino生态系!

    所谓出钱就是买一片Arduino开发板或是付费订阅Arduino Cloud云端服务,或单纯资金赞助;出力就是撰写Arduino相关的程序并无私的分享程序代码或回报错误或投入翻译等,笔
    的头像 发表于 01-25 16:45 1294次阅读
    2023年<b class='flag-5'>Arduino</b>开放原码报告:持续茁壮的<b class='flag-5'>Arduino</b>生态系!

    vb运行时错误429不能创建对象

    系统中已经安装了对象所依赖的组件或库。如果缺少这些组件或库,就会导致不能创建对象的错误。解决这个问题的方法是安装所需的组件或库。 对象的类或程序集不存在:如果要创建的对象的类或程序集不存在,那么就会出现不能创建对象的错误。这可能
    的头像 发表于 01-09 11:07 2111次阅读

    ug内部错误,内存访问违例怎么解决

    ug内部错误,内存访问违例怎么解决 内部错误和内存访问违例是编程中常见的问题,它们可能会导致应用程序崩溃、数据丢失或系统不稳定。在本文中,我将详细解释内部错误和内存访问违例的原因,如何解决这些
    的头像 发表于 12-27 16:27 5847次阅读

    在使用示波器探头探测时,注意避免这七大错误

    不尽相同,每次探测设备,需要选择对测量影响最小的探头,这是成功测量的关键。 以下这些错误,是大家在测量过程中最常见的,请牢记它们并在平时的测量中规避这些错误,以便获得更精准的测量结果。
    的头像 发表于 12-06 11:38 732次阅读
    在使用示波器探头探测时,<b class='flag-5'>应</b>注意避免这七大<b class='flag-5'>错误</b>

    invalid synrax是什么错误

    是一种规则和约定,用于编程语言中正确书写代码的方式。语法错误通常是由于程序代码中存在不符合语法规则的结构或用法所引起的。当程序包含语法错误时,编译器或解释器将无法正确解析这些代码,并输出相应的
    的头像 发表于 11-28 15:59 7789次阅读

    如何避开无源元件的陷阱

    电子发烧友网站提供《如何避开无源元件的陷阱.pdf》资料免费下载
    发表于 11-28 10:19 0次下载
    如何<b class='flag-5'>避开</b>无源元件的陷阱

    脚本错误scripterror怎么解决

    “脚本错误”(Script Error)通常是在运行或尝试运行一段脚本或程序时出现的错误。这种错误可能源于许多不同的原因,包括语法错误、运行环境问题、依赖库缺失等。解决脚本
    的头像 发表于 11-26 14:46 7794次阅读

    c语言代码错误怎么找

    当我们编写C语言代码时,常常会遇到一些错误这些错误可能是语法错误,逻辑错误或者是运行时错误。无
    的头像 发表于 11-24 10:05 3535次阅读