Update README.md

Adding examples for environmental sensing
pull/1714/head
Joseph Ellsworth 1 month ago committed by GitHub
parent 3fe9297bcf
commit a047705dc0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -1835,6 +1835,48 @@ A registry allows you to publish your Rust libraries as crate packages, to share
* [Crates](https://crates.io) — The official public registry for Rust/Cargo.
* [w4/chartered](https://github.com/w4/chartered) - A private, authenticated, permissioned Cargo registry [![CI](https://github.com/w4/chartered/actions/workflows/ci.yml/badge.svg)](https://github.com/w4/chartered/actions/workflows/ci.yml)
## Enviornmental Sensing
- **[Sensing Variable capacitance changes like Water level changes with Single Pin and resistor](ex-gpio-change-pin-direction-var-cap-read-1-pin)
Charges a variable capacitor towards VCC and measures time to for voltage to drop to logic low transition level while using only 1 pin
and 1 resistor. A good way to add touch or poximity sensing to any CPU that has a spare I/O pin. It Demonstrates the following: *esp-idf-hal*
- Change GPIO Pin Direction
- Read GPIO Status
- Mesure variable capacitance
- Using Polling to detect GPIO status change
- Measure elapsed time in Microseconds(uS)
- Measure elapsed time in Nanosecods
- Delay for Micro seconds and milli seconds
- Disable debug logging
- Isolate pin Assignments for each change between boards
- Change default watchdog timer in default.config
- Change minimum freetos task sleep down to 1ms
- **[Sensing Variable Capacitance with 2 pins one of which must be High Drive Open drain ](ex-gpio-measure-time-to-change-high-to-low)**
This project aims to measure changes in capacitance using a foil strip sensor taped to a bottle. The idea is to track the time it
takes for a circuit to charge from 0V to a logic high transition voltage around 0.7V.The theory is that a higher capacitance, caused
by increased water level, should take longer to charge. Conversely, a lower capacitance due to decreased water level should charge faster.
An advantage of this circuit is the high drive pin can drain the capacitor very fast which means the circuit can cycle fast.*uses esp-idf-hal*
- Measure elapsed time
- Detect change in GPIO state
- Demonstrate Open Drain high-impedance pins
- Delay for a specific duration
- Change OpenDrive GPIO pin mode between Drain and high impedance
- Oversampling to improve reading stability
**[RS485 Read/Write with 1/2 Duplex transceiver](ex-uart-echo-rs485/readme.md)**: Reads uart 1 byte
at a time and writing data back to sender 1 byte at a time with write enable
pin control to allow use of 1/2 duplex transceiver. RS485 is heavily used in enviornmental
sensing especially when we need to deliver data several hundred feet through metal rich soil *esp-hal*
- **[UART - Process inbound uart data while also doing other work](ex-uart-non-block-rs485/readme.md)**:
Include code that shows how to control Write Enable pin for 1/2 duplex RS485
transceiver. The Real value in this example is showing how to use non-blocking
fast polling to accomplish what is normally done with async threads. In some instances the
fast polling can deliver more predictable results since you have more control over which
code is receiving time slices than you do with threading. *esp-idf-hal*
## Resources
* Benchmarks

Loading…
Cancel
Save