Arduino基础-函数
arduino常用函数(二)
模拟I/O函数
AREF引脚
注意:如果在AREF引脚加载外部参考电压,需要使用一个5KΩ的上 拉电阻,这会避免由于设置不当造成控制芯片的损坏。
模拟I/O函数
3. analogWrite(pin,value)
analogWrite函数并不是输出真正意义上的模拟值
analogWrite函数通过PWM(脉冲宽度调制)的方式在 引脚上输出一个模拟量,较多的应用在LED亮度控制、 电机转速控制等方面。
模拟I/O函数
模拟信号:
模拟信号是用连续变化的物理量表示的信息,信号随时间作连 续变化。在Arduino UNO上,可以接受0~5V的模拟信号。
模拟I/O函数
模拟输入引脚:
模拟输入引脚 模拟输入引脚有10位精度,即可以将0~5V的电压信号转换为
0~1023的整数形式表示。 模拟输入功能需要使用analogRead() 函数。
模拟I/O函数
2. analogReference(type)
analogReference函数的作用是配置模拟输入引脚的 参考电压。该函数为无返回值函数,参数为type类型,有 3种类型(DEFAU LT /INTERNAL/EXTERNAL),具体含 义如下: 。
DEFAULT :默认值,参考电压为5V。 INTERNAL:低电压模式,使用片内基准电压源。 EXTERNAL:扩展模式,通过AREF引脚获取参考
abs(x)函数的作用是获取x的绝对值
4. constrain(amt,low,high)
constrain(amt,low,high)函数的工作过程是,如果值amt小于low, 则返回low;如果amt大于high,则返回high;否则,返回amt。
《Arduino技术及应用》课件—第5章 Arduino的基本函数
5.2 模拟I/O
5.2.3 analogWrite(pin, value)
analogWrite函数的作用是通过PWM的方式将 模拟值输出到引脚,即调用analogWrite函数后, 相应引脚将产生一个指定占空比的稳定方波(频率 大约为490Hz),直到下一次调用该函数,可应用 在LED亮度调节、电机速度控制等方面。
}
5.2 模拟I/O
*注意:函数的参数pin范围是0~5,表示6个模拟量 I/O口中的一个。 可以在开发环境中的下列实例程序中找到analogRead 函数的应用: ADXL3xx.pde、AnalogInput.pde、Calibration.pde 、Graph.pde、Knock.pde、Smoothing.pde、 VirtualColorMixer.pde
Arduino技术及应用
第5章 Arduino的基本函数
目录 1
目录
5
目录 9
5.1数字I/O
5.1.1 pinMode(pin,mode)
pinMode函数用于配置引脚为输入或输出模式 ,它是一个无返回值函数,一般放在setup里,先 设置再使用。
pinMode函数有两个参数——pin和mode。 pin参数表示要配置的引脚,以Arduino Uno为例 ,它的范围是数字引脚0~13,也可以把模拟引脚 (A0~A5)作为数字引脚使用,此时编号为14脚 (对应模拟引脚0)到19脚(对应模拟引脚5)。 mode参数表示设置的模式——INPUT(输入)或 OUTPUT(输出),其中INPUT用于读取信号,
EXTERNAL:扩展模式,通过AREF引脚获取参 考电压。
5.2 模拟I/O
5.2.2 analogRead(pin) analogRead函数用于读取引脚的模拟量电压
arduino基本函数
3.1.1 pinMode(pin, mode)3.1 数字I/O3.1.1 pinMode(pin, mode)pinMode函数在第2章中已经出现过了,用以配置引脚为输出或输出模式,它是一个无返回值函数,函数有两个参数pin和mode,pin参数表示所要配置的引脚,mode参数表示设置的模式—INPUT(输入)或OUTPUT(输出)。
注意:Arduino板上的模拟引脚也可以当做数字引脚使用,编号为14(对应模拟引脚0)到19(对应模拟引脚5)。
由于Arduino项目是完全开源的,所以pinMode(pin, mode)函数原型可直接在Arduino开发环境目录下的hardware\arduino\cores\arduino文件夹里的wiring_digital.c文件中查看。
函数原型有助于我们深入了解Ardnino的基本函数的底层实现方式,但这部分的内容需要在单独深入学习AVR单片机的基础上进行,本书将这些函数原型从文件中提取出来,有兴趣的读者可以参考一下。
一般只要能够熟练地使用这些Arduino基本函数就可以了,本书对函数原型没有进行过多讲解。
pinMode(pin, mode)函数原型:void pinMode(uint8_t pin, uint8_t mode){uint8_t bit = digitalPinToBitMask(pin);uint8_t port = digitalPinToPort(pin);volatile uint8_t *reg;if (port == NOT_A_PIN)return;reg = portModeRegister(port);if (mode == INPUT){uint8_t oldSREG = SREG;cli();*reg &= ~bit;SREG = oldSREG;}else{uint8_t oldSREG = SREG;cli();*reg |= bit;SREG = oldSREG;}}可以在开发环境中的下列实例程序中找到pinMode函数的应用:ADXL3xx.pde、AnalogInput.pde、Blink.pde、BlinkWithoutDelay.pde、Button.pde、Calibration.pde、Debounce.pde、Dimmer.pde、Knock.pde、Loop.pde、Melody.pde、Memsic2125.pde、PhysicalPixel.pde、Ping.pde3.1.2 digitalWrite(pin,value)digitalWrite函数也是在Blink程序中见到过的,它的作用是设置引脚的输出的电压为高电平或低电平。
arduino基本函数
标题:Arduino基本函数的重新表述引言: Arduino是一种开源硬件平台,拥有广泛的应用领域,包括物联网、嵌入式系统和机器人等。
在Arduino编程中,函数起着至关重要的作用,因为它们是实现特定功能的关键。
本文将重新表述Arduino的一些基本函数,以帮助读者更好地理解其原理和应用。
1. pinMode函数首先,我们来重新表述Arduino的pinMode函数。
该函数用于设置指定引脚的模式,可将其设置为输入模式(INPUT)或输出模式(OUTPUT)。
通过以下方式调用该函数:pinMode(pin, mode);其中pin是要设置的引脚号,mode可以是INPUT或OUTPUT。
这个函数非常重要,因为它决定了引脚的行为。
2. digitalWrite函数接下来,我们重新表述Arduino的digitalWrite函数。
该函数用于向指定引脚写入数字值,对于设为输出模式的引脚,可以将它们设置为HIGH或LOW。
调用方式如下:digitalWrite(pin, value);pin是要写入的引脚号,value可以是HIGH或LOW。
这个函数常用于控制LED的亮灭等场景。
3. digitalRead函数第三个要重新表述的函数是Arduino的digitalRead函数。
该函数用于读取指定引脚的数字值,例如传感器的输出。
用法如下:value = digitalRead(pin);pin是要读取的引脚号,读取到的值将保存在value变量中。
这个函数常用于检测外部设备的状态或响应用户输入。
4. analogWrite函数现在,让我们重新表述Arduino的analogWrite函数。
这个函数用于在一个兼容的引脚输出PWM(脉冲宽度调制)信号,可以控制设备的亮度或速度等。
用法如下:analogWrite(pin, value);pin是要输出PWM信号的引脚号,value是要输出的占空比,范围从0到255。
arduino基本函数
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的基本函数,这些函数是编写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参考手册-函数和变量及电路图
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 常用函数
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:要读取电压的引脚编号。
第03章 Arduino基本函数
图3 按键开关实物图
A d u i n o 第 3 章 阿 帝 诺 基 本 函 数
此种按键有4个脚,从背面看如图4(a)所示,其原 理图如图4(b)所示。
(a) 按键引脚图 图4 按键引脚/原理图
(b) 按键原理图
在按键没有按下去的时候1,2号脚相连,3,4 号 脚相连。按键按下去的时候,1,2,3,4号脚就全部接通
A d u i n o 第 3 章 阿 帝 诺 基 本 函 数
第3章
本章内容:
Arduino基本函数
• 时间函数
• 数字I/O函数
• 中断函数
• 串口通信函数
• SPI函数
• 模拟I/O函数
• 随机函数 • 数学函数
A d u i n o 第 3 章 阿 帝 诺 基 本 函 数
3.1 时间函数
1. millis( )
A d u i n o 第 3 章 阿 帝 诺 基 本 函 数
3.3
模拟I/O函数
1. analogReference(type)
analogReference函数的作用是配置模拟引脚的参 考电压。在嵌入式应用中引脚获取模拟电压值之后, 将根据参考电压将模拟值转换到0~1023。该函数为 无返回值函数,参数为type类型,有3种类型(DEFAU LT /INTERNAL/EXTERNAL),具体含义如下: 。 DEFAULT :默认值,参考电压为5V。 INTERNAL:低电压模式,使用片内基准电压源。 EXTERNAL:扩展模式,通过AREF引脚获取参考 电压,AREF引脚位置见图。
analogWrite函数为无返回值函数,有两个参数
pin和value,参数pin表示所要设置的引脚,只能选择 函数支持的引脚;参数value表示PWM输出的占空比 ,范围在0~255的区间,对应的占空比为0%~100%
Arduino基本函数介绍
Arduino基本函数介绍转载⾃数字 I/O(1)pinMode(pin, mode) 数字IO ⼝输⼊输出模式定义函数,pin 表⽰为0~13, mode 表⽰为INPUT 或OUTPUT 。
(2) digitalWrite(pin, value) 数字IO ⼝输出电平定义函数,pin 表⽰为0~13,value 表⽰为HIGH 或LOW,⽐如定义HIGH 可以驱动LED。
(3)int digitalRead(pin) 数字IO ⼝读输⼊电平函数,pin 表⽰为0~13,value 表⽰为HIGH 或LOW。
⽐如可以读数字传感器。
模拟 I/O(1)int analogRead(pin) 模拟IO ⼝读函数,pin 表⽰为0~5(Arduino Diecimila 为0~5,Arduino nano 为0~7)。
⽐如可以读模拟传感器(10 位AD,0~5V 表⽰为0~1023)。
(2)analogWrite(pin, value) PWM 数字IO ⼝PWM 输出函数,Arduino 数字IO ⼝标注了PWM 的IO ⼝可使⽤该函数,pin 表⽰3, 5, 6, 9, 10, 11,value 表⽰为0~255。
⽐如可⽤于电机PWM 调速或⾳乐播放。
扩展 I/O(1)shiftOut(dataPin, clockPin, bitOrder, value) SPI 外部IO 扩展函数,通常使⽤带SPI 接⼝的74HC595 做8 个IO 扩展,dataPin 为数据⼝,clockPin 为时钟⼝,bitOrder 为数据传输⽅向(MSBFIRST ⾼位在前,LSBFIR ST 低位在前),value 表⽰所要传送的数据(0~255),另外还需要⼀个IO ⼝做74HC595 的使能控制。
(2)unsigned long pulseIn(pin, value) 脉冲长度记录函数,返回时间参数(us),pin 表⽰为0~13,value 为HIGH 或LOW。
arduino函数学习笔记
Arduino程序的主函数main在内部就已经定义了,所以只需void setup()和void loop().前者用于初始化在程序开头设置引脚的输入输出模式,初始化串口,执行一次。
loop是死循环,是执行程序。
函数pinMode()有两个参数pin和mode, pin参数表示所要配置的引脚,mode 表示设置的模式INPUT或OUTPUT. arduino板上的模拟引脚亦可作数字引脚用,A0~A5对应数字14~19digitalWrite()两个参数,pin表示设置的引脚(须设置为OUTPUT模式),value 表示输出的电压HIGH或LOW,此函数作用是设置引脚输出的电压为高或低。
digitalRead()一个参数,pin***(须设置为INPUT模式),用来获取引脚的电压情况HIGH或LOW. 若引脚没有连接到任何地方,那么随机返回高或低。
analogReference(type)analogRead(pin) 用于读取引脚的模拟电压值,返回值int 范围0~1023,pin 只能是6模拟接口。
analogWrite(pin,value)在指定引脚上输出一个模拟量,应用在LED灯亮度控制,电机转速控制。
无返回值。
Value表示PWM输出的占空比。
范围0~255 shiftOut(dataPin,clockPin,bitOrder,val)无返回值能够将数据通过串行的方式在引脚上输出shiftIn(datapin,clockPin,bitOrder)通过串行的方式在引脚上读入数据。
pulseIn(pin,state,timeout) 此函数用于读取引脚脉冲的时间长度,脉冲可以是HIGH或LOW。
如果是HIGH,函数先将引脚变为高电平,在开始计时,一直到变为低电平为止,返回脉冲持续时间长短,单位MS,如果超时还未读到,将返回0. 函数返回值为unsigned long ,3个参数分别表示脉冲输入的引脚,脉冲响应的状态(高或低)和超时时间。
第三章 Arduino的基本函数
3.6、随机数
①randomSeed(seed) randomSeed函数用来设置随机数种子,随机种子的设置对产生的 随机序列有影响。函数无返回值。
②random(howsmall, howbig) 应用 random函数可生成一个随机数,两个参数 howsmallz和 howbig决定了随机数的范围,函数的参数及返回值均为long型。
3.1、数字I/O
①pinMode(pin, mode) 配置引脚为输入或输出模式,它是一个无返回值函数,函数有两个参 数pin和mode,pin参数表示所要配置的引脚,mode参数表示设置的 模式:INPUT(输入)或 OUTPUT(输出)。
②digitalWrite(pin, value) digitalWrite函数也是在 Blink程序中见过的,它的作用是设置引脚的 输出的电压为高电平或低电平。该函数也是一个无返回值的函数, 函数有两个参数pin和 value,pin参数表示所要设置的引脚,value 参数表示输出的电压:HlGH(高电平)或LOW(低电平)。
3.4、时间函数
①millis() 应用millis函数可获取机器运行的时间长度,单位ms。系统最长的 记录时间为9小时22分,如果超出时间将从0开始。函数返回值为 unsigned long型,无参数。
②delay (ms) delay函数是一个延时函数,在 Blink程序中用到过,参数表示延时 时长,单位是ms,函数无返回值。
②analogRead(pin) • analogRead函数用于读取引脚的模拟量电压值,每读一次需要花
arduino基本函数
关键字: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号接口。
arduino库基础函数
arduino库基础函数Arduino库基础函数Arduino是一种开源硬件平台,它可以帮助您轻松地设计和构建各种电子设备。
Arduino库是一个集成的开发环境,用于编写、上传和运行代码。
在这个环境中,有许多基础函数可以帮助您实现各种功能。
本文将介绍一些常用的基础函数。
数字输入输出函数数字输入输出函数可用于控制数字引脚的状态。
以下是一些常见的数字输入输出函数:digitalWrite(pin, value):该函数设置指定引脚的状态为HIGH或LOW。
digitalRead(pin):该函数读取指定引脚的状态,并返回HIGH或LOW。
pinMode(pin, mode):该函数设置指定引脚的模式(输入或输出)。
例如,以下代码将设置引脚13为输出模式,并将其状态设置为HIGH:```void setup() {pinMode(13, OUTPUT);}void loop() {digitalWrite(13, HIGH);}```模拟输入输出函数模拟输入输出函数可用于控制模拟引脚的状态。
以下是一些常见的模拟输入输出函数:analogWrite(pin, value):该函数设置指定引脚的PWM值(0~255)。
analogRead(pin):该函数读取指定引脚上的模拟值,并返回0~1023之间的整数值。
例如,以下代码将设置引脚9为PWM输出模式,并将其PWM值设置为128:```void setup() {pinMode(9, OUTPUT);}void loop() {analogWrite(9, 128);}```延迟函数延迟函数可用于暂停程序的执行。
以下是一些常见的延迟函数:delay(ms):该函数暂停程序的执行,以毫秒为单位。
delayMicroseconds(us):该函数暂停程序的执行,以微秒为单位。
例如,以下代码将设置引脚13为输出模式,并将其状态在HIGH和LOW之间切换,并在切换之间暂停500毫秒:```void setup() {pinMode(13, OUTPUT);}void loop() {digitalWrite(13, HIGH);delay(500);digitalWrite(13, LOW);delay(500);}```串口通信函数串口通信函数可用于通过串口与计算机或其他设备进行通信。
arduino库基础函数
arduino库基础函数Arduino库基础函数是一组用于配置和控制Arduino板和其外设的函数。
这些函数可以通过调用Arduino的库进行使用,以实现各种功能。
以下是一些常用的基础函数以及相关的参考内容:1. pinMode: 该函数用于设置指定引脚的模式,可选择为输入(INPUT)或输出(OUTPUT)模式。
函数原型:void pinMode(uint8_t pin, uint8_t mode)参考内容:Arduino官方文档中的pinMode函数,该文档详细介绍了函数的用法和参数说明。
2. digitalWrite: 该函数用于将指定引脚设置为高电平(HIGH)或低电平(LOW)。
函数原型:void digitalWrite(uint8_t pin, uint8_t value)参考内容:Arduino官方文档中的digitalWrite函数。
3. digitalRead: 该函数用于读取指定引脚的当前电平状态,返回值为高电平(HIGH)或低电平(LOW)。
函数原型:int digitalRead(uint8_t pin)参考内容:Arduino官方文档中的digitalRead函数。
4. analogWrite: 该函数用于通过调整PWM(脉冲宽度调制)信号的占空比来模拟模拟信号输出。
函数原型:void analogWrite(uint8_t pin, int value)参考内容:Arduino官方文档中的analogWrite函数。
5. analogRead: 该函数用于读取指定引脚上的模拟输入值,返回值为0-1023之间的整数。
函数原型:int analogRead(uint8_t pin)参考内容:Arduino官方文档中的analogRead函数。
6. delay: 该函数用于暂停程序执行一段时间,以毫秒为单位。
函数原型:void delay(unsigned long ms)参考内容:Arduino官方文档中的delay函数。
arduino基础-函数(arduino基础-函数).doc
arduino基础-函数(arduino基础-函数)Input output functionArduino contains a switching function of some processing input and output, is believed to have the book from a program example・PinMode (pin, mode)Specifies the digital foot (digital, pin) as input or output・Example:PinMode (7, INPUT); / / pin 7 is set as input modeDigitalWrite (pin, value)Specifies the number of pins to be on or off. The pin must firstbe passed through the pinMode as input or output mode, and the digitalWrite will take effect・Example:DigitalWrite (8, HIGH) ; / / set the high potential output pin 8Int digitalRead (PIN)Read the value of the input pin and return HIGH when it is sensed that the foot is at high potentia 1. Otherwise, it will return LOW.Example:Vai 二digitalRead (7) ; / / read pin 7 values and assigned to val Int analogRead (PIN)Read the voltage of the analog foot and return a value from 0 to 1023 to indicate the corresponding 0 to 5 voltage value・Example:Val 二analogRead (0) ; / / read analog pin 0 values and assigned to the variable valAnalogWrite (pin, value)Change the output voltage of the PWM pin, and the feet are usually at 3, 5, 6, 9, 10 and 11. The Value range is 0-255, for example, the output voltage is 2.5 volts (V), and the value is about 128.Example:AnalogWrite (9128); / / output voltage of about 2. 5 volts (V)Unsigned, long, pulseln (pin, value)Sets the duration of the read position of the foot, for example, when an infrared or accelerometer is used to measure a certain value, without changing the state in the time unit・Example:Time 二pulsein (7, HIGH) : / / set foot 7 state in the unit oftime is HIGHShiftOut (dataPin, clockPin, bitOrder, value)The data is passed to a register used to extend the digital output ・ The function uses one foot to represent the data and one foot to indicate the pulse・ BitOrder is used to represent the movement of bits (the lowest significant bit of LSBFIRST or the most significant bit of MSBFIRST), and finally the value output in byte form・ This function is usually used in the output of the extended digit・Example:ShiftOut (dataPin, clockPin, LSBFIRST, 255);Time functionControl and calculate the time during execution of the chipUnsigned, long, millis ()The return chip begins to execute to the current millisecondExample:Duration 二millis (-lastTime); / / said that since the〃lastTime〃the present timeDelay (MS)How many milliseconds does the pause chip execute?Example:Delay (500) ; / / suspended for half a second (500 milliseconds) Delay Microseconds (US)How many microseconds does the pause chip execute?Example:DelayMicroseconds (1000); / / suspend 1 milliseconds Mathematical functionTrigonometric functions and basic mathematical operationsMin (x, y)Return between the smallerExample:Vai 二min (10), 20); / / return 10Max (x, y)Return between largerExample:Vai 二max (10,20); / / return 20ABS (x)Returning the absolute value of the number, you can turn negative numbers into positive numbers・Example:Vai 二ABS (-5); / / return 5Constrain (x, a, b)Determine the state of the X variable between a and B・ X if less than a, return a; between a and B, return x itself; greater than B, return BExample:Vai 二constrain (analogRead (0), 0, 255); / / ignore a number greater than 255Map (value, fromLow, fromHigh, toLow, toHigh)Converts value variables to toLow and tolligh ranges in accordance with the fromLow and fromHigh ranges・ Often used to read analog signals and convert them to the range values required by the program.Such as:Vai = map (analogRead (0), 01023100, 200) ; / / the value analogO the read signal equivalence to 100 - 200.Double pow (base, exponent)An index (exponent) value that returns a number (base)・Example:Double x 二pow (y, 32); / / set X to 32 yDouble sqrt (x)Returns the square root value of the double type・Example:Double a 二sqrt (1138) ; / / return 33. 73425674438 approximation of the square root of 1138Double sin (RAD)The trigonometric function sine value of the return angle (radians)・Example:Double sine 二 sin (2) ; / / approximate value of 0. 90929737091Double cos (RAD)The trigonometric function cosine value of the return angle (radians)・Example:Double cosine 二cos (2); / / -0.41614685058 approximation Double Tan (RAD)The trigonometric function tangent value of the return angle (radians)・Example:Double tangent 二Tan (2) ; / / -2.185******** approximation Random number functionGenerating random numbersRandomSeed (seed)In fact, the random number in Arduino is predictable・ So if you need a really messy number, you can call this function to reset and generate a random seed・ You can use the random number as a random number seed, to ensure that the figures appear in a random way, usually use analog input as a random seed, which can produce environment related random number (e.g., radio, telephone, and cosmic ray ray fluorescent lamps emitted electromagnetic wave)・RandomSeed (analogRead (5)): / / use analog input as a random seedLong random (max)Long random (min, max)Returns the random number of the specified interval, the type is long. If no minimum is specified, the default is 0.Example:Long randnum 二random (0, 100); / / return number between 99 and 0 -Long randnum 二random (11) ; / / return number between 0 TO Sequence communicationIn the fifth chapter, you can see some examples of using serial ports to exchange messages with computers. Here is a functional explanation.Seria1. begin (speed)You can specify the rate at which Arduino can exchange messages from a computer, usually using 9600 bps・ Of course, you can use other speeds, but usually no more than 115200 BPS (bytes per second)・Seria1. begin (9600);Seria1. print (data)Seria1. print (data, encoding)Transmit data through serial ports, providing options for encoding ・ If not specified, the default is sent in plain text.Example:Seria1. print (75); / / print "75〃Seria1. print (75, DEC); / / print 〃75〃Seria1. print (75, HEX); / / (75 sixteen carry)Seria1. print (75, OCT); / / 〃113〃(75 in eight carry)Serial, print (75, BIN): / / 〃1001011〃(75 bit)Seria1. print (75, BYTE); / / 〃K〃(with byte transmission, display with ASCII encoding)Seria1. printin (data)Seria1. printin (data, encoding)Same as Seria1. print (), but a newline character is added at theend of the data・ It means that you press Enter after you have hit some data on the keyboard.Example:Seria1. printin (75); / / print "75〃Seria1. printin (75, DEC); / / print 〃75〃Seria1. printin (75, HEX); / / 4B〃Seria1. printin (75, OCT); / / 113 〃〃Seria1. printin(75, BIN); / / 1001011 〃〃Seria1. printin (75, BYTE); / / K〃Int, Seria 1. available ()Data returned by a number of bytes (bytes) has not been read by the read () function, and if the return value is 0, all data on the serial port have been read by the read () function.Example:Int count 二Seria1. available ();Int, Seria 1. read ()Read lbyte sequence dataExample:Int data 二Seria 1. read ();Seria 1. flush ()Sometimes you can use this function to clear the data in the buffer because the data is too fast to exceed the speed at which the data is processed by the program・ This function ensures that the data in the buffer (buffer) is up to date・Example:Seria 1. flush ();。
arduino 时间函数
arduino 时间函数
在Arduino中,有两个主要的时间函数可以使用:
1. millis()函数:
这个函数返回自启动以来的毫秒数。
它可以用于计算时间间隔,例如计算两个事件之间的时间差。
示例代码:
unsigned long startTime = millis();
一些代码执行
unsigned long endTime = millis();
unsigned long elapsedTime = endTime - startTime;
2. delay()函数:
这个函数可用于使Arduino等待一定的时间。
参数是要等待的毫秒数。
示例代码:
delay(1000); 等待1秒钟
注意:如果你使用delay()函数,Arduino将在等待的时间内停止执行任何其他代码,直到等待结束。
因此,delay()函数只适用于短时间的繁忙等待。
对于长时间的等待,你应该使用非阻塞的等待方法,例如使用计时器或延迟函数在后台运行代码。
第03章 Arduino基本函数
实践操作2:
本次操作通过模拟端口0读入的电位器的电压值来控 制一盏LED灯,使它随着电位器的旋转而慢慢变亮再慢慢 变暗,如此循环。接线图如图8所示:
A d u i n o 第 3 章 阿 帝 诺 基 本 函 数
图8 模拟口输入/输出连线图
A d u i n o 第 3 章 阿 帝 诺 基 本 函 数
实践操作:
参考图2所示电路原理图,并将其修改为正逻辑,通 过开关的通断控制Arduino 2009板载led的亮与灭。
A d u i n o 第 3 章 阿 帝 诺 基 本 函 数
图2 数字引脚I/O原理图
A d u i n o 第 3 章 阿 帝 诺 基 本 函 数
按键是一种常用的控制电器元件,常用来接通或 断开电路,从而达到控制电机或者其他设备运行的开 关。按键的外观多种多样,本次操作使用的是这种微 型按键,6mm的,如图3所示。
(a) 下拉电阻 图1 上/下拉电阻示意图
(b) 上拉电阻
上拉下拉电阻的主要作用是在开关常态时给线路 (节点)以一个固定的电平。
A d u i n o 第 3 章 阿 帝 诺 基 本 函 数
3、digitalRead(pin)
digitalRead函数在引脚为输入的情况下,可获得引 脚的电压情况--HIGH(高电平)或LOW(低电平),参数 pin表示所要读取的引脚,该函数返回值为int,表示引 脚的电压情况。
void loop()
{ Log=analogRead(0); //读取模拟口0的电压值 Log=map(Log,0,1023,0,255);
//将电压值转换为占空比
analogWrite(3,Log);
//输出模拟电压
delay(30); //延时30毫秒 }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
double cos(rad)
回传角度(radians)的三角函数cosine值。
范例:
double cosine = cos(2); //近似值-0.41614685058
double tan(rad)
回传角度(radians)的三角函数tangent值。
范例:
delay(500); //暂停半秒(500毫秒)
delay Microseconds(us)
暂停晶片执行多少微秒
范例:
delayMicroseconds(1000); //暂停1豪秒
数学函式
三角函数以及基本的数学运算
min(x, y)
Serial.println(75, BIN); // "1001011 "
Serial.println(75, BYTE); // "K "
int Serial.available()
回传有多少位元组(bytes)的资料尚未被read()函式读取,如果回传值是0代表所有序列埠上资料都已经被read()函式读取。
时间函数
控制与计算晶片执行期间的时间
unsigned long millis()
回传晶片开始执行到目前的毫秒
范例:
duration = millis()-lastTime; // 表示自"lastTime"至当下的时间
delay(ms)
暂停晶片执行多少毫秒
constrain(x, a, b)
判断x变数位于a与b之间的状态。x若小于a回传a;介于a与b之间回传x本身;大于b回传b
范例:
val = constrain(analogRead(0), 0, 255); // 忽略大于255的数
map(value, fromLow, fromHigh, toLow, toHigh)
unsigned long pulseIn(pin, value)
设定读取脚位状态的持续时间,例如使用红外线、加速度感测器测得某一项数值时,在时间单位内不会改变状态。
范例 :
time = pulsein(7,HIGH); // 设定脚位7的状态在时间单位内保持为HIGH
shiftOut(dataPin, clockPin, bitOrder, value)
输入输出函数
Arduino 内含了一些处理输出与输入的切换功能,相信已经从书中程式范例略知一二。
pinMode(pin, mode)
将数位脚位(digital pin)指定为输入或输出。
范例 :
pinMode(7,INPUT); // 将脚位 7 设定为输入模式
digitalWrite(pin, value)
Serial.print(75, BYTE); // "K" (以byte进行传送,显示以ASCII编码方式)
Serial.println(data)
Serial.println(data, encoding)
与Serial.print()相同,但会在资料尾端加上换行字元( )。意思如同你在键盘上打了一些资料后按下Enter。
范例 :
val = digitalRead(7); // 读出脚位 7 的值并指定给 val
int analogRead(pin)
读出类比脚位的电压并回传一个 0到1023 的数值表示相对应的0到5的电压值。
范例 :
val = analogRead(0); //读出类比脚位 0 的值并指定给 val变数
范例:
Serial.println(75); //列印出"75 "
Serial.println(75, DEC); //列印出"75 "
Serial.println(75, HEX); // "4B "
Seri
范例:
Serial.begin(9600);
Serial.print(data)
Serial.print(data, encoding)
经序列埠传送资料,提供编码方式的选项。如果没有指定,预设以一般文字传送。
范例:
Serial.print(75); // 列印出 "75"
回传两数之间较小者
范例:
val = min(10,20); // 回传10
max(x, y)
回传两数之间较大者
范例:
val = max(10,20); // 回传20
abs(x)
回传该数的绝对值,可以将负数转正数。
范例:
val = abs(-5); // 回传5
long randnum = random(11); // 回传 0 -10之间的数字
序列通讯
你可以在第五章看见一些使用序列埠与电脑交换讯息的范例,以下是函式解释。
Serial.begin(speed)
你可以指定Arduino从电脑交换讯息的速率,通常我们使用9600 bps。当然也可以使用其他的速度,但是通常不会超过115,200 bps(每秒位元组)。
double a = sqrt(1138); // 回传1138平方根的近似值 33.73425674438
double sin(rad)
回传角度(radians)的三角函数sine值。
范例:
double sine = sin(2); // 近似值 0.90929737091
范例:
Serial.flush();
analogWrite(pin, value)
改变PWM脚位的输出电压值,脚位通常会在3、5、6、9、10与11。Value变数范围0-255,例如:输出电压2.5伏特(V),该值大约是128。
范例 :
analogWrite(9,128); // 输出电压约2.5伏特(V)
范例:
int count = Serial.available();
int Serial.read()
读取1byte的序列资料
范例:
int data = Serial.read();
Serial.flush()
有时候因为资料速度太快,超过程式处理资料的速度,你可以使用此函式清除缓冲区内的资料。经过此函式可以确保缓冲区(buffer)内的资料都是最新的。
Serial.print(75, DEC); //列印出 "75"
Serial.print(75, HEX); // "4B" (75 的十六进位)
Serial.print(75, OCT); // "113" (75 in的八进位)
Serial.print(75, BIN); // "1001011" (75的二进位)
范例:
double tangent = tan(2); //近似值-2.18503975868
乱数函式
产生乱数
randomSeed(seed)
事实上在Arduino里的乱数是可以被预知的。所以如果需要一个真正的乱数,可以呼叫此函式重新设定产生乱数种子。你可以使用乱数当作乱数的种子,以确保数字以随机的方式出现,通常会使用类比输入当作乱数种子,藉此可以产生与环境有关的乱数(例如:无线电波、宇宙雷射线、电话和萤光灯发出的电磁波等)。
将value变数依照fromLow与fromHigh范围,对等转换至toLow与toHigh范围。时常使用于读取类比讯号,转换至程式所需要的范围值。
例如:
val = map(analogRead(0),0,1023,100, 200); // 将analog0 所读取到的讯号对等转换至100 – 200之间的数值。
double pow(base, exponent)
回传一个数(base)的指数(exponent)值。
范例:
double x = pow(y, 32); // 设定x为y的32次方
double sqrt(x)
回传double型态的取平方根值。
范例:
将数位脚位指定为开或关。脚位必须先透过pinMode明示为输入或输出模式digitalWrite才能生效。
范例 :
digitalWrite(8,HIGH); //将脚位 8设定输出高电位
int digitalRead(pin)
将输入脚位的值读出,当感测到脚位处于高电位时时回传HIGH,否则回传LOW。
把资料传给用来延伸数位输出的暂存器,函式使用一个脚位表示资料、一个脚位表示时脉。bitOrder用来表示位元间移动的方式(LSBFIRST最低有效位元或是MSBFIRST最高有效位元),最后value会以byte形式输出。此函式通常使用在延伸数位的输出。
范例 :
shiftOut(dataPin, clockPin, LSBFIRST, 255);
范例:
randomSeed(analogRead(5)); // 使用类比输入当作乱数种子
long random(max)
long random(min, max)
回传指定区间的乱数,型态为long。如果没有指定最小值,预设为0。
范例:
long randnum = random(0, 100); // 回传0 – 99 之间的数字