今天马克笔设计留学的程老师继续来跟大家讲解Arduino的相关知识。前面我们介绍了很多Arduino的传感器《Arduino人体红外传感器怎么用》,那这篇文章我们来讲一下Arduino里面的编程语言,也就是一些常见函数的应用。
Arduino 是由 C/C++ 混合编写而成。Arduino 语言也继承了 C/C++ 语言的语法。通常所说的 Arduino 语言,是指 Arduino 核心库文件提供的各种应用程序编程接口(Application Programming Interface,简称API)的集合。Arduino程序基本结构由setup() 和loop() 两个函数组成,那我们就先来看看这两个函数是如何使用的。
1.Set up函数
Arduino控制器通电或复位后,即会开始执行setup() 函数中的程序,我们一般会把要执行的程序写在中括号里,该部分的程序只会执行一次。通常我们会在setup() 函数中完成Arduino的初始化设置,如配置I/O口状态,初始化串口等操作。
2.Loop函数
在Setup() 函数中的程序执行完后,Arduino会接着执行Loop() 函数中的程序。而Loop()函数是一个死循环,其中的程序会不断的重复运行。通常我们会在loop() 函数中完成程序的主要功能,如驱动各种模块,采集数据等。我们拿一个最简单的灯泡闪烁这个为例,讲一下LOOP这个函数,中括号里面写的内容我们可以解读为:首先LED小灯泡亮,之后延迟一秒,接着LED小灯泡灭,之后又延迟了一秒,最后反复循环这一段程序,从而实现了小灯泡闪烁的效果。
3.时间函数
描述:将程序暂停给定参数的时间量(以毫秒为单位)
- 函数原型:delay(ms)
- 参数:ms – 暂停的毫秒数
- 返回值:无
4.If函数
If else 语句是一种选择结构,可以让代码选择执行。所谓选择执行,就是“某些代码可能执行,也可能不执行,有选择地执行某些代码”。If 语句后面可以跟随一个可选的 else if … else 语句,其对于测试各种条件非常实用。
当使用 if … else if … else 语句时,我们需要记住三个要点:
1)一个 if 可以有0或一个else语句,它必须在所有else if之后。
2)if 可以有0到多个else if语句,它们必须在else之前。
3)一旦 else if 成功,将不会测试剩余的else if或else语句。
我们来举个例子:
5.常量用法
HIGH | LOW 表示数字IO口的高低电平。HIGH 表示高电(1),LOW 表示低电平(0)。
INPUT | OUTPUT 表示数字IO口的方向,INPUT 表示输入(高阻态),OUTPUT 表示输出(AVR单片机能提供5V电压 40mA电流)。Arduino中输出的低电平为0V,输出的高电平为当前Arduino的工作电压。例如Arduino UNO的工作电压为5V,其高电平输出也是5V;Arduino UNO工作电压为3.3V,所以高电平输出也就是3.3V。
没有接触过C语言的同学,可能一上来接受这么多知识会觉得有些困难,其实C语言学起来并不是很难,比较友好。我们可以先从一些简单的语句写起来,用一些简单的函数做一些实验,等真正掌握了各个常见函数的应用场景之后,就可以实现复杂的效果了。还要跟大家强调一点,无论是Arduino电路连接还是C语言学习,都需要不断尝试 ,不断试错,只有这样才能真正学会函数的用法。
文章作者:程雅秋
英国皇家艺术学院产品设计硕士
擅长产品服务系统设计、用户体验设计和硬件Arduino交互
任何关于院校和作品集的问题
欢迎随时沟通
知无不言,言无不尽