Arduino常用函数精编版
- 格式:docx
- 大小:23.82 KB
- 文档页数:5
arduino基本函数Arduino是一款开源的电子原型平台,它提供了一套用于编写和上传代码的基本函数库。
这些基本函数可以帮助开发者实现各种功能,从简单的控制LED灯的开关,到复杂的传感器数据采集和处理。
本文将介绍几个常用的Arduino基本函数,并展示它们的用法和作用。
1. pinMode函数pinMode函数用于设置Arduino的引脚模式,可以将引脚设置为输入模式(INPUT)或输出模式(OUTPUT)。
在输入模式下,引脚可以接收外部信号;在输出模式下,引脚可以控制外部设备。
例如,以下代码将引脚13设置为输出模式:```pinMode(13, OUTPUT);```2. digitalWrite函数digitalWrite函数用于控制引脚的电平状态,可以将引脚设置为高电平(HIGH)或低电平(LOW)。
在输出模式下,可以使用digitalWrite函数控制LED灯的亮灭。
例如,以下代码将引脚13设置为高电平,点亮LED灯:```digitalWrite(13, HIGH);```3. digitalRead函数digitalRead函数用于读取引脚的电平状态,可以获取引脚接收到的外部信号。
在输入模式下,可以使用digitalRead函数读取传感器的数据。
例如,以下代码将读取引脚2的电平状态并将结果存储在变量sensorValue中:```int sensorValue = digitalRead(2);```4. analogWrite函数analogWrite函数用于模拟输出,可以通过调节引脚的占空比来控制输出的电压。
这个函数通常用于控制PWM(脉宽调制)信号。
例如,以下代码将引脚9设置为模拟输出模式,并将占空比设置为50%:```analogWrite(9, 128);```5. analogRead函数analogRead函数用于读取引脚的模拟电压值,可以获取传感器输出的模拟信号。
例如,以下代码将读取引脚A0的模拟电压值并将结果存储在变量sensorValue中:```int sensorValue = analogRead(A0);```6. delay函数delay函数用于延迟一段时间,可以暂停程序的执行。
arduino基本函数Arduino是一种开源硬件平台,它基于易于使用的硬件和软件,可以用于创建各种互动项目。
在本文中,我们将介绍一些Arduino的基本函数,这些函数是编写Arduino代码时经常使用的。
1. digitalWrite()函数:这个函数用于将指定的引脚设置为高电平(HIGH)或低电平(LOW)。
例如,digitalWrite(13, HIGH)会将数字引脚13设置为高电平。
2. pinMode()函数:这个函数用于将指定的引脚设置为输入(INPUT)或输出(OUTPUT)模式。
例如,pinMode(13, OUTPUT)会将数字引脚13设置为输出模式。
3. digitalRead()函数:这个函数用于读取指定引脚的电平状态,返回值为HIGH或LOW。
例如,state = digitalRead(13)会将数字引脚13的电平状态保存在变量state中。
4. analogWrite()函数:这个函数用于在指定的引脚上产生模拟信号。
模拟信号的取值范围是0到255,对应于引脚的电压范围0到5V。
例如,analogWrite(9, 127)会在数字引脚9上输出一个占空比为50%的PWM信号。
5. analogRead()函数:这个函数用于读取指定引脚上的模拟信号。
模拟信号的取值范围是0到1023,对应于引脚的电压范围0到5V。
例如,value = analogRead(A0)会将模拟引脚A0上的模拟信号读取到变量value中。
6. delay()函数:这个函数用于延迟指定的毫秒数。
例如,delay(1000)会延迟1秒。
7. millis()函数:这个函数返回自Arduino开机以来的毫秒数。
它常用于计时或控制时间间隔。
例如,currentTime = millis()会将当前的毫秒数保存在变量currentTime中。
8. Serial.begin()函数:这个函数用于初始化串口通信,并指定波特率。
Arduino参考⼿册-函数和变量及电路图常⽤函数(Nano版)数字 I/OdigitalRead(pin)参数:[n];返回值:[ HIGH | LOW ]digitalWrite(pin, value)参数:[n],[HIGH | LOW];返回值:⽆pinMode(pin, mode)参数:[n],[INPUT | OUTPUT | INPUT_PULLUP];返回值:⽆模拟 I/O(部分)analogRead(pin)参数:[A0-A5];返回值:[0-1023]analogWrite(pin, value)参数:[3,5,6,9,10,11],[0-255];返回值:⽆说明:PWM wave 490Hz⾼级 I/OpulseIn(pin, value, [timeout])参数:[n],[HIGH | LOW],{unsigned long}(微秒;默认:1秒);返回值:{unsigned long}(脉冲时长:10微秒-3分钟)pulseInLong(pin, value, [timeout])参数:[n],[HIGH | LOW],{unsigned long}(微秒;默认:1秒);返回值:{unsigned long}(脉冲时长:10微秒-3分钟)说明:擅长处理长脉冲和中断受影响的场景。
仅当中断启⽤时可⽤shiftIn(dataPin, clockPin, bitOrder)参数:[n],[n],[MSBFIRST |LSBFIRST];返回值:{byte}shiftOut(dataPin, clockPin, bitOrder, value)参数:[n],[n],[MSBFIRST | LSBFIRST],{byte};返回值:⽆tone(pin, frequency, [duration])参数:[n],{unsigned int}(赫兹),{unsigned long}(毫秒);返回值:⽆说明:50%占空⽐,频率⼤于31Hz。
Arduino常用函数一、什么是ArduinoArduino是一种开源电子原型平台,用于设计和制造通过电子和软件创建的交互式项目。
它基于易于使用的硬件和软件,由全球广大的创客共同开发和改进。
Arduino平台非常适合创造独具创意的自动化装置、机器人、传感器以及其他物联网相关的项目。
二、常用函数概述Arduino提供了丰富的库函数和内置函数,以简化开发过程。
这些函数涵盖了各种常见任务,如控制IO口、读取传感器数据、与外部设备通信等。
在本文中,我们将介绍几个常用的Arduino函数。
三、DigitalWrite函数1. 函数概述digitalWrite()函数用于设置数字引脚的电平。
通过该函数,可以将数字引脚设置为高电平(高电压)或低电平(低电压),从而控制相应的设备。
2. 函数语法digitalWrite(pin, value);3. 函数参数•pin:要设置电平的引脚编号。
•value:引脚的电平,可选值为高电平(HIGH)和低电平(LOW)。
4. 示例下面的示例演示了如何使用digitalWrite()函数控制LED灯亮灭:int ledPin = 13; // LED连接的引脚void setup() {pinMode(ledPin, OUTPUT); // 将引脚设置为输出模式}void loop() {digitalWrite(ledPin, HIGH); // 设置引脚为高电平,LED灯亮起delay(1000); // 延迟1秒digitalWrite(ledPin, LOW); // 设置引脚为低电平,LED灯熄灭delay(1000); // 延迟1秒}四、AnalogRead函数1. 函数概述analogRead()函数用于读取模拟引脚的电压值。
通过该函数,可以获取传感器等模拟设备的输出电压,并进行相应的处理。
2. 函数语法analogRead(pin);3. 函数参数•pin:要读取电压的引脚编号。
Arduino学习笔记(四)--常⽤函数1、pinMode(pin,Mode):设置引脚的输⼊输出状态Pin:引脚号;Mode:INPUT、OUTPUT2、digitalWrite(pin,value) :设置输出引脚的⾼低电平状态Pin:引脚号;value:HIGH LOW3、int digitalRead(pin):读取引脚的状态,并返回HIGH 或LOWPin:引脚号4、int analogRead(pin):读出模拟引脚上的电压,并以⼆进制数值返回(0~1023)对应为0~5vPin:引脚号5、analogWrite(pin,value):给PWM引脚输出电压值pin:引脚号;value:具体的pwm值,(0~255对应表⽰⼀个周期的⾼电平占空⽐)6、shiftOut(dataPin,clockPin,bitOrder,value):将⼀个字节的数据通过移位的⽅式逐位的输出。
dataPin:数据引脚clockPin:时钟引脚bitOrder:移位顺序(MSBFIRST-⾼;LSBFIRST-低)value:需要进⾏移位传输的值说明:在输出数据时,当⼀位数据写⼊数据输出引脚时,时钟引脚将输出脉冲信号,指⽰该位数据已被写⼊数据输出引脚等待外设读取。
并且在使⽤本函数之前datapin和clockpin引脚应该设置为输出状态。
本函数⼀次只能输出⼀个字节的内容,也就是说最⼤⼀次只能输出255,如果⼤于255,就要多次调⽤这个函数。
7、unsigned long mills():回传单⽚机从开始执⾏到现在⽬前的时间(单位:ms)8、delay( number):占⽤单⽚机的时间(单位:ms)number:其代表占⽤单⽚机的时间长度9、delay Microseconds( number):占⽤单⽚机的时间(单位:us)number:其代表占⽤单⽚机的时间10、pulseIn(pin,state,timeout):读取脉冲宽度。
(1)pinMode(接口名称,OUTPUT或INPUT),将指定的接口定义为输入或输出接口,用在setup()函数里。
(2)digitalWrite(接口名称,HIGH(高)或LOW(低)),将数字输入输出接口的数值置高或置低。
(3)digitalRead(接口名称),读出数字接口的值,并将该值作为返回值。
(4)analogWrite(接口名称,数值),给一个模拟接口写入模拟值(PWM脉冲)。
数值取值0-255。
(5)analogRead(接口名称),从指定的模拟接口读取数值,Arduino对该模拟值进行数字转换,这个方法将输入的0~5V电压值转换为0~1023间的整数值,并将该整数值作为返回值。
(6)delay(时间),延时一段时间,以毫秒为单位,如1000为1秒。
(7)Serial.begin(波特率),设置串行每秒传输数据的速率(波特率)。
在与计算机进行通讯时,可以使用下面这些值:300、1200、2400、4800、9600、14400、19200、28800、38400、57600或115200,一般9600、57600和115200比较常见。
除此之外还可以使用其他需要的特定数值,如与0号或1号引脚通信就需要特殊的波特率。
该函数用在setup()函数里。
Serial.available() 的意思是:返回串口缓冲区中当前剩余的字符个数。
一般用这个函数来判断串口的缓冲区有无数据,当Serial.available()>0时,说明串口接收到了数据,可以读取;Serial.read()指从串口的缓冲区取出并读取一个Byte的数据,比如有设备通过串口向Arduino发送数据了,我们就可以用Serial.read()来读取发送的数据。
while(Serial.available()>0){data= Serial.read();delay(2);}(8)Serial.read(),读取串行端口中持续输入的数据,并将读入的数据作为返回值。
关键字:ifif...elseforswitch case whiledo... while breakcontinuereturngoto语法符号:;{}///* */运算符:=+-*/%==!=<><=>=&&||!++--+=-=*=/=数据类型:boolean 布尔类型char 字符类型byte 字节类型int 整数类型unsigned int 无符号整型long 长整型unsigned long 无符号长整型float 实数类型doublestringarrayvoid常量:HIGH | LOW 表示数字IO 口的电平,HIGH 表示高电平(1),LOW 表示低电平(0)。
INPUT | OUTPUT 表示数字IO 口的方向,INPUT 表示辒入(高阻态),OUTPUT 表示辒出(AVR能提供5V电压 40mA电流)。
true | false true 表示真(1),false表示假(0)。
具体使用可以结合实验的程序1、声明变量及接口名称(int val;int ledPin=13;)。
2、setup()——函数在程序开始时使用,可以初始化变量、接口模式、启用库等(例如:pinMode(ledPin,OUTUPT);)。
3、loop()——在setup()函数之后,即初始化之后,loop() 让你的程序循环地被执行。
使用它来运转Arduino。
接下来就开始学习一下几个基本函数。
1、pinMode(接口名称,OUTPUT或INPUT)将——接口定义为输入或输出接口,用在setup()函数里。
2、digitalWrite(接口名称, HIGH或LOW)——将数字接口值至高或低。
3、digitalRead(接口名称)——读出数字接口的值。
4、analogWrite(接口名称, 数值)——给一个接口写入模拟值(PWM波)。
对于ATmega168芯片的Arduino(包括Mini或BT),该函数可以工作于3, 5, 6, 9, 10和11号接口。
(1)pinMode(接口名称,OUTPUT或INPUT),将指定的接口定义为输入或输出接口,用在setup()函数里。
(2)digitalWrite(接口名称,HIGH(高)或LOW(低)),将数字输入输出接口的数值置高或置低。
(3)digitalRead(接口名称),读出数字接口的值,并将该值作为返回值。
(4)analogWrite(接口名称,数值),给一个模拟接口写入模拟值(PWM脉冲)。
数值取值0-255。
(5)analogRead(接口名称),从指定的模拟接口读取数值,Arduino对该模拟值进行数字转换,这个方法将输入的0~5V电压值转换为0~1023间的整数值,并将该整数值作为返回值。
(6)delay(时间),延时一段时间,以毫秒为单位,如1000为1秒。
(7)Serial.begin(波特率),设置串行每秒传输数据的速率(波特率)。
在与计算机进行通讯时,可以使用下面这些值:300、1200、2400、4800、9600、14400、19200、28800、38400、57600或115200,一般9600、57600和115200比较常见。
除此之外还可以使用其他需要的特定数值,如与0号或1号引脚通信就需要特殊的波特率。
该函数用在setup()函数里。
Serial.available() 的意思是:返回串口缓冲区中当前剩余的字符个数。
一般用这个函数来判断串口的缓冲区有无数据,当Serial.available()>0时,说明串口接收到了数据,可以读取;
Serial.read()指从串口的缓冲区取出并读取一个Byte的数据,比如有设备通过串口向Arduino发送数据了,我们就可以用Serial.read()来读取发送的数据。
while(Serial.available()>0)
{
data= Serial.read();
delay(2);
}
(8)Serial.read(),读取串行端口中持续输入的数据,并将读入的数据作为返回值。
(9)Serial.print(数据,数据的进制),从串行端口输出数据。
Serial.print(数据)默认为十进制,相当于Serial.print(数据,十进制)。
(10)Serial.println(数据,数据的进制),从串行端口输出数据,有所不同的是输出数据后跟随一个回车和一个换行符。
但是该函数所输出的值与Serial.print()一样。
常用函数
数字I/O类:
pinMode(pin,mode)数字IO口输入输出模式定义函数,将接口定义为输入或输出接口。
digitalWrite(pin,value)数字IO口输出电平定义函数,将数字接口值至高或低、开或关。
int digitalRead(pin)数字IO口读输入电平函数,读出数字接口的值,pin 表示为0~13。
模拟I/O类:
int analogRead(pin)模拟IO口读函数,从指定的模拟接口读取值。
analogWrite(pin,value)数字IO口PWM输出函数,给一个接口写入模拟值(输出PWM波)。
Value取值0-255。
扩展I/O类:
shiftOut(dataPin,clockPin,bitOrder,value)SPI外部IO扩展函数,通常使用带SPI接口的74HC595做8个IO扩展,把资料传给用来延伸数字输出的寄存器,此函数通常使用在延伸数字输出。
unsigned long pulseIn(pin,value)脉冲长度记录函数,设定读取脚位状态的持续时间,返回时间参数(μs)。
时间函数
unsigned long millis()返回时间函数(单位ms),回传单片机开始执行到目前的毫秒数。
该函数是指,当程序运行就开始计时并返回记录的时间参数。
该参数溢出大概需要50天时间。
数学函数
min(x,y)求最小值,回传两数之间较小者。
max(x,y)求最大值,回传两数之间较大者。
随机数函数
randomSeed(seed)随机种子数设置函数,使得随机数发生器产生的随机数更加不可预测。
long random(max)随机数返回函数,返回数据大于等于0,小于max。
long random(min,max)随机数返回函数,返回数据大于等于min,小于 max。
中断使能函数
interrupts()使能中断函数。
放开中断功能。
noInterrupts()禁止中断函数。
关闭中断功能。
attachInterrupt(interrupt, function, mode)
interrupt:中断引脚数function:中断发生时调用的函数,此函数必须不带参数和不返回任何值。
该函数有时被称为中断服务程序。
mode:定义何时发生中断以下四个contstants预定有效值:LOW 当引脚为低电平时,触发中断
CHANGE 当引脚电平发生改变时,触发中断
RISING 当引脚由低电平变为高电平时,触发中断
FALLING 当引脚由高电平变为低电平时,触发中断.
Arduino也可以忽略所有中断。
如果你需要在一段代码中不执行中断,只需要执行 noInterrupts()命令。
当这段代码执行完以后,你可以使用 interrupts()命令重新启用中断。
终端也可以通过detachInterrupt(interrupt_number)命令进行
删除。
串口收发函数
Serial.begin(speed)启用串口和定义波特率函数。
设置每秒串行传输数据的速率(波特率),即指定Arduino与PC微机交换信息的速率,通常选用9600bps(比特/秒)。
Serial.print(data)串行端口数据输出函数。
将输出结果显示于PC微机端的。