mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
43 lines
1.2 KiB
Markdown
43 lines
1.2 KiB
Markdown
|
| 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
|
||
|
|
||
|
```
|