Arduino 作为一个非常受欢迎的开源软硬件平台,其强大的功能离不开官方提供的丰富库,这些库提供了预先编写好的代码,可以轻松地控制各种硬件组件,实现各种功能。本文将深入介绍 Arduino 官方库,带领你深入探索 Arduino 世界,开启你的创意之旅!
机器人相关库
想要让你的项目动起来?Arduino 提供了丰富的库,让你的 Arduino 控制各种电机,实现各种机器人动作。
Servo 库: 专门用于控制舵机。舵机是一种可旋转一定角度的电机,广泛用于机器人手臂、机械臂、以及各种模型制作。Servo 库提供简单易用的函数,例如 attach()
、write()
和 read()
,让你轻松设置舵机的角度和获取当前角度。
Stepper 库: 专注于控制步进电机。步进电机是一种可以精确控制旋转角度的电机,非常适合控制机器人的运动轨迹。Stepper 库提供了 setSpeed()
和 step()
函数,可以设定步进电机的速度和旋转步数。
通信
Arduino 的核心优势在于它能够与各种设备和传感器进行通信。Arduino 提供了强大的库,让你轻松地实现各种通信协议。
SPI 库: 用于通过串行外设接口 (SPI) 总线与其他设备进行通信。SPI 是一种高速通信协议,适用于与各种外设,例如传感器、显示屏和存储器进行通信。SPI 库提供了 transfer()
函数,方便地发送和接收数据。
Wire 库: 用于通过两线接口 (TWI/I2C) 总线进行通信。I2C 是一种常用的通信协议,适用于与各种传感器、实时时钟和存储器进行通信。Wire 库提供了 beginTransmission()
、requestFrom()
和 endTransmission()
等函数,让你轻松地进行通信。
SoftwareSerial 库: 用于在任何数字引脚上实现串行通信。如果你的 Arduino 板没有内置串口,或你需要使用多个串口,SoftwareSerial 库就派上用场了。
连接
Arduino 的强大之处在于它可以连接到互联网,成为物联网 (IoT) 设备,实现各种远程控制和数据采集功能。Arduino 提供了丰富的库,让你轻松地连接到网络。
ArduinoIoTCloud 库: 用于连接 Arduino IoT Cloud 服务。Arduino IoT Cloud 提供了云平台,让你可以轻松地存储和管理你的设备数据,并开发各种应用程序。
ArduinoBLE 库: 用于在部分 Arduino 板上使用蓝牙低功耗 (BLE) 技术。BLE 是一种低功耗无线通信协议,适用于与智能手机、其他 BLE 设备进行通信。
Ethernet 库: 用于通过以太网连接到互联网。
GSM 库: 用于通过 GSM/GRPS 网络连接到互联网。
MKRWAN 库: 用于 MKR WAN 1300/1310 板,连接到 LoRaWAN® 网络。LoRaWAN® 是一种低功耗广域网络 (LPWAN) 技术,适用于物联网应用。
MKRGSM 库: 用于 MKR GSM 1400 板,连接到 GSM/GPRS 网络。
MKRNB 库: 用于 MKR NB 1500 板,连接到 NB-IoT / Cat M1 网络。
SigFox 库: 用于 MKR FOX 1200 板,连接到 Sigfox 网络。
WiFi 库: 用于 WiFi Shield,通过 Wi-Fi 连接到互联网。
WiFi101 库: 用于 MKR 1000 WiFi 和 WiFi101 Shield,通过 Wi-Fi 连接到互联网。
WiFiNINA 库: 用于带有 Wi-Fi NINA 模块的 Arduino 板,通过 Wi-Fi 连接到互联网。
Nano 系列库
Arduino Nano 系列板拥有多种内置传感器,方便你进行各种项目开发。
ArduinoAPDS9960 库: 用于使用 APDS9960 手势传感器。APDS9960 可以识别手势、颜色、环境光照和距离。
Arduino_LSM6DS3 库: 用于使用 LSM6DS3 6 轴 IMU,该传感器存在于 Arduino Nano 33 IoT 和 Arduino UNO WiFi Rev. 2 上。IMU 用于测量加速度和角速度。
Arduino_LSM9DS1 库: 用于使用 LSM9DS1 9 轴 IMU,该传感器存在于 Arduino Nano 33 BLE 和 Arduino Nano 33 BLE Sense 上。IMU 用于测量加速度、角速度和磁场强度。
Arduino_LSM6DSOX 库: 用于使用 LSM6DSOX 6 轴 IMU,该传感器存在于 Arduino Nano RP2040 Connect 上。
ArduinoLPS22HB 库: 用于使用 LPS22 气压计和温度传感器。LPS22 是一款超小型传感器,可以测量气压和温度。
ArduinoHTS221 库: 用于使用 HTS221 相对湿度和温度传感器。
PDM 库: 用于使用 MP34DT05 数字麦克风 (Nano BLE Sense 和 Nano RP2040 Connect 上)。
内存
Arduino 提供了多种库,方便你存储和管理数据。
EEPROM 库: 用于读取和写入永久存储器 (EEPROM)。EEPROM 是一种非易失性存储器,可以保存数据,即使 Arduino 断电也不会丢失。
SD 库: 用于读取和写入 SD 卡。SD 卡是一种可移动存储器,可以存储大量数据。
显示
Arduino 可以控制各种显示屏,让你可以展示各种信息。
LiquidCrystal 库: 用于控制液晶显示器 (LCD)。LCD 是一种常见的显示屏,可以显示文本和图形。
TFT 库: 用于在 Arduino TFT 屏幕上绘制文本、图像和形状。TFT 是一种彩色显示屏,可以显示更丰富的内容。
MKR 系列库
Arduino MKR 系列产品是专为物联网应用设计的,提供了一系列独特的库。
Scheduler 库: 用于管理多个非阻塞任务 (也适用于 Arduino Due)。Scheduler 库可以让你在不阻塞主程序的情况下执行多个任务。
RTCZero 库: 用于实现实时时钟 (RTC),可以用于调度事件。RTC 可以记录时间,即使 Arduino 断电也不会丢失。
ArduinoMKRGPS 库: 用于与 Arduino MKR GPS Shield 配合使用。该 Shield 可以接收 GPS 信号,获取位置信息。
ArduinoMKRRGB 库: 用于与 Arduino MKR RGB Shield 配合使用。该 Shield 可以控制 RGB LED,实现各种灯光效果。
ArduinoGraphics 库: 用于绘制图形,也适用于 Arduino MKR RGB Shield。该库提供了绘制各种图形元素的函数。
ArduinoRS485 库: 用于在 Arduino MKR RS485 Shield 上实现 RS485 协议。RS485 是一种差分信号传输协议,适用于长距离通信。
ArduinoMKRENV 库: 用于读取 Arduino MKR ENV Shield 上的所有传感器。该 Shield 包含多种传感器,可以测量温度、湿度、气压等环境参数。
ArduinoMKRTHERM 库: 用于读取连接到 Arduino MKR THERM Shield 上的传感器。该 Shield 可以连接各种传感器,测量温度等参数。
MKRIMU 库: 用于从 MKR IMU Shield 上的 IMU 读取加速度、陀螺仪、磁场和欧拉角数据。该 Shield 可以测量运动信息,用于各种应用,例如机器人导航。
ArduinoMotorCarrier 库: 用于控制 MKR/Nano Motor Carriers。该库可以控制电机,用于各种机器人应用。
Arduino_MKRIoTCarrier 库: 用于控制 MKR IoT Carrier。该库可以控制各种传感器和执行器,用于物联网应用。
音频
Arduino 可以播放音频,实现各种声音效果。
AudioFrequencyMeter 库: 用于采集音频信号并获取频率。
AudioZero 库: 用于从 SD 卡播放音频文件。
ArduinoSound 库: 用于简单地播放和分析音频数据。
Audio 库: 用于从 SD 卡播放音频文件 (仅适用于 Arduino DUE)。
I2S 库: 用于在 SAMD21 上使用 I2S 协议 (包含在 SAMD 平台中)。I2S 是一种用于音频数据的通信协议。
USB
Arduino 可以作为 USB 主机或设备,与其他 USB 设备进行通信。
USBHost 库: 用于与 USB 外设 (例如鼠标和键盘) 进行通信。
Keyboard 库: 用于向连接的电脑发送按键信息。
Mouse 库: 用于控制连接电脑上的鼠标光标。
其他
Firmata 库: 用于通过标准串行协议与电脑上的应用程序进行通信。
总结
Arduino 官方库为你的创意提供了无限可能,你可以利用这些库快速搭建各种项目,从简单的 LED 控制到复杂的机器人控制,都能轻松实现。不断探索这些库,你会发现 Arduino 的世界充满了无限的惊喜!