GY-63_MS5611/libraries/AD5245/README.md

77 lines
2.5 KiB
Markdown
Raw Normal View History

2022-08-03 05:00:56 -04:00
[![Arduino CI](https://github.com/RobTillaart/AD5245/workflows/Arduino%20CI/badge.svg)](https://github.com/marketplace/actions/arduino_ci)
[![Arduino-lint](https://github.com/RobTillaart/AD5245/actions/workflows/arduino-lint.yml/badge.svg)](https://github.com/RobTillaart/AD5245/actions/workflows/arduino-lint.yml)
[![JSON check](https://github.com/RobTillaart/AD5245/actions/workflows/jsoncheck.yml/badge.svg)](https://github.com/RobTillaart/AD5245/actions/workflows/jsoncheck.yml)
[![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/RobTillaart/AD5245/blob/master/LICENSE)
[![GitHub release](https://img.shields.io/github/release/RobTillaart/AD5245.svg?maxAge=3600)](https://github.com/RobTillaart/AD5245/releases)
# AD5245
2023-01-16 08:38:52 -05:00
Arduino library for I2C single channel digital potentiometer AD5245.
2022-08-03 05:00:56 -04:00
2023-01-16 08:38:52 -05:00
The library is experimental and not tested yet.
2022-08-03 05:00:56 -04:00
## Description
2023-01-16 08:38:52 -05:00
The AD5245 is a single channel digital potentiometer which comes in
10K, 100K and 1M and can be set in 256 steps.
2022-08-03 05:00:56 -04:00
An important property of the device is that it defaults
to the mid position at startup.
2023-01-16 08:38:52 -05:00
One can use **AD5245_MIDPOINT** == 128 to reset to the mid position.
2022-08-03 05:00:56 -04:00
#### Related libraries
This library is based upon the AD524X library, and triggered by this issue:
- https://github.com/RobTillaart/AD524X/issues/11
2023-01-16 08:38:52 -05:00
2022-08-03 05:00:56 -04:00
## I2C address
The AD5245 has one address line to configure the I2C address.
2023-01-16 08:38:52 -05:00
| Addr(dec)| Addr(Hex) | AD0 |
|:--------:|:---------:|:-----:|
| 44 | 0x2C | GND |
| 45 | 0x2D | +5V |
2022-08-03 05:00:56 -04:00
## Interface
The library has a number of functions which are all quite straightforward.
One can get / set the value of the potentiometer.
- **AD5245(uint8_t address, TwoWire \*wire = &Wire)** constructor
- **bool begin(uint8_t sda, uint8_t scl)** ESP32 a.o initializing of Wire.
- **bool begin()** for UNO.
- **bool isConnected()** See if address set in constructor is on the bus.
- **uint8_t reset()** sets potentiometer to midpoint = 128. (startup default)
- **uint8_t write(uint8_t value)** set to value 0 .. 255.
2023-01-16 08:38:52 -05:00
- **uint8_t read()** read value from cache.
- **uint8_t readDevice()** read value from device.
2022-08-03 05:00:56 -04:00
- **uint8_t shutDown()** check datasheet, not tested yet, use at own risk.
2022-10-25 15:41:23 -04:00
## Error codes
| define | value |
|:---------------|:-------:|
| AD5245_OK | 0 |
| AD5245_ERROR | 100 |
2022-08-03 05:00:56 -04:00
## Operation
The examples show the basic working of the functions.
## Future
- sync with AD520X library
- sync with AD524X library
2022-10-25 15:41:23 -04:00
- reset ==> midScaleReset() ? AD524X alike
2022-08-03 05:00:56 -04:00