ESP-12F US-100 超聲波測距模組(Ultrasonic Range Finder)程式是將訊號由 GPIO13(D7)發射,然後 Echo 回來的訊號由 GPIO12(D6)接收,便會知道訊號回來時間的差距,並用程式計算距離。
ESP-12F US-100 超聲波測距模組 |
// Ultrasonic US-100 Echo
(Input) GPIO12 I/O Definit (D6)
#define us100_echo_MUX PERIPHS_IO_MUX_MTDI_U
#define us100_echo_FUNC FUNC_GPIO12
#define us100_echo_PIN 12
// Ultrasonic US-100 Trig (Output) GPIO13 I/O
(D7)
#define us100_trig_MUX PERIPHS_IO_MUX_MTCK_U
#define us100_trig_FUNC FUNC_GPIO13
#define us100_trig_PIN 13
uint8_t ICACHE_FLASH_ATTR
us100_init(void)
{
PIN_FUNC_SELECT(us100_echo_MUX, us100_echo_FUNC);
// set status and direction pin by mask
gpio id pin.
// set GPIO12 as output and low. set gpio
0 as input
gpio_output_set(1,
GPIO_ID_PIN(us100_echo_PIN),
GPIO_ID_PIN(us100_echo_PIN),
GPIO_ID_PIN(us100_echo_PIN));
GPIO_DIS_OUTPUT(us100_echo_FUNC);
PIN_FUNC_SELECT(us100_trig_MUX, us100_trig_FUNC);
//
set status and direction pin by mask gpio id pin.
// set GPIO13 as output and low. set gpio
0 as input
gpio_output_set(0,
GPIO_ID_PIN(us100_trig_PIN),
GPIO_ID_PIN(us100_trig_PIN),
GPIO_ID_PIN(us100_trig_PIN));
GPIO_OUTPUT_SET(GPIO_ID_PIN(us100_trig_PIN),0);
}
//Init HC-SR04 Ultrasonic
driver
us100_init();
|
ESP-12F US-100 超聲波測距模組程式:
// Ultrasonic
us100_send();
timer_count=us100_recv();
os_sprintf(dsp_buffer,
"Echo Time=%d ", timer_count );
OLED_Print(0, 4, dsp_buffer,
1);
os_sprintf(dsp_buffer,
"Echo Time=%d\r\n", timer_count );
ets_uart_printf(dsp_buffer);
|
運作中的 ESP-12F US-100 超聲波測距模組 |
ESP-12F US-100 超聲波測距模組的 Echo 時間 |
ESP-12F US-100 超聲波測距模組的 Trigger 和 Echo 訊號 |
2018年 6月 20日 天氣報告
氣溫:29.4度 @ 20:30
相對濕度:百分之 78%
天氣:大致多雲
沒有留言:
張貼留言