Мои эксперименты с Arduino: ультразвуковой измеритель расстояния

Спустя 17 дней наконец-то получил посылку из Китая с различными комплектующими Arduino. В комплекте много чего, а в данной статье пойдёт речь об ультразвуковом датчике расстояния и 4-х разрядном 7-и сегментном индикаторе, которые я решил в экспериментальных целях объединить в одно устройство:

Arduino ultrasonic frontArduino Ultrasonic back

И так имеем ультразвуковой измеритель расстояния HC-SR04:

HC-SR04 frontHC-SR04 back

И индикатор на базе TM1637:

4-digit display front4-digit display back

Так же в наличии у меня Arduino UNO и Arduino IDE v1.0.1.

Качаем библиотеку для работы с ультразвуковым датчиком https://docs.google.com/open?id=0B_xr94DrB16JRUNsVjlaakt0MFU , распаковываем и закидываем в папку с библиотеками Arduino (в Debian Linux это /usr/share/arduino/libraries).

Подключаем выводы ультразвукового датчика:

  • VCC датчика к +5V
  • TRIG датчика на 12 пин
  • ECHO датчика на 13 пин
  • GND датчика к GND

Качаем библиотеку для работы с индикатором: https://github.com/avishorp/TM1637 , подключаем индикатор:

  • CLK индикатора на 2 пин
  • DIO индикатора на 3 пин
  • VCC индикатора к +5V
  • GND индикатора к GND

Далее загружаем скетч:

#include <Ultrasonic.h>
#include <TM1637Display.h>

// Пины подключения УЗ датчика
#define TRIG 12
#define ECHO 13

// Пины подключения индикатора
#define CLK 2
#define DIO 3

Ultrasonic ultrasonic(TRIG,ECHO);

TM1637Display display(CLK, DIO);

void setup()
{
}

void loop()
{
  int k;
  // Установка яркости индикатора
  display.setBrightness(0x0f);
  // Не выводить предстоящие нули на индикаторе
  bool lz = false;
  // Расстояние до объекта: CM -- сантиметры, INC -- дюймы
  k = ultrasonic.Ranging(CM);
  display.showNumberDec(k, lz);
  delay(200);
}

 

 

 

Добавлено: 2015-04-17, обновлено: 2015-04-22


Поделиться:

Оставить комментарий

Комментарий появится после одобрения.

Поля со значком * обязательны для заполнения.