Съдържание:
- Стъпка 1: Части
- Стъпка 2: Окабеляване
- Стъпка 3: Алтернативно окабеляване
- Стъпка 4: Код + Обяснение
- Стъпка 5: Благодаря за четенето
Видео: Тенис на понг с LED матрица, Arduino и джойстици: 5 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Този проект е предназначен както за начинаещи, така и за опитни калайджии. На основно ниво може да се направи с макет, проводници и да се залепи за парче скрап (използвах дърво) с Blu-Tack и без запояване. На по -напреднало ниво обаче той може да бъде запоен към перф платка или персонализирана печатна платка.
Тъй като това беше проект за блокиране, нямах достъп до много инструменти или материали, поради което се залепи за парче скрап дърво, което е малко твърде малко с Blu-Tack, но въпреки това това е забавен проект, който се събира бързо и се състои от общодостъпни части, които могат да бъдат намерени евтино онлайн.
Стъпка 1: Части
За да направите понг играта ви трябва;
- 1x Arduino (всеки тип ще работи)
- 4x MAX7219 8x8 LED матрици
- 2x джойстици
- 1x пиезо зумер (по избор)
- 15x женско-женски джъмперни проводници (3x групи по 5)
- 15x проводници за мъже и жени (3x групи от 5)
- 18x проводници за мъже и мъже
- 1x платка
- 1x 220Ω резистор
Вместо дъска Arduino Uno или Nano можете да използвате Arduino, базиран на макет;
- 1x ATmega328p 28pin IC
- 1x 16kHz кристален осцилатор
- 2x 22pF керамични кондензатори
- 1x USB FTDI UART конвертор
- 1x 100uF електролитен кондензатор
- 1x Micro USB Breakout (По избор)
Инструменти;
- Компютър с Arduino IDE (и библиотека LedControl)
- Подходящ USB кабел за вашия Arduino
- Power Bank за захранване на играта далеч от вашия компютър
Стъпка 2: Окабеляване
Окабеляването е много просто, тъй като всичко, от което се нуждаете, е джъмперни кабели за свързване на заглавките на матриците и джойстиците към Arduino. Единственото усложнение е захранването, тъй като Arduino Uno има само 3 GND връзки и една 5v връзка. Тук платката влиза и действа като разпределителна шина за всички компоненти. Ако използвате NANO, макетната платка ще служи за същата цел, както и ще ви позволи да включите всичко.
За окабеляване следвайте тези връзки.
- Ляв джойстик - GND и 5v към съответните им релси за захранване. SW - щифт 9, VRx - A0, VRy - A1.
- Десен джойстик - GND и 5v към съответните им релси за захранване. SW - щифт 8, VRx - A2, VRy - A3.
- Най -дясната LED матрица - GND и 5v към съответните им релси за захранване. DIN - 13, CS - 11, CLK - 12. (Съгласно ред 25)
- Всички останали LED матрици могат да бъдат свързани последователно от изхода на първата, като се движат отдясно наляво, така че кодът да работи правилно.
- Опционален зумер - Анод (+) през 220Ω ограничаващ тока резистор към пин 10, Катод (-) - GND.
Стъпка 3: Алтернативно окабеляване
След като го свързах с Arduino UNO, за да спестя място, реших да поставя Arduino IC от UNO на чертежа с 16Mhz кристален осцилатор и чифт 22pF кондензатори от всяка страна към земята. Чувствам, че това е полезна промяна, тъй като прави проекта да изглежда по -изряден и завършен, но трябва да използвате 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: Функция, която премества топката към левия играч на определена височина и скорост, проверява дали играчът го е ударил или или продължава и задава статуса на катастрофата на true или отскача топката, добавя 1 към резултата и увеличава скоростта.
Ред 438-811: Функция, която премества топката към десния играч на определена височина и скорост, проверява дали играчът я е ударил или или продължава и задава статуса на катастрофата на true или отскача топката, добавя 1 към резултата и увеличава скоростта.
Ред 813-823: Функция за показване на усмихнато лице, отметка, кръст или въпросителен знак към посочения дисплей (0 отдясно до 3 отляво).
Ред 861-979: Функция за показване на числата 0-9 на посочения дисплей.
Ред 981-1047: Функция за показване на резултата от всяка страна на екрана на играчите.
Ред 1049-1064: Функция за проверка дали плейърът е готов.
Ред 1066-1076: Раздел за настройка на кода, който се изпълнява веднъж при стартиране на програмата.
Ред 1078-1136: Раздел Main Loop за логика на играта, където се използват всички функции и където се решава кой печели и след това той рестартира програмата след 5 секунди след показване на резултата.
Стъпка 5: Благодаря за четенето
Благодаря, че прочетохте този Instructable, това беше забавен проект за заключване, който се събра за няколко дни, когато научих повече за програмирането на Arduino. Ако ви хареса, не се колебайте да гласувате за него в конкурса Arduino.
Препоръчано:
LED топка за тенис на маса: 16 стъпки (със снимки)
LED топка за тенис на маса: предистория След като изградих плосък панел от топки за тенис на маса, започнах да се чудя дали би било възможно да се направи 3D панел от топките за тенис на маса. В съчетание с интереса ми да създавам " изкуство " от повтарящи се геометрични фигури I
Табло за тенис на маса: 16 стъпки (със снимки)
Табло за таблица за тенис на маса: Твърде мързеливо е да следите резултата си по тенис на маса / пинг -понг? Или може би просто ви е писнало винаги да го забравяте? Ако е така, може да се интересувате от изграждането на това цифрово табло за тенис на маса. Ето основните моменти: точки за тракове , игри, сървър и п
Arduino Telesketch със светодиодна матрица: 6 стъпки (със снимки)
Arduino Telesketch с Led Matrix: Ето само едно просто ръководство за създаване на телескоп с помощта на Arduino. Този дизайн използва Arduino, две LED матрици от 8x32, зумер, два въртящи се енкодера и някои бутони. Надяваме се, че ще научите как да използвате въртящи се енкодери и LED матрица. Освен това той скача
Статив за топка за тенис: 4 стъпки (със снимки)
Статив за топка за тенис: Рециклирайте мъртва топка за тенис в статив с джобна камера. Вземете остри снимки, като използвате стена, ограда, клон на дърво, врата, качулка на автомобил, бамбуков стълб или указател. Велкро, бънджи или виси от вендуза с монтажни отвори по избор
LED фенер за тенис: 4 стъпки (със снимки)
LED фенер за тенис: Аз създадох този фенер, докато се скитах наоколо в тъмното със светодиодна сензорна светлина и кутия тенис топки (с които съм известен, че жонглирам понякога). Той генерира приятна сияйна светлина, когато седи на маса и може да се включи