esp-idf/examples/system/ulp/ulp_riscv/ds18b20_onewire/README.md

43 lines
1.2 KiB
Markdown
Raw Normal View History

| Supported Targets | ESP32-S2 |
| ----------------- | -------- |
# ULP-RISC-V DS18B20 Temperature Sensor OneWire Communication
This example demonstrates how to program the ULP-RISC-V co-processor to read temperature from a [DS18B20](https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf) temperature sensor over 1-Wire.
When the measurement exceeds the limit set(32.5 degrees) the co-processor will wake up the main CPU from deep-sleep and the main CPU will print the temperature measurement.
### Hardware Required
* A development board with a SOC which has a RISC-V ULP coprocessor (e.g., ESP32-S2 Saola)
* A USB cable for power supply and programming
* A DS18B20 temperature sensor
Example connection :
| ESP Dev-kit | DS18B20 |
| ------------ | ------- |
| GPIO4 | DQ |
| VCC 3.3V | VDD |
| GND | GND |
## Example output
```
Not a ULP wakeup, initializing it!
Entering in deep sleep
...
ULP-RISC-V woke up the main CPU, temperature is above set limit!
ULP-RISC-V read temperature is 32.562500
Entering in deep sleep
...
ULP-RISC-V woke up the main CPU, temperature is above set limit!
ULP-RISC-V read temperature is 33.000000
Entering in deep sleep
```