GY-63_MS5611/libraries/AD5246/README.md
2023-08-02 11:27:59 +02:00

2.8 KiB

Arduino CI Arduino-lint JSON check License: MIT GitHub release

AD5246

Arduino library for I2C single channel digital rheostat AD5246.

The library is experimental and not tested with hardware yet.

Description

The AD5246 is a single channel digital rheostat which comes in 5 kΩ, 10 kΩ, 50 kΩ, 100 kΩ and can be set in 128 steps.

Indicative step size.

value step size
5 kΩ 39.06 Ω
10 kΩ 78.13 Ω
50 kΩ 390.6 Ω
100 kΩ 781.3 Ω

An important property is that the device defaults to the mid-scale position at startup. One can use AD5246_MIDPOINT == 64 to reset to the mid-scale position.

This library is based upon the AD5245 library.

I2C address

The AD5246 has one fixed address 0x2E. If one needs more AD5426 on one I2C bus one need a I2C multiplexer

The maximum I2C speed is 400 KHz.

Interface

#include AD5246.h"

The library has a number of functions which are all quite straightforward. One can get / set the value of the rheostat.

  • AD5246(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 rheostat to midpoint = 64. (startup default)
  • uint8_t write(uint8_t value) set to value 0 .. 127. Values > 127 will be mapped upon 127.
  • uint8_t read() read value from cache.
  • uint8_t readDevice() read value from device.

Note the AD5426 does not have a shutdown() command like the AD5245.

Error codes

define value
AD5246_OK 0
AD5246_ERROR 100

Operation

The examples show the basic working of the functions.

Future

  • keep in sync with AD5245 library