你是我的 发表于 2023-10-3 19:13:08

大学生如何学习Arduino?

本人是大一新生,最近Arduino已入门 能做出带显示屏的两三百行代码的小制作 有c基础 c已学到内存管理 现在想进一步学习Arduino 之后想利用空余时间进行一些小产品开发 有什么推荐的学习路径吗

apolo 发表于 2023-10-3 19:13:35

Arduino教程学习资料专区- DF创客社区_分享创造的喜悦;国内著名DF创客社区有专栏-Arduino系列教程和精选项目推荐,不管是学生或者创客爱好者入门学习,建议购买arduino开发板或者入门套件,结合教程实例可以动手做一些小项目开发,这样会达到事半功倍的效果。

http://picx.zhimg.com/v2-279c468c7356e2f51693e4d27d255044_r.jpg?source=1940ef5c

DF创客社区arduino教程专栏

http://picx.zhimg.com/v2-52f113945ea8dc923676e25330e847c6_r.jpg?source=1940ef5c

DF创客社区arduino学习 精选项目

jorny004 发表于 2023-10-3 19:14:33

讲讲大学生怎么入门吧。要学习Arduino,可以从两方面进行:硬件和软件。
从硬件上来讲,Arduino Uno是最常用的Arduino编程板之一。以Arduino Uno来举例子,它包含的硬件元素包括:UBS连接口 – 用于给Arduino供电并上传程序;重置按钮 – 将重新启动加载到Arduino板上的所有代码;3.3V引脚 – 用于给项目提供3.3伏电压的电源;5V引脚 – 用于给项目提供5伏电压的电源;接地引脚 – 相当于电源负极,连接项目负极到地;数字输入 – 引脚0-13可用于数字信号的输入和输出;模拟输入 – 引脚A0-A5可用于模拟信号的输入和输出,等等。

http://pic1.zhimg.com/50/v2-4a8fd0587ae00a71e97e8d6d476db987_720w.jpg?source=1940ef5c

https://store.arduino.cc/usa/arduino-uno-rev3

硬件部分之外,对大学生初学而言,动手写代码的部分可能更难一点。当我们打开Arduino这款软件,新建一个文件程序的时候,Arduino自动帮助你写了两个程序结构,它们分别是void setup(){}和void loop(){}, 而程序中也会加入灰色部分的注释。所谓注释,就是在代码中加入一些标注,以便程序开发人员更容易理解代码,这些注释本身并不参与程序的运行。void setup()这个函数中放入的是一些初始设置的代码,如设置传感器是输入还是输出类型。这里面的代码在程序运行的过程中只运行一次。与之相对void loop()这个函数中放入的是主要代码,这些代码在程序运行的过程中会持续不断的被运行起来。
在学习Arduino编程的时候,有四个概念是至关重要的,它们分别是:变量、判断、函数和循环。
变量,指的就是能变化的量,在编程中,变量是最为常见的概念之一,举例来说,我们来看Examples>Basics>Fade这个程序。这个程序是用来控制小灯泡一点点亮暗的一个程序。我们看程序中int led = 9这个语句,这其中,led就是一个变量,而前面int是声明这个变量的类型,这里是整数类型。而后面的语句称为赋值过程,led = 9 就是暂时让led这个变量,等于9这个整数。我们看后面的语句pinMode(led, OUTPUT)在这个语句中,led这个变量就被应用了起来,在这句话中,是说要让led这个引脚是输出的状态。而我们可以看后面两个变量int brightness = 0指的是让brightness这个变量一开始的时候是0。而int fadeAmount = 5这个是让fadeAmount这个变量开始的时候等于5。值得注意的是,变量可以被赋值,也可以被更改赋值。如后面一个语句brightness = brightness + faceAmount就给brightness以重新赋值。

http://pic1.zhimg.com/v2-4c88d01579c17a7357b8a3f747ac4e94_r.jpg?source=1940ef5c
第二个概念“判断”的概念在上面的程序也有体现。判断通常是用if else语句来实现的,比如在上面这个范例程序中,if(brightness <=0 || brightness >=255)这个就是一个条件,指的是当brightness这个变量小于等于0或者大于255的时候,那么在满足这个条件时,程序要执行什么呢?要执行的语句就放在if()后面的大括号中,在上面那个程序中,就是fadeAmount = -fadeAmount也就是说,fadeAmount这个变量等于它的相反数,也就是在满足这个条件时,把fadeAmount这个变量进行了取反。
第三个感念“函数”的概念就更加普遍了,在上面的例子当中,我们看到的很多语句都可以称之为函数。比如analogWrite(led, brightness)这就是一个函数,大家注意函数的命名都是运用驼峰命名法来命名的,也就是如果有多个英语单词组成的函数的话,第一个单词的字母是小写的,后面单词的首字母都是大写的。而函数这个概念就是执行一个功能的集合,它可以是计算机内置的,也可以是自己写就的函数,比如void loop(){}这其实也是一个函数。
第四个概念是“循环”的概念,在arduino编程语言中,主要有for循环和while循环两种语句,循环的概念就是程序会不断重复的执行某一句或某一些语句。在控制微型舵机这个程序中,运用了for循环来驱动舵机由0度转动到180度,再由180度转回到0度。for循环括号中有三个条件,分别是初始条件,判断条件,和追加条件。当for循环运行时,程序首先有一个初始条件,然后进行判断,看满不满足判断条件,如果满足程序就执行大括号内的内容。当内容被执行完之后,条件就变成追加条件了。以下面这个例子来说,首先pos这个变量等于0,然后程序会判断pos小不小于等于180,如果成立就执行大括号里的例子,之后pos+=1说的是程序就被追加了1这个值。

http://pic1.zhimg.com/v2-8625fb9bbbff981e6d016ae39ca83186_r.jpg?source=1940ef5c
总结来讲,大学生学习arduino要分成两个部分,硬件部分和软件部分。硬件部分,需要了解各个接口的意义以及功能;软件部分要了解四个基础的概念:变量、判断、函数和循环。学习了这些之后,Arduino就可以算是入门了。
最后,为大家推荐两本书,《爱上Arduino》和《爱上Processing》,它们是专门为设计师编写的硬件、软件类书籍,内容简单易懂,十分适合零基础的初学者,相信通过不断的学习和实验。

http://pic1.zhimg.com/50/v2-4d0bddcd54732427aff6943fe0bce8f0_720w.jpg?source=1940ef5c

http://picx.zhimg.com/50/v2-8bcfbc6f97c41ec5a76511880c35ed95_720w.jpg?source=1940ef5c

望有帮助。
—————————————————————

http://picx.zhimg.com/v2-ad4422597160bfdfdcc33dc7162b4c85_r.jpg?source=1940ef5c

tkv2373 发表于 2023-10-3 19:15:27

谢邀 。
凡事有个目的,学习也不例外,先抛一个问题:
为什么要学习arduino?
——答案无非有二者,一种是为了能以低学习成本去快速实现自己的东西,乃至产品模型。二种是自动化专业的新生为了能了解基本知识而进行学习。

如果是第一种,也就是低学习成本去快速实现一个产品功能,那么在学习arduino的时候,应当去专注于模块的使用和搭配,更多的是——收集与学习各种模块与库的应用,形成自己无论是数据存储(自己电脑上的资源库),还是大脑对控制算法的理解上,有一个相对足够用的资源,然后当需要实现功能的时候简单拼接套用即可。这是一个长期的兴趣过程,更多的是考验自己的创意以及资源积累。

如果是第二种,为了了解基本知识而学习的,那arduino最多起到一个启迪的作用,他让你了解一些基本的协议,如SPI,I2C,串口等等,但是由于真的封装得太过严密,很难看到底层,推荐——高速将八个模块过一遍即可,DS18B20,ADDA, 串口,LCD,eeprom,flash,红外, nrf24l01,然后做一个大整合就学习下一个MCU,如51,stm32等,并发展自己的电路知识储备。
题主提到C语言学到了内存管理,是函数之前的堆栈理论,还是到了能写链表的动态内存分配?这样的描述很难判定到了什么程度。其实单纯的学C语言,能写一个贪吃蛇就算合格了,其他的一些技巧,在其他的课程中都会慢慢被挖掘出来的,语言本身只是个工具,强不强大还是看人。

另外说一些题外话,知乎似乎有些言论说arduino相对于传统更便于开发,其实并不,stm32等单片机使用库函数编程,开发速度上也是差不多的。除了学习成本低,其他方面arduino并无优势可言,更别提一些工业诸如成本等要求了,将arduino作为一个阶梯快速往上爬,那才是正道。

利益相关:嵌入式研发实习生

旅顺的海 发表于 2023-10-3 19:16:03

教程:
Arduino教程汇总贴(2016.10.6更新)-Arduino中文社区视频教程:
Arduino/Genuino 101开发入门视频教程 汇总贴-Arduino中文社区

twinsbbs 发表于 2023-10-3 19:16:22

谢邀,建议:
1.先卖个Arduino套件,做完基础例子,熟悉语法
2.Arduino ide里面的例程有条件也都可以做,熟悉各类扩展的库
3.开始一些复杂点的项目,比如Arduino小车
4.最后根据自己的兴趣做想做的项目
资源:
http://arduino.cc官网
http://www.ncnynl.com资源整合站
http://website.ncnynl.com看Arduino部分的链接索引
购买套件
1. 淘宝
2.seeedstudio
3.奥松
4.dfrobot

Arduino项目
http://hackster.io
页: [1]
查看完整版本: 大学生如何学习Arduino?