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