Съдържание:
- Стъпка 1: Разработване на работния модел
- Стъпка 2: Събиране на компоненти
- Стъпка 3: Генериране на препятствия: Част-А
- Стъпка 4: Генериране на препятствия: Част-B
- Стъпка 5: ПРЕКЪСВАНЕТО И РЕЗУЛТАТА
- Стъпка 6: Честита игра
Видео: Dot Jump Game (без използване на Arduino): 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Общ преглед
Здрасти! Аз съм Шиванш, студент в IIIT-Хайдерабад. Тук съм с първата си инструкция, която е игра, вдъхновена от играта на Google Chrome Dinosaur Jump. Играта е проста: Прескачайте входящи препятствия, за да спечелите точка. Ако се сблъскате, губите и резултатът се нулира.
Открояващата характеристика на този проект е, че не се използва Arduino или друг микроконтролер. Той е извлечен изцяло от основни електрически компоненти и включва внедряване на машини с крайни състояния (FSM) с помощта на логически диаграми и т.н.
Интересувате ли се? Да започваме.
Предпоставки:
- Основно ноу-хау за електрически компоненти като резистори, кондензатори, интегрални схеми (ИС).
- Основни познания за логическите порти (И, ИЛИ, НЕ и т.н.)
- Познания за работа с джапанки, броячи, мултиплексори и др.
ЗАБЕЛЕЖКА: Изброените по-горе предпоставки са за разбиране на цялата работа на проекта. Човек, който няма задълбочени познания за същото, може също да изгради проекта, като следва стъпките в инструкциите.
Стъпка 1: Разработване на работния модел
Първата задача е да се създаде работещ модел за проекта. Само тогава можем да решим необходимите материали за проекта. Целият проект може да бъде разделен на три части.
Част 1: Генериране на препятствия
Първо, трябва да генерираме случайни препятствия, за да пресече точката. Препятствията също ще бъдат под формата на точков импулс, който се движи от единия край на LED масива към другия.
За генериране на препятствия използваме две таймерни вериги (приложени схеми), една с висока честота (HF таймер) и друга с ниска честота (LF таймер). Частта „случайност“се обработва от HF Timer, чийто изход се вижда на всеки нарастващ ръб на LF таймера (който се приема като вход CLK). Инструкцията за генериране на препятствия е състоянието на HF таймера на всеки нарастващ ръб на LF таймера (1 -> Генериране на препятствие | 0 -> Не генерирайте препятствие). HF таймерът се нулира на всеки „JUMP“, за да се осигури генериране на случайни препятствия. Изходът на HF Timer се дава като D-вход към D тригер (за съхраняване на инструкции за следващия цикъл) с CLK вход като LF Timer Output.
След като излезе бинарната инструкция за генериране на препятствия, трябва да генерираме „импулс на препятствия“върху LED масив. Правим това с помощта на 4-битов брояч, чийто изход се дава на 4x16 демултиплексор (DeMUX). Изходът на DeMUX ще накара 16 -те съответни светодиода да светят.
Част 2: Скачането
За действието JUMP ще вземем въвеждането чрез бутон като инструкция. След като е дадена инструкцията, светодиодът на вградения обект спира да свети и друг светодиод над него свети, което означава скок.
Част 3: Резултат
Резултатът ще бъде като: Ако обектът се срине, ВЪЗМОЖНЕТЕ играта; в противен случай увеличете резултата.
Сблъсъкът може да се изрази като ANDing както на сигнала на препятствието, така и на сигнала на обекта за позицията на земята на препятствието. Ако не се случи сблъсък, Броячът на точки се увеличава, което се показва на чифт 7-сегментни дисплеи.
Стъпка 2: Събиране на компоненти
Необходимите компоненти са както следва:
- Печатна платка x 1, платка x 3
- Светодиоди: зелено (31), червено (1), двуцветно: червено+зелено (1)
- Натиснете бутона x 2
- 7-сегментен дисплей x 2
- IC 555 x 3 [за таймерни вериги]
- IC 7474 x 1 (D FlipFlop)
- IC 7490 x 2 (Десетилетен брояч) [за показване на резултат]
- IC 7447 x 2 (BCD към 7-сегментен декодер) [за показване на резултат]
- IC 4029 x 1 (4-битов брояч) [за показване на препятствия]
- IC 74154 x 1 (DeMUX) [за показване на препятствия]
- IC 7400 x 3 (НЕ порта)
- IC 7404 x 1 (NAND порта)
- IC 7408 x 1 (И порта)
- IC гнезда
- Източник на напрежение (5V)
Необходими инструменти:
- Поялник
- Резачка за тел
Стъпка 3: Генериране на препятствия: Част-А
Първо, трябва да настроим таймерните вериги за генериране на сигнал за генериране на препятствия (HIGH/LOW).
Веригата ще бъде настроена в съответствие с теорията, обсъдена по-рано. Схемата за същите е приложена по -горе. Схемата е реализирана на макет (макар че може да се реализира и на печатна платка), както следва:
- Поставете двете 555 интегрални схеми и D джапанка (IC 7474) през разделителя на макета с малко свободно място (4-5 колони) между тях.
- Свържете горния ред на макета с положителния извод на източника на напрежение и долния ред с отрицателния извод.
- Направете допълнителни връзки, следвайки електрическата схема. След необходимите връзки веригата ще изглежда подобна на снимката, приложена по -горе.
ЗАБЕЛЕЖКА: Стойностите на съпротивления R1 и R2 и капацитет C се изчисляват, като се използват следните уравнения:
T = 0,694 x (R1 + 2 * R2) * C
където T е необходим период от време.
D = 0,694 x [(R1 + R2)/T] *100
където D е работният цикъл, т.е. отношението на времето за включване към общото време.
В този проект за високочестотния таймер, T = 0,5 сек и за нискочестотния таймер, T = 2 сек.
Стъпка 4: Генериране на препятствия: Част-B
Сега, когато знаем кога да генерираме препятствието, сега трябва да го покажем. Ще използваме 4-битов брояч, демултиплексор, таймер и масив от 16 светодиода. Защо 16? Това е така, защото ние ще картографираме 4-битовия изход на брояча към 16-те светодиода, използвайки демултиплексора. Това означава, че броячът ще брои от 0 до 15 и демултиплексорът ще включва светодиода с този индекс.
Ролята на таймера е да регулира скоростта на броене, т.е. скоростта на движение на препятствието. Препятствието ще измести една позиция за еднократен период на таймера. Можете да играете с различни стойности на R1, R2 и C, като използвате уравненията в предишната стъпка, за да получите различни скорости.
За LED матрицата запоявайте 16 светодиода по линеен начин с общо заземяване. Положителният извод на всеки светодиод ще бъде свързан към DeMUX (след инвертиране, използвайки NOT gate, тъй като DeMUX дава нисък изход).
Схемата за същите е приложена по -горе.
Стъпка 5: ПРЕКЪСВАНЕТО И РЕЗУЛТАТА
Следващото нещо е действието скок. За да покажете скок, просто поставете светодиод с различен цвят над матрицата, заземете го и прикрепете неговия +ve терминал към бутон. Прикрепете другия край на бутона за източника на напрежение.
Също така, вземете друг бутон, поставен в непосредствена близост до предишния и прикрепете един от неговите терминали към +5V. Другият терминал отива към NAND Gate (IC 7404) с другия вход на NAND Gate като вход към светодиода точно под JUMP LED (т.е. обектния светодиод). Изходът на NAND Gate отива към RESET (PIN 2 и 3 на двата брояча BCD) на брояча за резултати. С това ние правим, че нулираме резултата, ако едновременно сигналът на OBJECT LED (в базова позиция) и OBSTACLE се подават едновременно, т.е. обектът и препятствието се сблъскат.
Направете някакво подреждане, за да сте сигурни, че двата бутони са натиснати заедно. Можете да използвате монета и да залепите двата бутона към нея.
За да настроите брояча на точки, следвайте схемата, приложена по -горе (източник на снимката: www.iamtechnical.com).
ЗАБЕЛЕЖКА: Свържете щифт 2 и 3 към изхода на NAND Gate, за да възстановите резултата в случай на сблъсък с препятствието
Стъпка 6: Честита игра
Това е. Свършили сте проекта си. Можете да добавите малко довършителни работи към него, така че да изглежда добре. Почивката е наред.
НАСЛАДИ СЕ..!!
Препоръчано:
Как да си направим последователен робот без използване на Arduino (микроконтролер): 5 стъпки
Как да си направим робот за последовател на линия без използване на Arduino (микроконтролер): В тази инструкция ще ви науча как да направите робот, следващ линия, без да използвате Arduino. Ще използвам много лесни стъпки, за да обясня. Този робот ще използва IR сензор за близост следвайте реда. Няма да ви е необходим опит в програмирането, за да
IR сензор за препятствия без използване на Arduino или друг микроконтролер: 6 стъпки
IR сензор за препятствия без използване на Arduino или какъвто и да е микроконтролер: В този проект ще направим прост сензор за препятствия, без да използваме микроконтролер
Neopixel Ws2812 Rainbow LED Glow с M5stick-C - Стартиране на Rainbow на Neopixel Ws2812 Използване на M5stack M5stick C Използване на Arduino IDE: 5 стъпки
Neopixel Ws2812 Rainbow LED Glow с M5stick-C | Изпълнение на Rainbow на Neopixel Ws2812 Използване на M5stack M5stick C Използване на Arduino IDE: Здравейте момчета в тази инструкция ще се научим как да използваме неопиксели ws2812 светодиоди или LED лента или LED матрица или LED пръстен с m5stack m5stick-C платка за разработка с Arduino IDE и ние ще направим модел на дъга с него
Направи си сам „Измервателен уред за използване на компютър ROG Base“Използване на Arduino и Python: 5 стъпки (със снимки)
Направи си сам „Измерител за използване на компютър ROG Base“Използване на Arduino и Python: ************************************* +На първо място, тези инструкции са написани от неносещ англоговорящ … не е професор по английски, така че, моля, информирайте за някаква граматическа грешка, преди да ми се подигравате.: P +и моля, не имитирайте
Охладител / стойка за лаптоп с нулева цена (без лепило, без пробиване, без гайки и болтове, без винтове): 3 стъпки
Охладител / стойка за лаптоп с нулева цена (без лепило, без пробиване, без гайки и болтове, без винтове): АКТУАЛИЗИРАНЕ: МОЛЯ ПРИЛОЖНО ГЛАСУВАНЕ ЗА МОИТЕ ИНСТРУКЦИИ, БЛАГОДАРЯ ^ _ ^ МОЖЕТЕ И ДРУГИ ДА ИЗБОРИТЕ ВЛИЗАЙТЕ НА www.instructables.com/id/Zero-Cost-Aluminium-Furnace-No-Propane-No-Glue-/ ИЛИ МОЖЕ ДА ГЛАСУВАТЕ ЗА МОЙ НАЙ-ДОБРИЯ ПРИЯТЕЛ