|
Adafruit PCA9685 PWM Library
|
#include <Adafruit_I2CDevice.h>#include <Arduino.h>Go to the source code of this file.
Classes | |
| class | Adafruit_PWMServoDriver |
| Class that stores state and functions for interacting with PCA9685 PWM chip. More... | |
Macros | |
| #define | PCA9685_MODE1 0x00 |
| #define | PCA9685_MODE2 0x01 |
| #define | PCA9685_SUBADR1 0x02 |
| #define | PCA9685_SUBADR2 0x03 |
| #define | PCA9685_SUBADR3 0x04 |
| #define | PCA9685_ALLCALLADR 0x05 |
| #define | PCA9685_LED0_ON_L 0x06 |
| #define | PCA9685_LED0_ON_H 0x07 |
| #define | PCA9685_LED0_OFF_L 0x08 |
| #define | PCA9685_LED0_OFF_H 0x09 |
| #define | PCA9685_ALLLED_ON_L 0xFA |
| #define | PCA9685_ALLLED_ON_H 0xFB |
| #define | PCA9685_ALLLED_OFF_L 0xFC |
| #define | PCA9685_ALLLED_OFF_H 0xFD |
| #define | PCA9685_PRESCALE 0xFE |
| #define | PCA9685_TESTMODE 0xFF |
| #define | MODE1_ALLCAL 0x01 |
| #define | MODE1_SUB3 0x02 |
| #define | MODE1_SUB2 0x04 |
| #define | MODE1_SUB1 0x08 |
| #define | MODE1_SLEEP 0x10 |
| #define | MODE1_AI 0x20 |
| #define | MODE1_EXTCLK 0x40 |
| #define | MODE1_RESTART 0x80 |
| #define | MODE2_OUTNE_0 0x01 |
| #define | MODE2_OUTNE_1 0x02 |
| #define | MODE2_OUTDRV 0x04 |
| #define | MODE2_OCH 0x08 |
| #define | MODE2_INVRT 0x10 |
| #define | PCA9685_I2C_ADDRESS 0x40 |
| #define | FREQUENCY_OSCILLATOR 25000000 |
| #define | PCA9685_PRESCALE_MIN 3 |
| #define | PCA9685_PRESCALE_MAX 255 |
This is a library for our Adafruit 16-channel PWM & Servo driver.
Designed specifically to work with the Adafruit 16-channel PWM & Servo driver.
Pick one up today in the adafruit shop! ---—> https://www.adafruit.com/product/815
These driver use I2C to communicate, 2 pins are required to interface. For Arduino UNOs, thats SCL -> Analog 5, SDA -> Analog 4.
Adafruit invests time and resources providing this open source code, please support Adafruit andopen-source hardware by purchasing products from Adafruit!
Limor Fried/Ladyada (Adafruit Industries).
BSD license, all text above must be included in any redistribution
| #define PCA9685_MODE1 0x00 |
Mode Register 1
| #define PCA9685_MODE2 0x01 |
Mode Register 2
| #define PCA9685_SUBADR1 0x02 |
I2C-bus subaddress 1
| #define PCA9685_SUBADR2 0x03 |
I2C-bus subaddress 2
| #define PCA9685_SUBADR3 0x04 |
I2C-bus subaddress 3
| #define PCA9685_ALLCALLADR 0x05 |
LED All Call I2C-bus address
| #define PCA9685_LED0_ON_L 0x06 |
LED0 on tick, low byte
| #define PCA9685_LED0_ON_H 0x07 |
LED0 on tick, high byte
| #define PCA9685_LED0_OFF_L 0x08 |
LED0 off tick, low byte
| #define PCA9685_LED0_OFF_H 0x09 |
LED0 off tick, high byte
| #define PCA9685_ALLLED_ON_L 0xFA |
load all the LEDn_ON registers, low
| #define PCA9685_ALLLED_ON_H 0xFB |
load all the LEDn_ON registers, high
| #define PCA9685_ALLLED_OFF_L 0xFC |
load all the LEDn_OFF registers, low
| #define PCA9685_ALLLED_OFF_H 0xFD |
load all the LEDn_OFF registers,high
| #define PCA9685_PRESCALE 0xFE |
Prescaler for PWM output frequency
| #define PCA9685_TESTMODE 0xFF |
defines the test mode to be entered
| #define MODE1_ALLCAL 0x01 |
respond to LED All Call I2C-bus address
| #define MODE1_SUB3 0x02 |
respond to I2C-bus subaddress 3
| #define MODE1_SUB2 0x04 |
respond to I2C-bus subaddress 2
| #define MODE1_SUB1 0x08 |
respond to I2C-bus subaddress 1
| #define MODE1_SLEEP 0x10 |
Low power mode. Oscillator off
| #define MODE1_AI 0x20 |
Auto-Increment enabled
| #define MODE1_EXTCLK 0x40 |
Use EXTCLK pin clock
| #define MODE1_RESTART 0x80 |
Restart enabled
| #define MODE2_OUTNE_0 0x01 |
Active LOW output enable input
| #define MODE2_OUTNE_1 0x02 |
Active LOW output enable input - high impedience
| #define MODE2_OUTDRV 0x04 |
totem pole structure vs open-drain
| #define MODE2_OCH 0x08 |
Outputs change on ACK vs STOP
| #define MODE2_INVRT 0x10 |
Output logic state inverted
| #define PCA9685_I2C_ADDRESS 0x40 |
Default PCA9685 I2C Slave Address
| #define FREQUENCY_OSCILLATOR 25000000 |
Int. osc. frequency in datasheet
| #define PCA9685_PRESCALE_MIN 3 |
minimum prescale value
| #define PCA9685_PRESCALE_MAX 255 |
maximum prescale value
1.8.13