Оглавление:
- Шаг 1: Детали
- Шаг 2: Подключение
- Шаг 3: Альтернативное подключение
- Шаг 4: Код + объяснение
- Шаг 5. Спасибо за внимание
Видео: Теннис-понг со светодиодной матрицей, Arduino и джойстиками: 5 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Этот проект предназначен как для начинающих, так и для опытных мастеров. На базовом уровне это можно сделать с помощью макета, перемычек и приклеить к куску металлолома (я использовал дерево) с помощью Blu-Tack и без пайки. Однако на более продвинутом уровне его можно припаять к перфорированной плате или специальной печатной плате.
Поскольку это был закрытый проект, у меня не было доступа ко многим инструментам или материалам, поэтому он привязан к куску обрезков дерева, который немного слишком мал для Blu-Tack, однако, несмотря на это, это забавный проект, который объединяется быстро и состоит из общедоступных частей, которые можно дешево найти в Интернете.
Шаг 1: Детали
Чтобы сделать игру в понг, вам необходимо;
- 1x Arduino (подойдет любой тип)
- Светодиодные матрицы 4x MAX7219 8x8
- 2x джойстика
- 1x пьезо-зуммер (опционально)
- 15x проводов для перемычек `` мама-мама '' (3 группы по 5)
- 15 перемычек между мужчинами и женщинами (3 группы по 5 шт.)
- 18x перемычек между мужчинами и женщинами
- 1x макетная плата
- 1x 220 Ом резистор
Вместо платы Arduino Uno или Nano вы можете использовать макетную плату на базе Arduino;
- 1x ATmega328p 28pin IC
- 1x кварцевый генератор 16 кГц
- Керамические конденсаторы 2x 22pF
- 1x USB FTDI UART конвертер
- 1x 100 мкФ электролитический конденсатор
- 1x Micro USB Breakout (опционально)
Инструменты;
- ПК с Arduino IDE (и библиотекой LedControl)
- Соответствующий USB-кабель для вашего Arduino
- Power Bank для игры вдали от вашего компьютера
Шаг 2: Подключение
Подключение очень простое, все, что вам нужно, это перемычки для подключения заголовков матриц и джойстиков к Arduino. Единственная сложность - это питание, так как Arduino Uno имеет только 3 соединения GND и одно соединение 5 В. Здесь входит макетная плата, которая действует как распределительная шина для всех компонентов. Если вы используете NANO, макетная плата будет служить той же цели, а также позволит вам все подключить.
Для электромонтажа следуйте этим подключениям.
- Левый джойстик - GND и 5 В на соответствующие шины питания. SW - вывод 9, VRx - A0, VRy - A1.
- Правый джойстик - GND и 5 В к соответствующим шинам питания. SW - контакт 8, VRx - A2, VRy - A3.
- Крайняя правая светодиодная матрица - GND и 5 В на соответствующие шины питания. DIN - 13, CS - 11, CLK - 12. (По строке 25)
- Все остальные светодиодные матрицы могут быть последовательно подключены к выходу первого справа налево, чтобы код работал правильно.
- Дополнительный зуммер - анод (+) через токоограничивающий резистор 220 Ом к контакту 10, катод (-) - GND.
Шаг 3: Альтернативное подключение
После подключения его к Arduino UNO для экономии места я решил поместить Arduino IC от UNO на макетную плату с кварцевым генератором 16 МГц и парой конденсаторов 22 пФ с каждой стороны на землю. Я считаю, что это была стоящая модификация, поскольку она делает проект более аккуратным и законченным, однако для обновления программы вам нужно использовать USB-программатор FTDI.
Шаг 4: Код + объяснение
Чтобы загрузить код в Arduino, загрузите библиотеку LedControl с GitHub здесь, github.com/wayoda/LedControl и добавьте Zip-файл или добавьте его через диспетчер библиотек в среде IDE. После этого откройте прикрепленный эскиз, выберите свой Arduino в настройках платы и порта в разделе инструментов и загрузите его в Arduino.
Объяснение
Строка 1: добавляет библиотеку.
Строка 5-23: Устанавливает все переменные, константы и номера контактов.
Строка 25: Устанавливает LED Martix, устанавливает контакты управления и количество дисплеев.
Строка 27: Устанавливает функцию сброса.
Строка 30-35: Функция выключения для одновременного включения / выключения всех дисплеев.
Строка 38-43: функция SetIntensity, чтобы установить яркость всех дисплеев вместе.
Строка 46-51: функция ClearAll для очистки всех дисплеев вместе.
Строка 53-64: джойстик. Функция позволяет получить положение джойстиков, сопоставить их с 7 возможными положениями биты для удара по мячу, а затем перемещает биту в новое положение.
Строка 67-435: Функция, которая перемещает мяч к левому игроку на указанной высоте и скорости, проверяет, ударил ли его игрок, и либо продолжает, и устанавливает статус столкновения в истинное значение, либо отбрасывает мяч обратно, добавляет 1 к счету и увеличивает скорость.
Строка 438-811: Функция, которая перемещает мяч к нужному игроку на указанной высоте и скорости, проверяет, ударил ли игрок по нему, и либо продолжает, и устанавливает статус столкновения как истинный, либо отбрасывает мяч обратно, добавляет 1 к счету и увеличивает скорость.
Строка 813-823: Функция отображения смайлика, галочки, креста или вопросительного знака на указанном экране (от 0 справа до 3 слева).
Строка 861-979: Функция отображения чисел 0-9 на указанном дисплее.
Строка 981-1047: Функция для отображения счета на стороне экрана каждого игрока.
Строка 1049-1064: Функция проверки готовности плеера.
Строка 1066-1076: Setup Раздел кода для кода, который запускается один раз при запуске программы.
Строка 1078-1136: Раздел основного цикла для игровой логики, в котором используются все функции и определяется, кто победит, а затем программа перезапускается через 5 секунд после отображения счета.
Шаг 5. Спасибо за внимание
Спасибо за то, что прочитали это руководство, это был забавный проект блокировки, который реализовался за пару дней, когда я узнал больше о программировании Arduino. Если вам понравилось, не стесняйтесь голосовать за него в конкурсе Arduino.
Рекомендуемые:
Управление светодиодной матрицей с помощью Arduino: 5 шагов
Управление светодиодной матрицей с помощью Arduino: Привет, друг. В этой статье я покажу вам, как использовать светодиодную матрицу с помощью Arduino. Светодиодная матрица - это набор светодиодов в виде массивов. Светодиодные матрицы имеют множество столбцов и строк в зависимости от типа. Представив несколько светодиодов с сертификатом
Bluetooth-динамик с музыкальной светодиодной матрицей: 12 шагов (с изображениями)
Bluetooth Speaker W / Music-Reactive LED Matrix: этот проект участвует в конкурсе Wireless Contest и LED Contest - если он вам нравится, я буду очень признателен за ваш голос. Спасибо! Я разработал и построил самодельный Bluetooth-динамик со встроенной светодиодной матрицей. Светодиодная матрица включает в себя ряд различных
Управление светодиодной матричной матрицей с помощью Arduino Uno (лицо робота с питанием от Arduino): 4 шага (с изображениями)
Управление массивом светодиодных матриц с помощью Arduino Uno (лицо робота с питанием от Arduino): в этом руководстве показано, как управлять массивом светодиодных матриц 8x8 с помощью Arduino Uno. Это руководство можно использовать для создания простого (и относительно дешевого) дисплея для ваших собственных проектов. Таким образом вы можете отображать буквы, цифры или настраиваемые анимации
Arduino Telesketch со светодиодной матрицей: 6 шагов (с изображениями)
Arduino Telesketch со светодиодной матрицей: вот простое руководство по созданию телескопа с использованием Arduino. В этой конструкции используется Arduino, две светодиодные матрицы 8x32, зуммер, два поворотных энкодера и несколько кнопок. Надеемся, вы научитесь пользоваться энкодерами и светодиодной матрицей. И он прыгает
Вдохновитель со светодиодной матрицей RGB 8x8: 5 шагов (с изображениями)
Mastermind со светодиодной матрицей 8x8 RGB: Необходимые детали: Basys3 FPGA 8x8 RGB LED Matrix от GEEETECH9V аккумулятор 2N3904 транзисторы (x32) 1K резистор (x32) 100 Ом резистор (x1) 50 Ом резистор (x1) Светодиодная матрица представляет собой общую анодную матрицу с Всего 32 контакта. Общий анод означает, что каждая строка