Дальномер — это прибор для измерения расстояния до предмета. Широко применяется в строительстве. В быту чаще всего распространены лазерные дальномеры, но и цена этих дальномеров высока. Сегодня мы создадим дальномер из дешевых китайских компонентов, наш дальномер будет ультразвуковой. Он будет по принципу направления испускаемого звука на какой-то предмет, который, в свою очередь, отражает его. Дальномер улавливает звук и вычисляет время, за которое отраженный звук вернется обратно.
Для создания нам понадобится:
1. Ультразвуковой датчик HC-SR04.
2. Дисплей TM1637.
3. Arduino nano.
4. Любой выключатель.
5. Провода.
6. Батарейный отсек и два аккумулятора 18600.
Первым делом заливаем этот скетч в ардуино:
#include <NewPing.h> //Подключаем библиотеку #define TRIGGER_PIN 5 #define ECHO_PIN 4 #define MAX_DISTANCE 500 //Максимальная дистанция в сантиметрах NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); #include <Arduino.h> //Подключаем библиотеку #include <TM1637Display.h> //Подключаем библиотеку #define CLK 2 #define DIO 3 #define TEST_DELAY 1000 TM1637Display display(CLK, DIO); void setup() { Serial.begin(9600); analogWrite(A0, 255); // Подаем питание на A0 analogWrite(A1, 0); // GND на A1 analogWrite(A2, 255); // Подаем питание на A2 analogWrite(A3, 0); // GND на A3 } void loop() { display.setBrightness(0x0f); uint8_t data[] = { 0x0, 0x0, 0x0, 0x0 }; display.setSegments(data); int distance = sonar.ping_cm(); Serial.print("Ping: "); Serial.print(sonar.ping_cm()); Serial.println("cm"); display.showNumberDec(distance, false, 3,1); delay(500); //Частота обновления }
Далее паяем все по схеме:
Датчик HC-SR04 пин VCC в A0, GND в A1, Trig в D5, Echo в D4. Дисплей TM1637 пин VCC в A2, GND в A3, DIO в D3, CLK в D2. Аккумуляторы в VIN и GND на ардуино.
Собираем корпус из подручных материалов, хорошо, если есть 3d-принтер, в этом случае скачиваем корпус здесь: https://www.thingiverse.com/thing:4890033 . Заливаем термоклеем датчики для надежного крепления.
Максимальное расстояние работы дальномера — 5 метров.