jimsynz / pca9685

Elixir PCA9685 16 channel 12 bit PWM driver driver

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PCA9685

Build Status Hex.pm Hippocratic License HL3-FULL

Driver for PCA9685 based 16 channel, 12 bit PWM driver connected over I2C.

Usage

Add your device to your config like so:

config :pca9685,
  devices: [%{bus: "i2c-1", address: 0x40}]

The properties bus and address are mandatory. You can optionally provide pwm_freq which is the output frequency you'd like to set (in Hz) and oe_pin which is the GPIO pin that you want to use for the output-enable function. Remember that the OE pin is expecting to be driven high to +5V, so won't work on a Raspberry Pi without a level shifter of some kind.

Your devices will be reset and you will be able to drive the outputs with your specified output frequency and duty cycle.

Installation

If available in Hex, the package can be installed by adding pca9685 to your list of dependencies in mix.exs:

def deps do
  [
    {:pca9685, "~> 1.0.0"}
  ]
end

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/pca9685.

Github Mirror

This repository is mirrored on Github from it's primary location on my Forgejo instance. Feel free to raise issues and open PRs on Github.

License

This software is licensed under the terms of the HL3-FULL, see the LICENSE.md file included with this package for the terms.

This license actively proscribes this software being used by and for some industries, countries and activities. If your usage of this software doesn't comply with the terms of this license, then contact me with the details of your use-case to organise the purchase of a license - the cost of which may include a donation to a suitable charity or NGO.

About

Elixir PCA9685 16 channel 12 bit PWM driver driver

License:Other


Languages

Language:Elixir 100.0%