README.md

# AHT20

[![Hex.pm](https://img.shields.io/hexpm/v/aht20.svg)](https://hex.pm/packages/aht20)
[![API docs](https://img.shields.io/hexpm/v/aht20.svg?label=docs)](https://hexdocs.pm/aht20)
![CI](https://github.com/mnishiguchi/AHT20/workflows/CI/badge.svg)

Use [AHT20](http://www.aosong.com/en/products-32.html) temperature & humidity sensor in Elixir.

## Usage

Here's an example use:

```elixir
# Detect I2C devices.
iex> Circuits.I2C.detect_devices()
Devices on I2C bus "i2c-1":
 * 56  (0x38)

1 devices detected on 1 I2C buses

# Connect to the sensor.
iex> {:ok, aht20} = AHT20.start(bus_name: "i2c-1", bus_address: 0x38)
{:ok, AHT20.Sensor{}}

# Read the humidity and temperature from the sensor.
iex> AHT20.read_data(aht20)
{:ok,
 %AHT20.Measurement{
   raw_humidity: 158_119,
   raw_temperature: 410_343,
   relative_humidity: 15.079402923583984,
   temperature_c: 28.26671600341797,
   temperature_f: 82.88008880615234
 }}
```

Depending on your hardware configuration, you may need to modify the call to
`AHT20.start/1`. See `t:AHT20.Sensor.config/0` for parameters.