Arduino-教程-第15课-Arduino-IO函数

合集下载

Arduino使用教程

Arduino使用教程

时间函数 Arduino 使用教程
梦工厂
北京龙凡汇众机器人科技有限公司 E_mail: service@
Arduino 使用教程
http://
DreamFactory
5
• unsigned long millis() 返回时间函数(单位 ms),该函数是指,当程序运行就开始计时并返回记录的参数, 该参数溢出大概需要 50 天时间。
• unsigned long pulseIn(pin, value) 脉冲长度记录函数,返回时间参数(us),pin 表示为 0~13,value 为 HI GH 或 LOW。比如 value 为 HIGH,那么当 pin 输入为高电平时,开始计时,当 pin 输入为低电平时,停止计 时,然后返回该时间。
• int digitalRead(pin) 数字 IO 口读输入电平函数,pin 表示为 0~13,value 表示为 HIGH 或 LOW。比如可以 读数字传感器。
模拟 I/O
• int analogRead(pin) 模拟 IO 口读函数,pin 表示为 0~5(Arduino Diecimila 为 0~5,Arduino nano 为 0~7)。 比如可以读模拟传感器(10 位 AD,0~5V 表示为 0~1023)。
语法符号:
•; • {} • // • /* */
运算符:
•= •+ ••* •/ •% • == • !=
Arduino 使用教程
梦工厂
北京龙凡汇众机器人科技有限公司 E_mail: service@
Arduino 使用教程
•< •> • <= • >= • && • || •! • ++ • -• += • -= • *= • /=

arduino常用函数(二)

arduino常用函数(二)
电压,AREF引脚位置见图。ቤተ መጻሕፍቲ ባይዱ
模拟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-教程-第15课-Arduino-IO函数

Arduino-教程-第15课-Arduino-IO函数

第15课Arduino I/O函数Arduino函数库Arduino函数库1.Arduino I/O函数2.Arduino 高级I/O函数3.Arduino 字符函数4.Arduino 数学库5.Arduino 三角函数Arduino板上的引脚可以配置为输入或输出。

我们将在这些模式下解释引脚的功能。

重要的是要注意,大多数Arduino模拟引脚可以按照与数字引脚完全相同的方式进行配置和使用。

引脚配置为INPUTArduino引脚默认配置为输入,因此在使用它们作为输入时,不需要使用 pinMode()显式声明为输入。

以这种方式配置的引脚被称为处于高阻抗状态。

输入引脚对采样电路的要求非常小,相当于引脚前面的100兆欧的串联电阻。

这意味着将输入引脚从一个状态切换到另一个状态所需的电流非常小。

这使得引脚可用于诸如实现电容式触摸传感器或读取LED作为光电二极管的任务。

被配置为pinMode(pin,INPUT)的引脚(没有任何东西连接到它们,或者有连接到它们而未连接到其他电路的导线),报告引脚状态看似随机的变化,从环境中拾取电子噪音或电容耦合附近引脚的状态。

上拉电阻如果没有输入,上拉电阻通常用于将输入引脚引导到已知状态。

这可以通过在输入端添加上拉电阻(到5V)或下拉电阻(接地电阻)来实现。

10K电阻对于上拉或下拉电阻来说是一个很好的值。

使用内置上拉电阻,引脚配置为输入Atmega芯片内置了2万个上拉电阻,可通过软件访问。

通过将pinMode()设置为INPUT_PULLUP可访问这些内置上拉电阻。

这有效地反转了INPUT模式的行为,其中HIGH表示传感器关闭,LOW表示传感器开启。

此上拉的值取决于所使用的微控制器。

在大多数基于AVR的板上,该值保证在20kΩ和50kΩ之间。

在Arduino Due上,它介于50kΩ和150kΩ之间。

有关确切的值,请参考板上微控制器的数据表。

当将传感器连接到配置为INPUT_PULLUP的引脚时,另一端应接地。

arduino基本函数

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 语法手册函数部分摘自:函数部分数字 I/OpinMode()描述将指定的引脚配置成输出或输入。

详情请见digital pins。

语法pinMode(pin, mode)#参数pin:要设置模式的引脚mode:INPUT或OUTPUT返回无例子ledPin = 13语法…noTone(pin)参数pin: 所要停止产生声音的引脚返回无shiftOut()shiftOut())描述将一个数据的一个字节一位一位的移出。

从最高有效位(最左边)或最低有效位(最右边)开始。

依次向数据脚写入每一位,之后时钟脚被拉高或拉低,指示刚才的数据有效。

注意:如果你所连接的设备时钟类型为上升沿,你要确定在调用shiftOut()前时钟脚为低电平,如调用digitalWrite(clockPin, LOW)。

注意:这是一个软件实现;Arduino提供了一个硬件实现的SPI库,它速度更快但只在特定脚有效。

语法shiftOut(dataPin, clockPin, bitOrder, value)参数dataPin:输出每一位数据的引脚(int)clockPin:时钟脚,当dataPin有值时此引脚电平变化(int)bitOrder:输出位的顺序,最高位优先或最低位优先value: 要移位输出的数据(byte)^返回无shiftIn()描述将一个数据的一个字节一位一位的移入。

从最高有效位(最左边)或最低有效位(最右边)开始。

对于每个位,先拉高时钟电平,再从数据传输线中读取一位,再将时钟线拉低。

注意:这是一个软件实现;Arduino提供了一个硬件实现的SPI库,它速度更快但只在特定脚有效。

语法《shiftIn(dataPin,clockPin,bitOrder)参数dataPin:输出每一位数据的引脚(int)clockPin:时钟脚,当dataPin有值时此引脚电平变化(int)bitOrder:输出位的顺序,最高位优先或最低位优先返回读取的值(byte)pulseIn()描述《读取一个引脚的脉冲(HIGH或LOW)。

Arduino入门版使用教程

Arduino入门版使用教程

Arduino入門版使用教程目錄介紹篇 (1)一、Arduino 基礎套裝介紹 (2)1、什麼是Arduino 基礎套裝? (2)2、元件清單 (2)二、Arduino 介紹 (4)1、什麼是Arduino? (4)2、特色描述 (4)3、性能描述 (4)三、Arduino C 語言介紹 (6)1、關鍵字和符號 (6)2、結構 (9)3、功能 (9)四、Arduino 使用介紹 (11)1、準備好你的Arduino 板 (11)2、下載Arduino 開發環境 (13)3、安裝USB 驅動 (13)4、連接LED 燈電路 (17)5、打開arduino 開發環境 (18)6、打開已有程式 (19)7、編譯程式 (20)8、下載程式 (23)五、麵包板使用介紹 (30)1、麵包板介紹 (30)2、麵包板的使用 (30)實驗篇 (34)第一節多彩led 燈實驗 (35)一、發光二極管介紹 (35)二、簡單的控制一個led 燈的閃爍實驗 (39)三、廣告燈效果實驗 (41)第二節蜂鳴器實驗 (48)一、蜂鳴器介紹 (48)二、蜂鳴器模擬救護車警笛聲音實驗 (50)第三節數碼管實驗 (54)一、數碼管介紹 (54)二、數碼管顯示數字的實驗 (56)第四節按鍵實驗 (63)一、按鍵介紹 (63)二、按鍵控制led 等亮滅實驗 (65)三、擲骰子實驗 (67)第五節傾斜開關實驗 (74)一、傾斜開關介紹 (74)二、傾斜開關控制led 燈的亮滅 (75)第六節光控聲音實驗 (79)一、光敏電阻介紹 (79)二、光控聲音實驗 (80)第七節火焰報警實驗 (84)一、火焰傳感器介紹 (84)二、火焰報警實驗 (85)第八節搶答器實驗 (90)第九節溫度報警實驗 (98)一、溫度傳感器介紹 (98)二、溫度報警實驗 (99)第十節紅外遙控 (103)一、紅外接收頭介紹 (103)二、紅外遙控實驗 (104)介紹篇一、Arduino 基礎套裝介紹1、什麼是Arduino基礎套裝?Arduino基礎套裝是精心為初學者設計的一款學習工具。

第03章 Arduino基本函数

第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毫秒 }

Arduino参考手册-函数和变量及电路图

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 常用函数

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 语法手册

Arduino 语法手册

Arduino语法手册Arduino的程序可以划分为三个主要部分:结构、变量(变量与常量)、函数。

结构部分一、结构1.1setup()1.2loop()二、结构控制2.1if2.2if...else2.3for2.4switchcase2.5while2.6do...while2.7break2.8continue2.9return2.10goto三、扩展语法3.1;(分号)3.2{}(花括号)3.3//(单行注释)3.4/**/(多行注释)3.5#define3.6#include四、算数运算符4.1=(赋值运算符)4.2+(加)4.3-(减)4.4*(乘)4.5/(除)4.6%(模)五、比较运算符5.1==(等于)5.2!=(不等于)5.3<(小于)5.4>(大于)5.5<=(小于等于)5.6>=(大于等于)六、布尔运算符6.1&&(与)6.2||(或)6.3!(非)七、指针运算符7.1*取消引用运算符7.2&引用运算符八、位运算符8.1&(bitwiseand)8.2|(bitwiseor)8.3^(bitwisexor)8.4~(bitwisenot)8.5<<(bitshiftleft)8.6>>(bitshiftright)九、复合运算符9.1++(increment)9.2--(decrement)9.3+=(compoundaddition)9.4-=(compoundsubtraction)9.5*=(compoundmultiplication)9.6/=(compounddivision)9.6&=(compoundbitwiseand)9.8|=(compoundbitwiseor)变量部分十、常量10.1HIGH|LOW(引脚电压定义)10.2INPUT|OUTPUT(数字引脚(Digitalpins)定义)10.3true|false(逻辑层定义)10.4integerconstants(整数常量)10.5floatingpointconstants(浮点常量)十一、数据类型11.1void11.2boolean(布尔)11.3char(有号数据类型)11.4unsignedchar(无符号数据类型)11.5byte(无符号数)11.6int(整型)11.7unsignedint(无符号整型)11.8word11.9long(长整数型)11.10unsignedlong(无符号长整数型)11.11float(浮点型数)11.12double(双精度浮点数)11.13string(chararray/字符串)11.14Stringobject(String类)11.15array(数组)十二、数据类型转换12.1char()12.2byte()12.3int()12.4word()12.5long()12.6float()十三、变量作用域&修饰符13.1variablescope(变量的作用域)13.2static(静态变量)13.3volatile13.4const十四、辅助工具14.1sizeof()函数部分十五、数字I/O15.1pinMode()15.2digitalWrite()15.3digitalRead()十六、模拟I/O16.1analogReference()16.2analogRead()16.3analogWrite()PWM十七、高级I/O17.1tone()17.2noTone()17.3shiftOut()17.4shiftIn()17.5pulseIn()十八、时间18.1millis()18.2micros()18.3delay()18.4delayMicroseconds() 十九、数学运算19.1min()19.2max()19.3abs()19.4constrain()19.5map()19.6pow()19.7sqrt()19.8ceil()19.9exp()19.10fabs()19.11floor()19.12fma()19.13fmax()19.14fmin()19.15fmod()19.16ldexp()19.17log()19.18log10()19.19round()19.20signbit()19.21sq()19.22square()19.23trunc()二十、三角函数20.1sin()20.2cos()20.3tan()20.4acos()20.5asin()20.6atan()20.7atan2()20.8cosh()20.9degrees()20.10hypot()20.11radians()20.12sinh()20.13tanh()二十一、随机数21.1randomSeed()21.2random()二十二、位操作22.1lowByte()22.2highByte()22.3bitRead()22.4bitWrite()22.5bitSet()22.6bitClear()22.7bit()二十三、设置中断函数23.1attachInterrupt()23.2detachInterrupt()二十四、开关中断24.1interrupts()(中断)24.2noInterrupts()(禁止中断)二十五、通讯25.1Serial25.2Stream二十六、USB(仅适用于Leonardo和Due)26.1Mouse(键盘)26.2Keyboard(鼠标)结构部分一、结构1.1setup()在Arduino中程序运行时将首先调用setup()函数。

(完整word版)Arduino常用函数

(完整word版)Arduino常用函数

(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(),读取串行端口中持续输入的数据,并将读入的数据作为返回值。

第三章 Arduino的基本函数

第三章 Arduino的基本函数
⑤三角函数 三角函数包括sin(rad)、cos(rad)、tan(rad),分别得到rad的正弦值、 余弦值和正切值。返回值都为 double型。
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教程

Arduino教程

Arduino教程Arduino LWZ 教程V1.0目录一、Arduino编程语言 (4)1、数据类型: (4)2、常量: (4)3、基本语句: (4)(1)if语句 (4)(2)if...else...语句 (5)(3)for语句 (5)(4)break和continue (6)(5)switch case语句 (6)(6)while语句和do...while语句 (7)(7)return语句 (8)(8)运算符 (8)(9)函数 (8)4、结构函数: (8)5、功能函数: (9)(1)数字I/O函数 (9)(2)模拟I/O函数 (9)(3)时间函数 (9)(4)数学函数 (10)(5)数据类型转换函数 (10)(6)三角函数 (10)(7)随机数函数 (10)(8)外部中断函数 (11)(9)中断使能函数 (11)(10)串口收发函数 (11)6、官方库文件: (11)二、Sabertooth电机驱动模块应用实例 (13)1、工作模式 (13)(1)Mode1: Analog Input (13)(2)Mode2:R/C Input (14)(3)Mode3:Simplified serial (14)(4)Mode4:Packetized serial (15)2、应用实例 (17)(1)硬件连接 (17)(2)小车停止函数 (18)(3)小车前进函数 (19)(4)小车后退函数 (19)(5)小车右转函数 (20)(6)小车左转函数 (21)(7)电子积木编程思路 (22)(8)PC软件的编程思路 (25)(1)硬件连接 (25)(2)电子积木运动和初始化函数 (25)(3)电子积木编程思路 (26)4、通过无线模块控制小车 (28)(1)无线通信模块 (28)(2)硬件连接 (28)(3)电子积木编程思路 (28)5、下载程序串口COM和无线数模串口COM2同时控制小车 (30)(1)硬件连接 (31)(2)电子积木编程思路 (31)三、TN901_TEST非接触测温模块应用实例 (34)1、TN901工作原理 (34)2、应用实例 (36)(1)硬件连接 (36)(2)读取温度函数 (36)(3)初始化函数 (38)(4)电子积木编程思路 (38)3、多个TN模块的应用实例 (39)(1)硬件连接 (39)(2)初始化函数 (39)(3)电子积木编程思想:共享函数 (40)(4)电子积木编程思路:独立函数 (42)四、气体传感器模块应用实例 (46)1、应用实例 (46)(1)硬件连接 (46)(2)电子积木编程思路 (46)2、多个气体传感器的应用实例 (47)(1)硬件连接 (47)(2)电子积木编程思路 (47)五、火焰传感器模块应用实例 (48)1、应用实例 (48)(1)硬件连接 (48)(2)电子积木编程思路 (49)2、多个火焰传感器的应用实例 (49)(1)硬件连接 (49)(2)电子积木编程思路 (50)六、DF-miniLTV3寻线模块应用实例 (50)1、DF-miniLTV3寻线工作原理 (50)2、DF-miniLTV3寻线在单黑线的应用实例 (51)(1)硬件连接 (52)(2)Sabertooth模块函数 (52)(3)初始化函数 (52)(4)电子积木编程思路 (52)(1)硬件连接 (54)(2)电子积木编程思路 (54)(2)PC软件的编程思路 (56)七、舵机模块应用实例 (56)1、舵机工作原理 (56)2、应用实例 (57)(1)硬件连接 (57)(2)电子积木编程思路 (57)3、非库形式的应用实例 (59)(1)硬件连接 (59)(2)双舵机驱动函数 (59)八、综合实例 (63)1、驱动2台舵机和电机的应用实例 (63)(1)硬件连接 (63)(2)电子积木编程思路 (64)2、测3个测温度、驱动电机的应用实例 (64)(1)硬件连接 (64)(2)电子积木编程思路 (64)3、测3个测温度、驱动2台舵机和电机的应用实例 (65)(1)硬件连接 (65)(2)电子积木编程思路 (65)4、测2个气体、2个火焰、3个测温度、驱动2台舵机和电机的应用实例 (65)(1)硬件连接 (65)(2)电子积木编程思路 (65)5、寻线、测2个气体、2个火焰、3个测温度、驱动2台舵机和电机的应用实例 (66)(1)硬件连接 (66)(2)电子积木编程思路 (66)一、Arduino编程语言Arduino语言是建立在C/C++基础上的。

arduino函数库中各个函数的用法

arduino函数库中各个函数的用法

arduino函数库中各个函数的用法
Arduino函数库是一组提供给用户使用的函数,用于简化编程的过程。

每个函数都有自己的用法和参数。

以下是几个常见的Arduino函数库及其用法的示例:
1. digitalWrite(pin, value):将指定的IO引脚设置为高电平或低电平。

使用示例:digitalWrite(13, HIGH); // 将引脚13设置为高电平
2. analogRead(pin):读取指定的模拟引脚上的电压值。

使用示例:int sensorValue = analogRead(A0); // 读取A0引脚上的电压值
3. Serial.begin(baudRate):初始化串口通信,并设置波特率。

使用示例:Serial.begin(9600); // 初始化串口通信,波特率为9600
4. delay(milliseconds):延迟指定的毫秒数。

使用示例:delay(1000); // 延迟1秒
5. pinMode(pin, mode):设置指定引脚的工作模式,可以为输入(INPUT)或输出(OUTPUT)。

使用示例:pinMode(7, OUTPUT); // 将引脚7设置为输出模式
6. tone(pin, frequency):在指定引脚上生成指定频率的方波。

使用示例:tone(9, 1000); // 在引脚9上生成1000Hz的方波
需要根据具体应用场景选择合适的函数,并根据函数说明传递正确的参数。

可以通过Arduino官方网站或其他资源查找更多函数的详细说明和示例代码。

Arduino函数

Arduino函数
void setup() {
//定义变量以存储读值
pinMode(LEDPin,OUTPUT); //设置针脚为输出针脚 } //从输入针脚读取数值
void loop()
{ val = analogRead(analogPin); analogWrite(LEDPin,val/4);
//以val/4的数值点亮LED(因为analogRead读取的数值为0~1023,
4) constrain(x,a,b)
描述: 将一个数值约束在一个范围内。
参数: x,要被约束的数值,适用于所有的数据类型; a, 该范围的最小值,适用于所有的数据类型; b,该范围的 最大值,适用于所有的数据类型。 返回值: x,如果x是介于a和b之间;
a,如果x小于a;
b,如果x大于b。
5) map(value,fromLow,fromHigh,toLow,toHigh)
参数: type,使用哪种引用类型(DEFAULT、INTERNAL、
INTERNAL1V1、INTERNAL2V56或者EXTERNAL)。 注意事项: 改变基准电压后,之前从analogRead()读取的 数据可能不准确。
2) analogRead()
描述: 从指定的模拟引脚读取数据值。Arduino板包含一个6 通道(Mini和Nano有8个通道,Mega有16个通道)、10位模 拟/数字转换器,这表示它将0~5V的输入电压映像到0~1023 的整数值,即每个读数对应电压值为5V/1024,都每单位
4
时间函数
1) millis()
2) micros() 3) delay()
Contents
4) delayMicroseconds()

Arduino函数

Arduino函数
描述: 计算一个数的幂次方。pow()可以用来计算一个
数的分数幂,其用来产生指数幂的数或曲线非常方便。 参数: base,底数(float); exponent,幂(float)。 返回: 一个数的幂次方值(double)。
7) sqrt(x) 描述: 计算一个数的平方根。 参数: x,被开方数,任何类型。 返回: 此数的平方根,类型double。
2
模拟I/O
1) analogReference(type)
2) analogRead()
3) analogWrite()
Contents
1) analogReference(type)
描述: 设定用于模拟输入的基准电压(输入范围的最大值)。 DEFAULT: 默认值5V (Arduino板为5V)或3V(Arduino板为 3.3V)为基准电压。 INTERNAL: 在ATmega168和ATmega328上以1.1V为基准
数。该针脚可以连接压电蜂鸣器或其他喇叭播放声音。在
同一时刻只能产生一个声音。如果一个针脚已经在播放音 乐,那么呼叫tone()将不会有任何效果。如果音乐在同一 个针脚上播放,那么它会自动调整频率。使用tone()函数 会与3脚和11脚的PWM产生干扰(Mega板除外)。
2) noTone() 描述: 停止由tone()产生的方波。如果没有使用,tone()
4
时间函数
1) millis()
2) micros() 3) delay()
Contents
4) delayMicroseconds()
1) millis() 描述: 返回Arduino开发板运行当前程序开始的毫秒数,这个 数字将在约50天后溢出(归零)。 2) micros()

arduino基本函数

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教程



unsigned long time; void setup() { Serial.begin(9600); } void loop() { Serial.print("Time: "); time = micros(); //读取当前的微秒值 Serial.println(time); // 打印开机到目前运行的微秒值 data delay(1000); //延时1秒 }
四、时间函数



1、delay(ms); 2、delayMicroseconds(us); 3、millis(); 4、micros();
1、delay(ms);

延时函数,参数是延时的时长,单位是 ms(毫秒)。
例程——跑马灯

void setup() { pinMode(6,OUTPUT); //定义为输出 pinMode(7,OUTPUT); pinMode(8,OUTPUT); pinMode(9,OUTPUT);
例程



int sensor=A0; //A0引脚读取电位器 int LED=11; //第11引脚输出LED void setup() { Serial.begin(9600); } void loop() { int v; v=analogRead(sensor); Serial.println(v,DEC); //可以观察读取的模拟量 analogWrite(LED,v/4); //读回的值范围是0~1023结果除以4才 能得到0~255的区间值 }
} void loop() { int i; for(i=6;i<=9;i++) //依次循环四盏灯 {digitalWrite(i,HIGH); //点亮LED delay(1000); //持续1秒 digitalWrite(i,LOW); //熄灭LED delay(1000); //持续1秒 } }

arduino处理流程控制的函数

arduino处理流程控制的函数

arduino处理流程控制的函数英文版Arduino Process Control FunctionsArduino is an open-source physical computing platform based on a simple I/O board and a development environment that implements the processing language. It can be used to develop stand-alone interactive objects or can be connected to software on your computer (e.g., Flash, Processing, etc.). The board can be interacted with via various sensors and can control various devices such as LEDs, motors, servos, and other physical outputs.One of the key features of Arduino is its ability to handle process control functions. These functions allow you to control the flow of your program based on specific conditions or events. Here are some of the common process control functions used in Arduino:setup(): This function is called once when the Arduino board resets or powers up. It's typically used to initialize variables, pin modes, and set up any required hardware components.loop(): This function contains the main program code that runs repeatedly in a loop forever. It's where you'll put most of your program's logic.if Statements: These statements allow you to check if a condition is true or false and execute a block of code accordingly. For example, you can use an if statement to check if a sensor value is above a certain threshold and turn on an LED if it is.else and else if Statements: These statements allow you to specify multiple conditions and execute different blocks of code based on which condition is true.for Loops: These loops allow you to iterate over a range of values and perform a specific task for each value. For example, you can use a for loop to blink an LED a specific number of times.while Loops: These loops allow you to repeatedly execute a block of code while a condition is true. They're useful for tasks that need to continuously run until a specific event occurs.delay() and delayMicroseconds(): These functions pause the execution of your program for a specified number of milliseconds or microseconds, respectively. They're useful for creating timed delays between actions.By combining these process control functions, you can create complex and interactive Arduino projects that respond to various inputs and control various outputs based on specific conditions or events.中文版Arduino处理流程控制的函数Arduino是一个基于简单I/O板和实现处理语言的开发环境的开源物理计算平台。

arduino基础-函数(arduino基础-函数).doc

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 ();。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第15课Arduino I/O函数
Arduino函数库
Arduino函数库
1.Arduino I/O函数
2.Arduino 高级I/O函数
3.Arduino 字符函数
4.Arduino 数学库
5.Arduino 三角函数
Arduino板上的引脚可以配置为输入或输出。

我们将在这些模式下解释引脚的功能。

重要的是要注意,大多数Arduino模拟引脚可以按照与数字引脚完全相同的方式进行配置和使用。

引脚配置为INPUT
Arduino引脚默认配置为输入,因此在使用它们作为输入时,不需要使用 pinMode()显式声明为输入。

以这种方式配置的引脚被称为处于高阻抗状态。

输入引脚对采样电路的要求非常小,相当于引脚前面的100兆欧的串联电阻。

这意味着将输入引脚从一个状态切换到另一个状态所需的电流非常小。

这使得引脚可用于诸如实现电容式触摸传感器或读取LED作为光电二极管的任务。

被配置为pinMode(pin,INPUT)的引脚(没有任何东西连接到它们,或者有连接到它们而未连接到其他电路的导线),报告引脚状态看似随机的变化,从环境中拾取电子噪音或电容耦合附近引脚的状态。

上拉电阻
如果没有输入,上拉电阻通常用于将输入引脚引导到已知状态。

这可以通过在输入端添加上拉电阻(到5V)或下拉电阻(接地电阻)来实现。

10K电阻对于上拉或下拉电阻来说是一个很好的值。

使用内置上拉电阻,引脚配置为输入
Atmega芯片内置了2万个上拉电阻,可通过软件访问。

通过将pinMode()设置为
INPUT_PULLUP可访问这些内置上拉电阻。

这有效地反转了INPUT模式的行为,其中HIGH表示传感器关闭,LOW表示传感器开启。

此上拉的值取决于所使用的微控制器。

在大多数基于AVR的板上,该值保证在20kΩ和50kΩ之间。

在Arduino Due上,它介于50kΩ和150kΩ之间。

有关确切的值,请参考板上微控制器的数据表。

当将传感器连接到配置为INPUT_PULLUP的引脚时,另一端应接地。

在简单开关的情况下,这会导致当开关打开时引脚变为高电平,当按下开关时引脚为低电平。

上拉电阻提供足够的电流来点亮连接到被配置为输入的引脚的LED。

如果项目中的LED似乎在工作,但很昏暗,这可能是发生了什么。

控制引脚是高电平还是低电平的相同寄存器(内部芯片存储器单元)控制上拉电阻。

因此,当引脚处于INPUT模式时,配置为有上拉电阻导通的引脚将被开启;如果引脚通过
pinMode()切换到OUTPUT模式,引脚将配置为高电平。

这也适用于另一个方向,如果通过pinMode()切换到输入,则处于高电平状态的输出引脚将设置上拉电阻。

示例
引脚配置为OUTPUT
通过pinMode()配置为OUTPUT的引脚被认为处于低阻抗状态。

这意味着它们可以向其他电路提供大量的电流。

Atmega引脚可以向其他器件/电路提供(提供正电流)或吸收(提供负电流)高达40mA(毫安)的电流。

这是足以点亮LED或者运行许多传感器的电流(不要忘记串联电阻),但不足以运行继电器,螺线管或电机。

试图从输出引脚运行高电流器件,可能损坏或破坏引脚中的输出晶体管,或损坏整个
Atmega芯片。

通常,这会导致微控制器中出现“死”引脚,但是剩余的芯片仍然可以正常工作。

因此,最好通过470Ω或1k电阻将OUTPUT引脚连接到其他器件,除非特定应用需要从引脚吸取最大电流。

pinMode()函数
pinMode()函数用于将特定引脚配置为输入或输出。

可以使用INPUT_PULLUP模式启用内部上拉电阻。

此外,INPUT模式显式禁止内部上拉。

pinMode()函数语法
∙pin - 你希望设置模式的引脚的编号
∙mode - INPUT,OUTPUT或INPUT_PULLUP。

示例
digitalWrite()函数
digitalWrite()函数用于向数字引脚写入HIGH或LOW值。

如果该引脚已通过pinMode()配置为OUTPUT,则其电压将被设置为相应的值:HIGH为5V(或3.3V在3.3V板上),LOW为0V(接地)。

如果引脚配置为INPUT,则digitalWrite()将启用(HIGH)或禁止(LOW)输入引脚的内部上拉。

建议将pinMode()设置为INPUT_PULLUP,以启用内部上拉电阻。

如果不将pinMode()设置为OUTPUT,而将LED连接到引脚,则在调用
digitalWrite(HIGH)时,LED可能会变暗。

在没有明确设置pinMode()时,digitalWrite()将启用内部上拉电阻,这就像一个大的限流电阻。

digitalWrite()函数语法
∙pin - 你希望设置模式的引脚的编号
∙value - HIGH或LOW。

示例
analogRead()函数
Arduino能够检测是否有一个电压施加到其引脚,并通过digitalRead()函数报告。

开/关传感器(检测物体的存在)和模拟传感器之间存在一个差异,模拟传感器的值连续变化。

为了读取这种类型的传感器,我们需要一个不同类型的引脚。

在Arduino板的右下角,你会看到6个标记为“Analog In”的引脚。

这些特殊引脚不仅可以告知是否有电压施加给它们,还可以告知它们的值。

通过使用analogRead()函数,我们可以读取施加到其中一个引脚的电压。

此函数返回0到1023之间的数字,表示0到5伏特之间的电压。

例如,如果施加到编号0的引脚的电压为2.5V,则analogRead(0)返回512。

analogRead()函数语法
pin - 要读取的模拟输入引脚的编号(大多数电路板上为0至5,Mini和Nano上为0至7,Mega上为0至15)
示例。

相关文档
最新文档