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

arduino 常用函数Arduino是一种开源的硬件平台,它使用简单易学的编程语言,可以轻松地实现各种电子项目。
在Arduino中,有许多常用函数可以帮助我们完成各种任务。
下面是一些常用的Arduino函数:1. pinMode(pin, mode)该函数用于设置指定引脚的模式。
其中,pin表示引脚号,mode表示要设置的模式(输入或输出)。
例如:pinMode(13, OUTPUT); // 将13号引脚设置为输出模式2. digitalWrite(pin, value)该函数用于将指定引脚的输出值设置为高电平或低电平。
其中,pin表示引脚号,value表示要设置的值(HIGH或LOW)。
例如:digitalWrite(13, HIGH); // 将13号引脚输出高电平3. digitalRead(pin)该函数用于读取指定引脚的输入值。
其中,pin表示引脚号。
例如:int val = digitalRead(2); // 读取2号引脚输入值,并将其存储在val 变量中4. analogWrite(pin, value)该函数用于将指定引脚的PWM信号占空比设置为指定值。
其中,pin 表示引脚号(必须是支持PWM输出的引脚),value表示要设置的占空比(0~255)。
例如:analogWrite(9, 127); // 将9号引脚PWM信号占空比设置为127 5. analogRead(pin)该函数用于读取指定引脚的模拟输入值。
其中,pin表示引脚号(必须是支持模拟输入的引脚)。
例如:int val = analogRead(A0); // 读取A0号引脚模拟输入值,并将其存储在val变量中6. delay(ms)该函数用于延迟指定毫秒数。
其中,ms表示要延迟的毫秒数。
例如:delay(1000); // 延迟1秒钟7. millis()该函数用于获取自Arduino板启动以来经过的毫秒数。
Arduinoforesp8266常用函数

Arduinoforesp8266常⽤函数Serial.print("发送主题");串⼝输出,⼀般是字符串Serial.println(config.key);串⼝输出,可以是intSerial.printf("\r\nMAC address:%02X\r\n",mac[5]);串⼝输出,格式输出Serial.begin (115200);波特率:115200/9600常⽤ESP.wdtFeed();喂狗/资源释放ESP.getSdkVersion();获取SDK设备版本ESP.getFreeHeap();获取内存⼤⼩ESP.restart();重启WiFi.mode(WIFI_AP_STA);WiFi模式( WIFI_AP_STA / WIFI_AP )WiFi.disconnect();WiFi断开连接WiFi.localIP();WiFi本地IPif ( WiFi.status() != WL_CONNECTED )判断WiFi是否连接上,如果WiFi不连接上,做啥WiFi.stopSmartConfig();停⽌⼀键配⽹WiFi.beginSmartConfig();开始⼀键配⽹if (WiFi.smartConfigDone())⼀键配⽹是否完成WiFi.macAddress(mac);mac地址,以数组形式获取mac[n]WiFi.hostname(temp);设置WiFi主机名WiFi.begin(config.stassid, config.stapsw);WiFi开始连接,(WiFi名称,WiFi密码)strcpy(config.stapsw, WiFi.psk().c_str());字符串复制strcpy(config.stassid, WiFi.SSID().c_str());字符串复制if (strcmp(config.stassid, DEFAULT_STASSID) != 0)⽐较字符串函数,如果返回是0就是相等EEPROM.begin(1024);ROM开始1024字节EEPROM.write(i, *(p + i));ROM写⼈,(第⼏位,字符指针)mit();ROM写⼊完成,关闭IO流EEPROM.read(i);ROM读取。
arduino常用函数

arduino常用函数Arduino常用函数Arduino是一款开源的电子原型平台,它可以让用户快速、简单地制作各种电子设备并进行交互。
在Arduino编程过程中,常用的函数有以下几种:1. pinMode()该函数用于设置某个引脚(pin)的模式,可以设置为输入(INPUT)、输出(OUTPUT)或输入上拉(INPUT_PULLUP)。
例如,将引脚2设置为输出模式:```pinMode(2, OUTPUT);```2. digitalWrite()该函数用于将某个引脚输出高电平(HIGH)或低电平(LOW)。
例如,将引脚2输出高电平:```digitalWrite(2, HIGH);```3. digitalRead()该函数用于读取某个引脚的状态,返回值为高电平(HIGH)或低电平(LOW)。
例如,读取引脚3的状态:```int state = digitalRead(3);```4. analogRead()该函数用于读取模拟信号输入口的值,返回值为0~1023之间的整数。
例如,读取A0口的模拟信号值:```int value = analogRead(A0);```5. analogWrite()该函数用于产生PWM信号控制模拟输出口的输出电压。
参数范围为0~255之间的整数。
例如,将PWM信号输出到引脚9:```analogWrite(9, 128);```6. delay()该函数用于延时一定的时间,单位为毫秒(ms)。
例如,延时500毫秒:```delay(500);```7. millis()该函数返回自Arduino板上电以来经过的毫秒数。
例如,获取当前时间:unsigned long current_time = millis();```8. map()该函数用于将某个值从一个范围映射到另一个范围。
例如,将0~1023之间的模拟信号值映射到0~255之间的PWM信号值:```int pwm_value = map(analog_value, 0, 1023, 0, 255);```9. Serial.begin()该函数用于初始化串口通信,并设置波特率。
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函数用于延迟一段时间,可以暂停程序的执行。
ardino基本语句

ardino基本语句
Arduino的基本语句包括:
1. setup()函数:该函数在Arduino开始运行时执行一次,用于设置引脚模式、初始化变量等。
2. loop()函数:该函数会不断循环执行,用于处理程序的主要逻辑。
3. pinMode()函数:用于设置引脚的模式,可以设置为输入(INPUT)、输出(OUTPUT)、输入上拉
(INPUT_PULLUP)等。
4. digitalWrite()函数:用于将某个引脚设置为高电平(HIGH)或低电平(LOW)。
5. analogRead()函数:用于读取某个模拟引脚的模拟值,返回一个0-1023之间的数字。
6. analogWrite()函数:用于向某个模拟引脚输出模拟值,可以设置的范围是0-255。
7. delay()函数:用于延迟一段时间,单位为毫秒。
8. if语句:用于实现条件判断,根据判断结果执行不同的代码块。
9. for循环:用于执行一段代码的循环,可以指定循环的次数。
10. while循环:用于执行一段代码的循环,根据判断条件的结果来决定是否继续执行。
以上是Arduino的一些基本语句,可以根据具体的需求及其周
边设备的特性来使用,从而实现不同的功能。
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()函数:这个函数用于初始化串口通信,并指定波特率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
// If the pin that support PWM output, we need to turn it off // before getting a digital reading. if (timer != NOT_ON_TIMER) turnOffPWM(timer);
if (*portInputRegister(port) & bit) return HIGH; return LOW; }
值之后,将根据参考电压将模拟值转换到 0~1023。该函数为无返回值函数,参数为 type 类型,有 3 种类型(DEFAULT/INTERNAL/EXTERNAL),具体含义如下: DEFAULT:默认值,参考电压为 5V。 INTERNAL:低电压模式,使用片内基准电压源。 EXTERNAL:扩展模式,通过 AREF 引脚获取参考电压,AREF 引脚位置见图 3.2。
3.1.2 digitalWrite(pin,value)
digitalWrite 函数也是在 Blink 程序中见到过的,它的作用是设置引脚的输出的电压为高电平 或低电平。该函数也是一个无返回值的函数,函数有两个参数 pin 和 value,pin 参数表示所 要设置的引脚,value 参数表示输出的电压—HIGH(高电平)或 LOW(低电平)。 注意:在使用 digitalWrite(pin, value)函数设置引脚之前,需要将引脚设置为 OUTPUT 模式。 digitalWrite(pin, value)函数原型同样也可以在 wiring_digital.c 文件中找到,函数原型如下: void digitalWrite(uint8_t pin, uint8_t val) {
uint8_t oldSREG = SREG; cli(); *out &= ~bit; SREG = oldSREG; } else { uint8_t oldSREG = SREG; cli(); *out |= bit; SREG = oldSREG; } } 可以在开发环境的下列实例程序中找到 digitalWrite 函数的应用: ADXL3xx.pde、AnalogInput.pde、Blink.pde、BlinkWithoutDelay.pde、Button.pde、Calibration.pde、 Debounce.pde、Knock.pde、Loop.pde、Melody.pde、PhysicalPixel.型:
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) {
在 Arduino 中执行该操作后,应该等待一定时间后才能对该引脚进行下一次操作。Arduino 中的 PWM 的频率大约为 490Hz。该函数支持以下引脚:3、5、6、9、10、11。在 Arduino 控制板上引脚号旁边标注~的就是可用作 PWM 的引脚,如图 3.4 所示。
analogWrite 函数为无返回值函数,有两个参数 pin 和 value,参数 pin 表示所要设置的引脚, 只能选择函数支持的引脚;参数 value 表示 PWM 输出的占空比,范围在 0~255 的区间,对 应的占空比为 0%~100%,函数原型如下: void analogWrite(uint8_t pin, int val) {
3.2.3 analogWrite(pin, value)
analogWrite 函数通过 PWM 的方式在引脚上输出一个模拟量,较多的应用在 LED 亮度控制、 电机转速控制等方面。
PWM(Pulse Width Modulation,脉冲宽度调制)方式是通过对一系列脉冲的宽度进行调制, 来等效地获得所需要的波形或电压。脉冲宽度调制是一种模拟控制方式,其根据相应载荷的 变化调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改 变,这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字输出 来对模拟电路进行控制的一种非常有效的技术。图 3.3 是一个简单的 PWM 波示意图。 其中,VCC 是高电平值,T 是 PWM 波的周期,D 是高电平的宽度,D/T 是 PWM 波的占空比, 当上述 PWM 波通过一个低通滤波器后,波形中高频的部分被滤掉得到所需的波形,其平均 电压为 VCC×D/T。因此,可通过调节 D 的大小来改变占空比,产生不同的平均电压;同样, 调节 PWM 波的周期 T 也可以改变占空比,从而得到不同的平均电压值。
if (digitalPinToTimer(pin) == TIMER1A) {
注意:如果引脚没有链接到任何地方,那么将随机返回 HIGH 或 LOW。
可以在开发环境的下列实例程序中找到 digitalRead 函数的应用:
Button.pde、Debounce.pde
3.2.1 analogReference(type)
3.2 模拟 I/O 3.2.1 analogReference(type) analogReference 函数的作用是配置模拟引脚的参考电压。在嵌入式应用中引脚获取模拟电压
3.1.3 digitalRead(pin)
digitalRead 函数用在引脚为输入的情况下,可以获取引脚的电压情况—HIGH(高电平)或 LOW (低电平),参数 pin 表示所要获取电压值的引脚,该函数返回值为 int 型,表示引脚的电压 情况。函数原型如下:
int digitalRead(uint8_t pin) {
3.1.1 pinMode(pin, mode)
3.1 数字 I/O 3.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 基本函数就可以了,本书对函 数原型没有进行过多讲解。
uint8_t timer = digitalPinToTimer(pin); uint8_t bit = digitalPinToBitMask(pin); uint8_t port = digitalPinToPort(pin);
if (port == NOT_A_PIN) return LOW;
注意:如果在 AREF 引脚加载外部参考电压,需要使用一个 5KW 的上拉电阻,这会避免由于 设置不当造成控制芯片的损坏。
3.2.2 analogRead(pin)
analogRead 函数用于读取引脚的模拟量电压值,每读一次需要花 100ms 的时间。参数 pin 表示所要获取模拟量电压值的引脚,该函数返回值为 int 型,表示引脚的模拟量电压值,范 围在 0~1023。函数原型可在 wiring_analog.c 文件中查看,如下:
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.pde