цифровая электроника
вычислительная техника
встраиваемые системы

 
» » » Ультразвуковая линейка своими руками на основе Arduino с микроконтроллером ATtiny85



Ультразвуковая линейка своими руками на основе Arduino с микроконтроллером ATtiny85

Автор: Mike(admin) от 5-01-2022, 23:55

Измерение расстояния до объекта на пути человека, оборудования, транспортного средства или движущегося объекта используется в большом количестве приложений, таких как управление движением роботов, управление транспортными средствами, трость для слепых, медицинское оборудование и т. д. Сегодня доступны различные методы измерения расстояния, но измерение с помощью ультразвукового датчика является одним из самых дешевых среди других вариантов.


Ультразвуковая линейка своими руками на основе Arduino с микроконтроллером ATtiny85

В этом проекте мы собираемся использовать ультразвуковой датчик HC-SR04 с запрограммированным с помощью Arduino IDE микроконтроллером ATtiny85 и модуль дисплея OLED для создания цифровой ультразвуковой линейки. Эта плата может использоваться для измерения расстояний, обнаружения объектов и многих других приложений.


Схема ультразвуковой линейки с использованием ATtiny85 приведена далее.


Ультразвуковая линейка своими руками на основе Arduino с микроконтроллером ATtiny85

На изображении выше показана принципиальная схема взаимодействия ультразвукового датчика и OLED-дисплея с микросхемой Attiny85. Интерфейс между OLED-дисплеем и ATtiny85 должен быть реализован с использованием протокола I2C. Следовательно, контакт SCL (PB2) ATtiny85 подключен к контакту SCL OLED-дисплея. Точно так же вывод SDA (PB0) ATtiny85 подключен к выводу SDA OLED-дисплея. Контакты Echo и Trig ультразвукового датчика подключены к контактам PB3 и PB4 ATtiny85 соответственно. Наконец, для питания всех компонентов мы использовали батарею на 9 В. Затем эти 9 В преобразуются в 5 В с помощью стабилизатора напряжения AMS117-5V.


Плата и конечная сборка могут выглядеть следующим образом.


Ультразвуковая линейка своими руками на основе Arduino с микроконтроллером ATtiny85

Ультразвуковая линейка своими руками на основе Arduino с микроконтроллером ATtiny85

Микроконтроллер ATtiny85 был запрограммирован в среде Arduino IDE как Digispark. Далее приведен код программы.



#include "TinyWireM.h"
#include "TinyOzOLED.h"
const int trigPin = 4;
int echoPin = 3;
int duration, cm;
void setup() {
  TinyWireM.begin();
  OzOled.init();
  OzOled.clearDisplay();  
  OzOled.setNormalDisplay();
  OzOled.sendCommand(0xA1);
  OzOled.sendCommand(0xC8);
  pinMode(trigPin, OUTPUT);
}
void loop()
{
//OzOled.clearDisplay(); 
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
pinMode(echoPin, INPUT);
duration = pulseIn(echoPin, HIGH);
cm = microsecondsToCentimeters(duration);
displayOLED();
delay(1000);
OzOled.clearDisplay(); 
}
void displayOLED() {
  OzOled.printString("Distance:", 3, 3);
  OzOled.printNumber(cm, 0, 12, 3);
  OzOled.printString("(In CM)", 5, 5);
}
long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}

После сборки печатной платы и программирования ATtiny85 мы можем протестировать ультразвуковую линейку для измерения расстояния. Для этого подайте на плату с напряжение 9 В и подождите, пока измеренное расстояние не отобразится на OLED-дисплее.


Ультразвуковая линейка своими руками на основе Arduino с микроконтроллером ATtiny85

Вы можете использовать шкалу или измерительную ленту, чтобы проверить правильность измеренного расстояния.




© digitrode.ru


Теги: Arduino, ATtiny, датчик расстояния




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

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