|
|
|
@ -1,7 +1,7 @@
|
|
|
|
|
import machine, time
|
|
|
|
|
from machine import Pin
|
|
|
|
|
|
|
|
|
|
__version__ = '0.1.0'
|
|
|
|
|
__version__ = '0.2.0'
|
|
|
|
|
__author__ = 'Roberto Sánchez'
|
|
|
|
|
__license__ = "Apache License 2.0. https://www.apache.org/licenses/LICENSE-2.0"
|
|
|
|
|
|
|
|
|
@ -18,7 +18,7 @@ class HCSR04:
|
|
|
|
|
"""
|
|
|
|
|
trigger_pin: Output pin to send pulses
|
|
|
|
|
echo_pin: Readonly pin to measure the distance. The pin should be protected with 1k resistor
|
|
|
|
|
echo_timeout_us: Timeout in microseconds to listen to echo pin.
|
|
|
|
|
echo_timeout_us: Timeout in microseconds to listen to echo pin.
|
|
|
|
|
By default is based in sensor limit range (4m)
|
|
|
|
|
"""
|
|
|
|
|
self.echo_timeout_us = echo_timeout_us
|
|
|
|
@ -54,11 +54,11 @@ class HCSR04:
|
|
|
|
|
"""
|
|
|
|
|
pulse_time = self._send_pulse_and_wait()
|
|
|
|
|
|
|
|
|
|
# To calculate the distance we get the pulse_time and divide it by 2
|
|
|
|
|
# To calculate the distance we get the pulse_time and divide it by 2
|
|
|
|
|
# (the pulse walk the distance twice) and by 29.1 becasue
|
|
|
|
|
# the sound speed on air (343.2 m/s), that It's equivalent to
|
|
|
|
|
# 0.34320 mm/us that is 1mm each 2.91us
|
|
|
|
|
# pulse_time // 2 // 2.91 -> pulse_time // 5.82 -> pulse_time * 100 // 582
|
|
|
|
|
# pulse_time // 2 // 2.91 -> pulse_time // 5.82 -> pulse_time * 100 // 582
|
|
|
|
|
mm = pulse_time * 100 // 582
|
|
|
|
|
return mm
|
|
|
|
|
|
|
|
|
@ -69,9 +69,10 @@ class HCSR04:
|
|
|
|
|
"""
|
|
|
|
|
pulse_time = self._send_pulse_and_wait()
|
|
|
|
|
|
|
|
|
|
# To calculate the distance we get the pulse_time and divide it by 2
|
|
|
|
|
# To calculate the distance we get the pulse_time and divide it by 2
|
|
|
|
|
# (the pulse walk the distance twice) and by 29.1 becasue
|
|
|
|
|
# the sound speed on air (343.2 m/s), that It's equivalent to
|
|
|
|
|
# 0.034320 cm/us that is 1cm each 29.1us
|
|
|
|
|
cms = (pulse_time / 2) / 29.1
|
|
|
|
|
return cms
|
|
|
|
|
|