We’ve been busy working away to bring you 5 new libraries for the Arduino to compliment a new range of sensor/driver modules we’re now stocking. These libraries are freely available and can be downloaded from the software section of our support forum (see links below for each library and example sketches):
Library 1) HCPCA9685 – Library for PCA9685 16ch 12bit PWM controller
The first of our new Arduino libraries is to interface to a PCA9685 16 channel PWM controller. This device provides a means of generating up to 16 individual PWM digital outputs that can be used to control the brightness of LED’s, speed control for motors etc. Being fully programmable also gives this device one very useful ability; the PWM outputs can be configured to directly control up to 16 standard servos. Our HCPCA9685 library also takes advantage of this. With special servo mode commands it will provide automatic configuration and control of any attached servos. So now it’s easy to control your multi servo robot from a tiny Arduino. The library and information on how to use it can be found on our forum here and you can pick up one of our PCA9685 modules here.
Library 2) HCBMP180 – Arduino Library for the BMP180 Temp & Pressure Sensor
The HCBMP180 library provides a way of reading the temperature and air pressure information from a BMP180 sensor. Besides these standard measurements you can also use this library and the sensor to calculate altitude, or barromic pressure at sea level. The latter of the two is particularly useful if you plan to create your own weather station. The library and information on how to use it can be found on our forum here, and you can pick up one of the BMP180 modules here.
Library 3) HCTSL2561 – Library for TSL2561 Luminosity Sensor
Our next new library if for the TSL2561 luminosity sensor. This device has two sensors, one for measuring infrared and visible light and a second one for measuring infrared light only. The library will allow you to take readings from both sensors, but will also use both sensors to calculate a value in lumens, giving you a more accurate reading that matches what the human eye is capable of perceiving. The library and information on how to use it can be found on our forum here and you can pick up one of our TSL2561 modules here.
Library 4) HCADS1xxx – Library for ADS1113/4/5 12bit & 16bit ADCs
The fourth Arduino library in our list is for controlling the Texas Instruments range of ADS 12 bit and 16 bit analogue to digital (ADC) converters. These devices are dedicated ADC’s and provide a far more accurate analogue voltage reading than the standard ADCs found on most Arduino’s. Our HCADS1xxx library allows for configuring and reading any of the 4 analogue inputs on these devices. The library and information on how to use it can be found on our forum here, and you can pick up one of our ADS1115 16bit ADC modules here, or the lower 12 bit resolution, but faster, version here.
Library 5) HCMCP23017 – Library for MCP23017 Serial 16bit Expander IC
Finally, our last Arduino library is for the Microchip MCP23017 16 bit I/O expander IC. This IC is designed to connect to your Arduino’s I2C interface and expand its digital pins by an additional 16. The device is also addressable, allowing for multiple devices to be connected to the same I2C bus, giving you a huge expansion in digital I/O control. As with the previous libraries, the HCMCP2317 library takes all the hard work out of configuring and controlling the device and makes reading and writing to its 16 I/O pins as easy as controlling the built-in digital pins on your Arduino. The library and information on how to use it can be found on our forum here.