[编程开发] 入门arduino要多久?

[复制链接]
robyluo 发表于 2023-10-3 19:11:34|来自:中国 | 显示全部楼层 |阅读模式
如标题
全部回复5 显示全部楼层
lianyuan1986 发表于 2023-10-3 19:11:45|来自:中国 | 显示全部楼层
Arduino是一款方便上手、灵活便捷的开源电子原型平台,它包含硬件(也就是各种型号的arduino板)和软件(也就是arduino IDE开发平台)。除此之外,Arduino还能控制各种各样的输入及输出传感器来感知环境、影响环境。arduino非常适用于艺术家、设计师、爱好者以及对互动程序感兴趣的学生来学习使用。在arduino控制主板上的微控制器可以通过arduino IDE编程语言来编写程序,进而编译成二进制文件,烧录进微控制器,以便控制外接的一些传感器。
那么arduino编程到底有多难呢?它又是基于什么样的程序语言呢?确切的来说,Arduino是基于C++语言和类似于processing的开发环境而生成的一款语言。它内部的语法和C++的语法结构很类似,而它的程序结构又类似于processing的程序结构。也就是说,掌握了processing的小伙伴可以更轻松的掌握arduino编程。arduino还可以与电脑上运行的一些其他软件进行通信,如processing、MaxMSP、unity等等。
所以要入门arduino编程,首先要弄清楚arduino的生态系统,Arduino开发板类型有很多种,大致可以分为入门级、满足网络连接需求的级别、教育类型、可穿戴类型以及物联网级别的板子。其中,我们最常用的是入门级板子arduino uno。




图片源自:http://arduino.cc

在我们简单了解了arduino以及常用arduino板子之后,我们就要去下载arduino开发环境了。Arduino开发环境是完全免费开源的面向大众进行下载,大家可以去arduino的官网进行下载,它支持Windows, Mac OS,以及Linux不同平台,大家可以根据自己的电脑系统不同选择不同的arduino版本进行下载。
在下载好arduino IDE开发环境之后,我们需要将arduino开发环境进行简单的配置,具体分为以下三个步骤:
(1)需要将arduino开发板与电脑USB端口通过USB方口数据线相连,保证arduino上的指示灯是亮起的状态。
(2)选择开发板类型:通过菜单上的“工具”选项,找到“开发板”一项,选择对应的arduino型号开发板。
(3)选择程序下载端口:通过菜单上的“工具”选项,选择“端口”一项,选择arduino对应的下载端口。
这样一来,我们就配置好了arduino的开发环境,接下来,要入门arduino,就必需了解arduino的程序结构,当你打开arduino这款软件,新建一个文件程序的时候,Arduino自动帮助你写了两个程序结构,它们分别是void setup(){}和void loop(){}, 而程序中也会加入灰色部分的注释。
所谓注释,就是在代码中加入一些标注,以便程序开发人员更容易理解代码,这些注释本身并不参与程序的运行。void setup()这个函数中放入的是一些初始设置的代码,如设置传感器是输入还是输出类型。这里面的代码在程序运行的过程中只运行一次。与之相对void loop()这个函数中放入的是主要代码,这些代码在程序运行的过程中会持续不断的被运行起来。




在了解了基本的程序结构之后,可以说,你对arduino的入门就更进了一步。那么arduino的程序究竟是怎么写出来的呢?我们可以看一个范例程序来说明。我们可以在arduino的菜单中找到“文件”,在“文件”菜单下找到“范例程序”。在其中打开basics -> Blink这个文件。在这个文件中,我们可以看到在void setup(){}中,程序只写了pinMode(LED_BUILTIN, OUTPUT); 这样一行代码。pinMode是规定引脚模式的一个函数。
所谓函数,就是计算机预设的一些可以控制程序运行的指令。而引脚指的就是arduino控制板上外接各种传感器的输入输出接口。那么括号中的两个指令又是什么意思呢?LED_BUILTIN指的是LED小灯泡,OUTPUT指的是模式是输出模式。这样,这行代码连在一起是不是更好理解了呢?这行代码指的就是规定LED小灯泡的引脚是输出模式,也就是说,要控制arduino面板对小灯泡输出(也就是亮起或暗下)。而我们接着看void loop(){}中的代码,就更能理解这段代码的含义了。
digitalWrite(LED_BUILTIN, HIGH); 指的是在数字端口写入,HIGH指的是高电压,那么在小灯泡这个引脚输出高电压,小灯泡自然就处于亮起的状态了。后面delay(1000); 只得是等待1000毫秒,也就是有1秒钟的停顿。再下面一句digitalWrite(LED_BUILTIN, LOW); 指的是在小灯泡那个引脚输出低电压,那么小灯泡就暗下了。那么这个blink程序达到的效果就是小灯泡亮起->等待1000毫秒->小灯泡暗下->等待1000毫秒->小灯泡亮起 ……如此循环往复的小灯泡亮起和暗下。



总结一下,说了这么多,到底入门arduino要多久的时间?这个可能取决于我们对“入门”两个字的定义,如果我们买好了开发板,下载好了软件,用来实现一个操作小灯泡亮暗的程序,那么“入门”Arduino可能只需要十分钟到半个小时。可是如果我们想要实现自己设想的功能,如有人来了arduino能感知到,并且控制舵机能动起来,那么我们可能需要人体红外线传感器、舵机的代码有所熟悉了解,并且对整个程序结构、接线的方法也需要掌握。掌握这些大概1-3周的时间。如果我们想要更自由的做出我们想要的项目,并且在表达自己的想法时畅通无阻,可能我们需要学习更多的教程,并且动手一一实践,可能需要1-3个月的时间,我们就可以掌握arduino了。
以上,望有帮助。

———————————————————

design8 发表于 2023-10-3 19:12:06|来自:中国 | 显示全部楼层
入门只需要10分钟。我的专栏里有17期的Arduino详细入门学习教程,加一块几十元的开发板,估计应该满足你的一切需求。
师傅领进门,修行靠个人。

zhufup 发表于 2023-10-3 19:12:51|来自:中国 | 显示全部楼层
arduino入门真的不难。。
我推荐51入门更系统,而arduino入门可以更快的做项目,做东西,而且容易做(因为他的库,资源更多)
有其他单片机基础,两三天就可以,我当初,做项目用到,(之前从未接触,一会功夫就可以正常使用了,去完成我的控制),他的库,例程很多,就是改改调调,自己写也不难,不论说什么,c语言都是基础,我当初是51入门,然后就玩树莓派,然后32,后来用到arduino,就上手了下

想玩树莓派人脸识别,颜色识别,实时远程监控,智能小车,或者想要c,Python,Java,Android资料的,
关注   一休电子   免费领取
sjh163 发表于 2023-10-3 19:13:07|来自:中国 | 显示全部楼层
Arduino入门可以先买个简单的arduino入门套件搭建起来,结合网上系列arduino入门教程来操作,只有动手操作起来才会发现问题,才能更快更有效率的入门,只看教程很多时候只是理论问题,在创造过程中才能更快更深入学习起来,个人建议。
qqsweb 发表于 2023-10-3 19:13:33|来自:中国 | 显示全部楼层
这得看“入门”的定义是什么。如果只是有人带着参照教程做完若干个常用模块的实验就算入门的话那其实也用不了多少时间。但是实践中更多的是自己研究的过程中多多少少会踩到坑,然后要花时间和精力去填坑。有电子基础和代码基础的话这个过程可能就会轻松很多,否则就很不确定了。
通常玩Arduino是可以不求甚解,但至少得知道(发光)二极管的单向导通性,电阻阻值的色环标注法,编程语言的语法特性和大小写敏感性吧,不然不看示例试着自己做个blink都可能状况百出。

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则