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
    +关注

    关注

    184

    文章

    6425

    浏览量

    184769
收藏 人收藏

    评论

    相关推荐

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

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

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

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

    invalid synrax是什么错误

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

    如何避开无源元件的陷阱

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

    c语言代码错误怎么找

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

    嵌入式C开发中段错误的3种调试方法

    相信大家在嵌入式C开发中,或多或少都会遇到段错误(segmentation fault )。昨天分享了一个总线错误的例子:嵌入式软件中,关于总线错误,我帮你们踩了这些坑!相比总线
    发表于 07-11 09:42 135次阅读
    嵌入式C开发中段<b class='flag-5'>错误</b>的3种调试方法

    如何让Arduino使用雷达避开障碍物

    电子发烧友网站提供《如何让Arduino使用雷达避开障碍物.zip》资料免费下载
    发表于 06-26 14:58 1次下载
    如何让<b class='flag-5'>Arduino</b>使用雷达<b class='flag-5'>避开</b>障碍物

    设计PCB时需要避免的7个错误分享

    印刷电路板构成了电子性质设备内部的核心。所以, 设计PCB需要密切关注和万无一失的方法。在尝试PCB原型制作时, 您会发现我们经常会遇到许多错误,甚至有些是重复的。这些错误破坏了电路板设计的整个目的
    发表于 06-18 15:34 599次阅读

    Arduino IDE与Blynk示例的编译器错误怎么解决?

    BlynkBlink 时,这是编译器错误消息: D:\\Program Files (x86)\\Arduino\\libraries\\Ethernet\\src\\Ethernet.cpp: In member
    发表于 06-12 08:39

    Arduino IDE和unordered_map编译器错误怎么解决?

    我正在使用 Arduino IDE 对 ESP8266 进行编程,并想使用 std::unordered_map。 我所有的代码都是: 代码:全选#include std
    发表于 06-12 08:27

    服务器log日志大,掌握这些可正确快速定位错误

    针对大量log日志快速定位错误地方
    的头像 发表于 06-05 18:14 424次阅读

    添加ESP8266设备时,使用最新的Arduino IDE时出现错误怎么解决?

    当我尝试添加 ESP8266 设备时,使用最新的 Arduino IDE 时出现错误。请参阅显示错误的附加屏幕截图。我错过了什么?
    发表于 06-02 11:14

    Arduino如何使用这些值来像这些类型的站点一样进行天气预报的信息吗?

    春季晚些时候和今年夏季,我将教授 Arduino 编程入门课程,重点是物联网和网络服务器。它还将专注于使用基于浏览器的客户端应用程序,这样就不必编写 iPhone 应用程序、Android 应用程序
    发表于 05-11 07:51

    在Mac上完成了Arduino IDE的所有安装,上传草图时发生错误是怎么回事?

    只是为项目尝试新的 Wemos mini。 在 Mac 上完成了 Arduino IDE 的所有安装并安装了 USB 到串口驱动程序,一切进展顺利!简单的! 是的,然后上传了闪烁程序,没有问题,但不
    发表于 05-08 08:00

    Arduino ESP8266 GPIO网络服务器堆栈错误的原因?怎么解决?

    我已经编写了一个 esp8266 Arduino 代码,它应该为灌溉系统激活一个 12 伏交流阀门,但是当我运行代码时,我得到一个堆栈错误。我使用的Arduino是Wemos D1这 是代码
    发表于 05-08 06:38