Мазмұны:
- 1 -қадам: жұмыс моделін әзірлеу
- 2 -қадам: компоненттерді жинау
- 3-қадам: кедергілер генерациясы: А бөлігі
- 4-қадам: кедергі жасау: В-бөлім
- 5 -қадам: ӨТУ және НӘТИЖЕ
- 6 -қадам: Бақытты ойын
Бейне: Нүктелік секіру ойыны (Arduino қолданбай): 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Шолу
Сәлем! Мен Шиванш, IIIT-Хайдарабад студенті. Мен мұнда бірінші нұсқаулықпен келдім, бұл Google Chrome Динозаврға секіру ойынынан алынған ойын. Ойын қарапайым: ұпай жинау үшін кіретін кедергілерден өтіңіз. Егер сіз соқтығыссаңыз, ұтыласыз және ұпай қалпына келеді.
Бұл жобаның ерекшелігі - Arduino немесе басқа микроконтроллер қолданылмайды. Ол тек негізгі электрлік компоненттерден алынған және логикалық диаграммалар көмегімен соңғы күй машиналарын (FSM) енгізуді қамтиды.
Қызықтырады ма? Бастайық.
Пререквизиттер:
- Резисторлар, конденсаторлар, интегралды схемалар (IC) сияқты электрлік компоненттер туралы негізгі ноу-хау.
- Логикалық қақпалар туралы негізгі білім (AND, OR, NOT, т.б.)
- Flip-Flop, Counter, Multiplexer және т.
ЕСКЕРТПЕ: жоғарыда аталған алғышарттар жобаның барлық жұмысын түсінуге арналған. Бұл туралы терең білімі жоқ адам нұсқаулықтағы қадамдарды орындап жобаны құра алады.
1 -қадам: жұмыс моделін әзірлеу
Бірінші міндет - жобаның жұмыс үлгісін құру. Сонда ғана біз жобаға қажетті материалдарды шеше аламыз. Барлық жобаны үш бөлікке бөлуге болады.
1-бөлім: Кедергі жасау
Біріншіден, біз нүктеден өту үшін кездейсоқ кедергілер жасауымыз керек. Кедергілер сонымен қатар жарық диодты массивтің бір шетінен екінші шетіне өтетін нүктелік импульс түрінде болады.
Кедергілер туғызу үшін біз екі Таймер схемасын қолданамыз (схемалар қоса беріледі), біреуі жоғары жиілікті (HF таймері), екіншісі төмен жиілікті (LF таймері). «Кездейсоқтық» бөлігін HF таймері өңдейді, оның шығысы LF таймерінің әр көтерілетін жиегінде көрінеді (ол CLK кірісі ретінде қабылданады). Кедергі жасау туралы нұсқаулық -бұл LF таймерінің әр көтерілетін жиегіндегі HF таймерінің күйі (1 -> кедергі жасау | 0 -> кедергі жасамау). HF таймері кедергілердің кездейсоқ пайда болуын қамтамасыз ету үшін әрбір «ӨТУ» кезінде қайта орнатылады. HF таймерінің шығысы D Flip Flop-қа D-кірісі ретінде беріледі (келесі цикл үшін нұсқауларды сақтауға арналған), CLK кірісі LF таймерінің шығысы ретінде.
Кедергілерді құруға арналған екілік нұсқаулық жойылғаннан кейін, біз LED массивінде «кедергілер импульсін» жасауымыз керек. Біз мұны 4х16 демультиплексорға (DeMUX) берілетін 4 биттік есептегіштің көмегімен жасаймыз. DeMUX шығысы 16 сәйкес жарықдиодты жарқыратады.
2-бөлім: JUMP
JUMP әрекеті үшін біз басу түймесін енгізуді нұсқаулық ретінде қабылдаймыз. Нұсқаулық берілгеннен кейін, желідегі жарықдиодты шамдар жануды тоқтатады және оның үстіндегі басқа жарық диоды жарқырайды, бұл секіруді білдіреді.
3-бөлім: Нәтиже
Нәтиже келесідей болады: Егер объект бұзылса, ойынды ҚАЛПЫНА КЕЛТІРУ; басқа жағдайда, ұпай санын көбейтіңіз.
Соқтығысу кедергінің жердегі орналасуы үшін кедергі белгісі мен объектілік сигналдың екеуінің де ANDing түрінде көрінуі мүмкін. Егер соқтығысу болмаса, нүктелік есептегіш 7 сегменттен тұратын дисплейде көрсетіледі.
2 -қадам: компоненттерді жинау
Қажетті компоненттер келесідей:
- PCB x 1, Breadboard x 3
- Жарық диодтары: Жасыл (31), Қызыл (1), BiColor: Қызыл+Жасыл (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 розеткалары
- Кернеу көзі (5В)
Қажетті құралдар:
- Пісіру темірі
- Сым кескіш
3-қадам: кедергілер генерациясы: А бөлігі
Алдымен бізге кедергі генерациясының сигналын (ЖОҒАРЫ/ТӨМЕН) генерациялау үшін таймер тізбектерін орнату қажет.
Схема бұрын қарастырылған теорияға сәйкес орнатылады. Бұл үшін схема жоғарыда берілген. Схема тақтада орындалады (бірақ оны ПХД -де де қолдануға болады) келесідей:
- Екі 555 IC және D Flip Flop (IC 7474) тақтаны бөлгіштің арасына бос орын (4-5 баған) қойыңыз.
- Нан тақтасының жоғарғы жолын кернеу көзінің оң терминалымен, ал төменгі жолды теріс терминалмен қосыңыз.
- Қосымша схеманы қолдана отырып, басқа қосылыстар жасаңыз. Қажетті қосылымдардан кейін схема жоғарыда көрсетілген суретке ұқсас болады.
ЕСКЕРТПЕ: R1 және R2 кедергісі мен С сыйымдылығы келесі теңдеулер көмегімен есептеледі:
T = 0,694 x (R1 + 2 * R2) * C
мұндағы T - қажет уақыт кезеңі.
D = 0,694 x [(R1 + R2)/T] *100
мұндағы D - қызметтік цикл, яғни ON уақытының жалпы уақытқа қатынасы.
Бұл жобада жоғары жиілікті таймер үшін T = 0,5 сек және төмен жиілікті таймер үшін T = 2 сек.
4-қадам: кедергі жасау: В-бөлім
Енді біз кедергілерді қашан жасау керектігін білдік, енді оны көрсетуіміз керек. Біз 4 биттік есептегішті, демультиплексорды, таймерді және 16 светодиодты қолданамыз. Неге 16? Себебі біз демультиплексор көмегімен есептегіштің 4 разрядты шығысын 16 жарықдиодты шамасына салыстыратын боламыз. Бұл санауыш 0 -ден 15 -ке дейін есептелетінін және демультиплексор осы көрсеткіші бар жарық диодты қосатынын білдіреді.
Таймердің рөлі - санау жылдамдығын, яғни кедергілер қозғалысының жылдамдығын реттеу. Кедергілер таймердің бір уақыт кезеңінде бір позицияға ауысады. Әр түрлі жылдамдықтарды алу үшін алдыңғы қадамдағы теңдеулерді қолдана отырып, R1, R2 және C әр түрлі мәндерімен ойнауға болады.
Жарық диодты матрицасы үшін 16 жерге светодиодты сызықты түрде біріктіреді. Әрбір светодиодтың оң терминалы DeMUX -ке қосылады (NOT қақпасы арқылы төңкергеннен кейін, өйткені DeMUX LOW шығысын береді).
Бұл үшін схема жоғарыда берілген.
5 -қадам: ӨТУ және НӘТИЖЕ
Келесі нәрсе - секіру әрекеті. Секіруді көрсету үшін матрицаның үстіне түрлі түсті жарықдиодты қойып, жерге қосыңыз және оның +ve терминалын түймені бекітіңіз. Түйменің екінші ұшын кернеу көзіне бекітіңіз.
Сонымен қатар, алдыңғы түймеге жақын орналасқан басқа түймені алыңыз және оның бір терминалын +5 В -қа бекітіңіз. Басқа терминал NAND Gate -ге (IC 7404) өтеді, NAND Gate -дің басқа кірісі JUMP жарық диодының астындағы жарықдиодты кіріс ретінде (яғни объектілік жарықдиодты). NAND Gate шығысы балл есептегішінің RESET (BCD есептегіштерінің PIN 2 және 3) мәніне өтеді. Біз мұны жасаймыз, егер OBJECT LED (негізгі күйде) сигналы мен OBSTACLE сигналы бір уақытта берілсе, яғни объект пен кедергі соқтығысса, біз баллды қалпына келтіреміз.
Түймешіктердің екеуінің де басылуын қамтамасыз ету үшін біршама шараларды жасаңыз. Сіз монетаны қолданып, екі түймені де жабыстыра аласыз.
Есептегішті орнату үшін жоғарыда берілген схеманы орындаңыз (суреттің көзі: www.iamtechnical.com).
ЕСКЕРТПЕ: Кедергімен соқтығысқан кезде есепті қалпына келтіру үшін NAND Gate шығысына 2 және 3 -түйреуішті қосыңыз
6 -қадам: Бақытты ойын
Міне бітті. Сіз өз жобаңызды аяқтадыңыз. Жақсы көрінуі үшін оған әрлеуді қосуға болады. Демалыс жақсы.
ҚУАНЫҢЫЗДАР.. !!
Ұсынылған:
Arduino (микроконтроллер) қолданбай сызықты ізбасар роботты қалай жасауға болады: 5 қадам
Ардуиноны (микроконтроллерді) қолданбай сызықты ізбасар роботты қалай жасауға болады: Бұл нұсқаулықта мен сізге Arduino -ды пайдаланбай роботтан кейінгі сызықты қалай жасау керектігін үйретемін. Мен түсіндіру үшін өте қарапайым қадамдарды қолданамын. Сізге кез келген бағдарламалау тәжірибесі қажет емес
IR кедергісі сенсоры Arduino немесе кез келген микроконтроллерді қолданбай: 6 қадам
IR кедергісі сенсоры Arduino немесе кез келген микроконтроллерді пайдаланбай: Бұл жобада біз ешқандай микроконтроллерді пайдаланбай қарапайым кедергілер сенсорын жасаймыз
Артқа секіру! Arduino мен акклерометрді қолданатын виртуалды шындық ойыны: 9 қадам
Артқа секіру! Ардуино мен аклерометр көмегімен виртуалды шындық ойыны: Бұл оқулықта біз Arduino мен аклерометр көмегімен виртуалды шындық ойынын жасаймыз
Ардуино секіру ойыны: 3 қадам
Arduino секіру ойыны: Бөлшектер тізімі: 1 x Arduino UNO 1 x СКД экран (16 x 2 таңба) 1 x Электроника тақтасы 1 x 220 Ω резистор 1 x Батырмалы қосқыш Қатты ядролы сым 1 x USB кабелі
HC - 06 (Құлдық модуль) «NAME» қолданбай «Serial Arduino мониторын» өзгертпей «оңай жұмыс істейді»: қатесіз жол!: 3 қадам
HC - 06 (Slave Module) «NAME» қолданбасын «Monitor Serial Arduino» қолданбай өзгерту … бұл «оңай жұмыс істейді»: ақаусыз жол!: Кейін " Ұзақ уақыт " HC - 06 атауын өзгертуге тырысу (қосалқы модуль), " Arduino сериялық мониторы, " Сәттілік " Мен басқа оңай жолды таптым және қазір бөлісемін! Көңілді достар