Подключение дальномера HC-SR04 к ATtiny2313

Подключение дальномера HC-SR04 к ATtiny2313В данной статье пойдет речь о том, как подключить ультразвуковой дальномер HC-SR04 к ATtiny2313 и отображать данные на ЖКИ-дисплее 16×1 на базе HD44780. Также сделал пример программы для отправки результата по UART. Для приёма я использовал Terminal 1.9b и преобразователь USB-UART на базе PL2303HX. Для проверки работоспособности программы и схемы я использовал Proteus 7. Проект в Atmel Studio 7 целиком вы сможете скачать по ссылке в конце статьи. При прошивке микроконтроллера ATtiny2313 не забудьте менять фьюзы: CKSEL3…0 = 0100 – Внутренний тактовый генератор — частота 8 МГц и поставить галочку (т.е. отключить) на SCKDIV8 – деление тактовой частоты на 8.

Схема подключения TB378 и HC-SR04 к ATtiny2313

Для начала сделал программу для получения данных по UART.

Подключение дальномера HC-SR04 к ATtiny2313 вывод в Terminal по UART (1)

Пример программы в Atmel Studio 7

main.c

Краткое описание

Вместо функции sprintf() сделал собственную функцию для преобразования числа в строку, потому что  sprintf() жрёт больше половины флеш памяти контроллера.
inline void prepareText(char * text, int distance) Функция prepareText преобразует целое число distance (расстояние) в строку и добавляет строку в text.
itoa(distance, textDistance, 10); Функция itoa преобразует целое число distance в строку textDistance в формате 10.
strcat(text, textDistance); Объединение строк. Функция добавляет textDistance строки srcptr в конец строки text.

Результат

Так как в Протеус нету HC-SR04, я его просто нарисовал. На первой картинке результат в -1 означает что датчик HC-SR04 не подключён или Echo не отправил сигнал.

Подключение дальномера HC-SR04 к ATtiny2313 вывод в Terminal по UART (2)

После прошивки реального ATtiny2313, подключил к компьютеру и вот результат.

Подключение дальномера HC-SR04 к ATtiny2313 вывод в Terminal по UART (3)

Схема подключения LCD HD44780 и HC-SR04 к ATtiny2313

После того, как убедился, что датчик HC-SR04 и программа работают правильно, для вывода результата подключил однорядный ЖК на 16 символов — HD44780.

Подключение дальномера HC-SR04 к ATtiny2313 вывод на LCD (1)

Пример программы в Atmel Studio 7

main.c

Результат

В Протеусе всё работает, текст отображается правильно.

Подключение дальномера HC-SR04 к ATtiny2313 вывод на LCD (2)

Скачать файлы

ATtiny2313 + HC-SR04 + LCD — Atmel Studio 7 проект
ATtiny2313 + HC-SR04 + UART — ISIS Professional (Proteus) проект
ATtiny2313 + HC-SR04 + LCD — ISIS Professional (Proteus) проект
ATtiny2313 + HC-SR04 + UART — Atmel Studio 7 проект
ATtiny2313A даташит на Русском
ATtiny2313A datasheet (EN)

Купить ATTINY2313, LCD1602 HD44780 и HC-SR04 на AliExpress

ATTINY2313A-SU SOP20 - Купить на AliExpress
ATTINY2313A-SU SOP20 — Купить на AliExpress

ATTINY2313A-SU SOP20 — Купить на AliExpress.

LCD1602 HD44780 - Купить на AliExpress.
LCD1602 HD44780 — Купить на AliExpress.

LCD1602 HD44780 — Купить на AliExpress.

HC-SR04 - Купить на AliExpress
HC-SR04 — Купить на AliExpress

HC-SR04 — Купить на AliExpress

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *