Arduino 常用的库有很多,以下是一些最常用的库及其用途:
1. EEPROM
- 用途: 用于读写Arduino板上的EEPROM存储器,适合存储小量数据。
- 常用函数:
EEPROM.read()
,EEPROM.write()
2. Wire
- 用途: 用于I2C通信,支持与I2C设备(如传感器、显示屏等)的通信。
- 常用函数:
Wire.begin()
,Wire.beginTransmission()
,Wire.write()
,Wire.read()
3. SPI
- 用途: 用于SPI通信,支持与SPI设备(如SD卡、某些传感器等)的通信。
- 常用函数:
SPI.begin()
,SPI.transfer()
4. Servo
- 用途: 用于控制伺服电机。
- 常用函数:
Servo.attach()
,Servo.write()
,Servo.read()
5. Stepper
- 用途: 用于控制步进电机。
- 常用函数:
Stepper.step()
,Stepper.setSpeed()
6. LiquidCrystal
- 用途: 用于控制字符型LCD显示屏。
- 常用函数:
LiquidCrystal.begin()
,LiquidCrystal.print()
,LiquidCrystal.setCursor()
7. SoftwareSerial
- 用途: 用于在任意数字引脚上实现串行通信。
- 常用函数:
SoftwareSerial.begin()
,SoftwareSerial.read()
,SoftwareSerial.write()
8. SD
- 用途: 用于读写SD卡。
- 常用函数:
SD.begin()
,SD.open()
,File.read()
,File.write()
9. WiFi
- 用途: 用于连接WiFi网络(适用于支持WiFi的Arduino板,如ESP8266、ESP32等)。
- 常用函数:
WiFi.begin()
,WiFi.status()
,WiFi.localIP()
10. Ethernet
- 用途: 用于连接以太网网络(适用于支持以太网的Arduino板,如Arduino Ethernet Shield)。
- 常用函数:
Ethernet.begin()
,Ethernet.localIP()
11. Adafruit_GFX 和 Adafruit_SSD1306
- 用途: 用于控制OLED显示屏。
- 常用函数:
Adafruit_SSD1306.begin()
,Adafruit_SSD1306.display()
12. DHT
- 用途: 用于读取DHT系列温湿度传感器的数据。
- 常用函数:
DHT.readTemperature()
,DHT.readHumidity()
13. OneWire
- 用途: 用于与1-Wire设备(如DS18B20温度传感器)通信。
- 常用函数:
OneWire.search()
,OneWire.reset()
14. RTClib
- 用途: 用于与RTC(实时时钟)模块(如DS1307、DS3231)通信。
- 常用函数:
RTC.now()
,RTC.adjust()
15. FastLED
- 用途: 用于控制LED灯带(如WS2812、APA102等)。
- 常用函数:
FastLED.addLeds()
,FastLED.show()
16. Blynk
- 用途: 用于与Blynk平台通信,实现物联网应用。
- 常用函数:
Blynk.begin()
,Blynk.run()
17. PubSubClient
- 用途: 用于实现MQTT协议,适用于物联网项目。
- 常用函数:
PubSubClient.connect()
,PubSubClient.publish()
,PubSubClient.subscribe()
18. TinyGPS++
- 用途: 用于解析GPS模块的数据。
- 常用函数:
TinyGPSPlus.encode()
,TinyGPSPlus.location.lat()
,TinyGPSPlus.location.lng()
19. Adafruit_Sensor 和 Adafruit_BMP280
- 用途: 用于读取BMP280气压传感器的数据。
- 常用函数:
bmp.begin()
,bmp.readTemperature()
,bmp.readPressure()
20. IRremote
- 用途: 用于发送和接收红外信号。
- 常用函数:
IRsend.sendNEC()
,IRrecv.decode()
这些库覆盖了Arduino开发中的常见需求,如传感器读取、电机控制、通信协议等。根据项目需求,可以选择合适的库来简化开发过程。