Как сделать змейку на ардуино с дисплеем

Добавил пользователь Валентин П.
Обновлено: 05.10.2024

Задумка проекта такая — по возможности доступная для повторения схема и открытый код, и естественно я выбрал среду ARDUINO, и хотя многие утверждают что ничего серьёзного на Ардуине не сделать — я попробую доказать обратное. Схема реализована на любой Ардуине с камнем Atmega328, и модуле АЦП ADS1115. Выходной каскад я не стал изобретать и использовал хорошо зарекомендовавшую себя схемку на IRF7105, но и ту я соригинальничал и в качестве драйвера мосфетов использовал таймер 555, он вполне для этого подходит — на входе компараторы, выход от нуля до напряжения питания при токе до 200мА. Я в первые использую накачку меандром(до этого всё на синусе) для меня это некий эксперимент(пока всё идёт нормально) но говорят что при такой накачке будет больше ложняков на грунте, и судя по тому как на грунте работает Квазар — я склонен этому верить.

Если будут вопросы по схеме -задавайте. Резистором R27 подбираем ток в датчике, с Garrett 6.5×9 ACE PROformance и 10Ом получился ток в 120ма — это приемлемо.

Это прототип, и он не без недостатков. Надо сделать программную регулировку тока и громкости звука, у меня есть пару идей как это реализовать но это несколько усложнит схему, а оно и так нормально работает.


[/URL]

Тест проводил с датчиком Garrett 6.5×9 ACE PROformance он крайне устойчив к ЭМ помехам, не каждый датчик так работает у меня дома, ещё это датчик у меня индикатор чуйки, если удалось получить больше 20см на пятак ссср — значит прибор имеет право на жизнь.

Для баланса грунта надо просто пару раз качнуть датчиком над грунтом.

Вложения:

У вас есть более читабельная схема? А то больше времени трачу чтоб разобраться где-что.

Кликаешь по картинке, затем правый клик *Открыть картинку в новой вкладке*.. Там она уже с зумом будет

Shuravi

Делал по этой схеме -другой нет, если что-то не понятно — спрашивайте.

Для подключения датчика Garrett 6.5×9 ACE PROformance надо кое что добавить к схеме или сделать переходник, датчики от Квазаров-Фортун — подключаются напрямую.

Ниже — схема подключения датчика ACE,

Вложения:

Схема в Splan70.

Вложения:

Примерка посадочных мест

Вложения:

Примерка посадочных мест

Вы хотите использовать просто Atmega328 в DIP? это надо предварительно загрузчик ещё прошивать, я предполагал использовать готовые модули типа Arduino Pro Mini . Ещё надо учесть место для конденсаторов фильтра (те что зелёные на схеме) вот такие.

По разводке и размещению элементов есть пару рекомендаций.

Из за желания упростить схему и уменьшить количество элементов я отказался от отдельных стабилизаторов на каскады, при неправильной разводке возможно самовозбуждение, по хорошему надо добавить маломощный стабилизатор на входные каскады MCP602, 4053, ADS1115, и возможно стабилизатор на каскад TX , но это если при повторении у кого-будет нестабильно работать прибор, у меня всё нормально, главное не экономить на конденсаторах фильтров питания каскадовС18, С19,С22,С24.

Shuravi вы можете заложить в печатку возможность установки дополнительных стабилизаторов типа ams1117 5.0, а ставить их или просто запаять перемычки — уже будет видно при повторении схемы. Если нужна схема с стабилизаторами могу нарисовать.

Вот компоновка прототипа, я там пытался усадить всё в слишком маленький объём для DIP, отсюда все проблемы с разводкой — много проводов. Выходной каскад на отдельной плате так как изначально схема была вообще без выходного каскада, накачка ТХ выводами контроллера, не поверите но это работало. правда слишком много шумов от МК и пришлось отказаться от этой идеи.

Начиная обзор проектов и возможностей применения микроконтроллера Arduino Mega 2560 стоит рассмотреть характеристики этого устройства, поскольку именно они будут определять потенциальную область его применения.

Arduino Mega 2560 — это плата с микроконтроллером ATmega2560, работающем на частоте 16МГц. Она имеет 54 цифровых входа/выхода, 15 из которых могут работать в режиме ШИМ (PWM), 16 аналоговых входов, 4 аппаратных последовательных порта UART для связи с компьютером и другими устройствами, разъем USB, разъем для внешнего питания, ICSP header и кнопку Reset.


Основные технические характеристики:

Чтобы начать работу с этим микроконтроллером, достаточно просто подать на плату питающее напряжение от источника питания, батарей или просто по кабелю USB компьютера.

ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ Arduino Mega 2560

№1. Настраиваемый таймер обратного отсчета

Таймер обратного отсчета на базе Arduino Mega 2560 является одним из органичных применений микроконтроллера для работы с дисплеем из 4-х 7-ми сегментных цифр. Таймер можно удобно настроить с помощью кнопок, а не путем загрузки измененного кода программы. Для работы таймера написан код, который упростит его использование и настройку. Этот код также может быть использован в других проектах с 4-значным 7-сегментным дисплеем. В частности, у него есть функция, которая отображает заданное число (0-9999) для заданного временного интервала. Такая функция действительно удобна, поскольку по умолчанию вы можете отображать только одну цифру за раз.


Для реализации этого проекта необходимы следующие компоненты:

Наименование Количество, шт.

Микроконтроллер Arduino Mega 2560 1

Дисплей с 4-мя 7-сегментными цифрами 1

Кнопки 4

Динамик 1

Соединительные провода 21

Макетная плата без пайки, полный размер 1


Подробная инструкция по сборке проекта:


№2. Arduino Biped (Малыш Dino)

Baby Dino - двуногий робот на базе Arduino. Для своего движения он задействует пять сервоприводов: по два для каждой ноги и один для головы. Он также использует ультразвуковой датчик для обнаружения препятствий и их избегания. А теперь посмотрим, как это сделать!


Для реализации этого проекта необходимы следующие компоненты:

Наименование Количество, шт.

Микроконтроллер Arduino Mega 2560 1

Батарея 9В 1

Ультразвуковой датчик SparkFun Ultrasonic Sensor - HC-SR04 1

Серво-мотор SG90 Micro-servo motor 5

Схема соединения элементов:


Итак, Малыш DINO — робот-динозавр, сделанный из картона (раскрой деталей прилагается в источнике). Он может двигаться на 2 конечностях, находить препятствия и обходить их справа или слева.

Для начала сборки убедимся, что все необходимые детали (из списка выше) есть в наличии и перейдём к сборке сервоприводов. Необходимо будет скачать программу, загрузить её на Arduino, присоединить сервоприводы согласно диаграмме и проверить их ориентацию. Далее необходимо скачать дизайн-макет, распечатать его на принтере на картоне и вырезать по контурам. Финальная сборка включает присоединение сервоприводов, присоединение ультразвукового сенсора, прокладку кабелей и подсоединение батареи питания. И это всё! Робот готов.

Автор проекта сообщает, что полная сборка занимает у него около 4-х часов.

№3. Выведем на дисплей график температуры

Вы когда-нибудь хотели профессионально отобразить данные на ЖК-дисплее? Этот проект направлен на то, чтобы позволить вам создать свой собственный персонализированный график данных, отображающий все, что вы хотите, за считанные секунды. В этом проекте создадим график, отображающий на TFT ЖК-дисплее значения температуры в реальном времени за секунды и хронологию за предыдущий период. Для индивидуальной подстройки — просто отредактируйте 2 переменные и выберите цвет вашего графика.


График будет отображать температуру в реальном времени, с интервалом в 6 секунд, значение будет отображаться точкой, точка будет соединена с другими точками линией. Секунды, прошедшие с момента запуска кода, будут отображаться на оси x с диапазоном значений на оси y.

Проект работает просто: Arduino Mega считывает значение датчика DHT 11 и сохраняет температуру в переменной, а затем отображает значение на настраиваемом графике. Вот диаграмма, иллюстрирующая обзор функций.

Для реализации этого проекта необходимы следующие компоненты:

Наименование Количество, шт.

Микроконтроллер Arduino Mega 2560 1

Датчик температуры и влажности DHT11 Temperature & Humidity Sensor (4 pins) 1
Дисплей 2,8" — Elegoo 2.8 inch TFT LCD Shield 1

Соединительные провода 3

Макетная плата (универсальная) 1

Схема соединения элементов:


Порядок выполнения проекта:

Шаг 1: Комплектация компонентами.

В этом проекте для получения данных о температуре используется датчик температуры и влажности DHT 11, но можно использовать любой датчик.


Шаг 2: Соединение цепи.

Прикрепите датчик DHT 11 к Arduino Mega.

Шаг 3: Ввод кода

Код состоит из 3 основных частей:

  • Настройка графика
  • Считывание температуры
  • Построение графика


Вы можете продолжить эксперименты с проектом, попробовать отредактировать константы originX, originY, sizeX и sizeY, чтобы изменить размер и положение вашего графика на экране. К основному эскизу прикреплен файл заголовка, он содержит цветовые коды некоторых цветов, попробуйте изменить цвет диаграммы и полос. Вот и все, ваш персональный график готов.

№4. Управление электроникой с помощью смартфона

Чтобы отрегулировать яркость вашей настольной лампы / светильников в студии, если вы фотограф, скорость потолочного вентилятора, отрегулировать громкость вашего домашнего кинотеатра или контролировать скорость двигателя, вам нужно физически отрегулировать потенциометр / диммер или сдвинуть/повернуть что-нибудь подобное. Но можно ли это сделать с помощью смартфона или планшета? Положительный ответе на этот вопрос и реализует данный проект, объединяющий в единую систему радиопередатчик, Android-смартфон и Arduino.


Для управления яркостью устройств Вам просто нужно вращать свой смартфон или планшет на Android (не нужно его разблокировать, не нужно настраивать какой-либо ползунок), просто держите телефон на столе и вращайте его.

Шаг 1: Необходимые материалы

Для реализации этого проекта необходимы следующие компоненты:

Читайте также: