Мазмуну:
- 1 -кадам: Жумуш моделин иштеп чыгуу
- 2 -кадам: Компоненттерди чогултуу
- 3-кадам: Тоскоолдуктарды жаратуу: Part-A
- 4-кадам: Тоскоолдуктарды жаратуу: Part-B
- 5 -кадам: JUMP жана RESULT
- 6 -кадам: бактылуу ойноо
Video: Dot Jump Game (Arduino колдонбостон): 6 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Обзор
Салам! Мен Шиванш, IIIT-Хайдарабад студентимин. Мен бул жерде Google Chrome динозавр секирүү оюнунан шыктандырылган биринчи үйрөткүчүм менен келдим. Оюн жөнөкөй: упай топтоо үчүн кирген тоскоолдуктардан секирип өтүңүз. Эгерде сиз кагылышсаңыз, анда сиз жеңилип каласыз жана эсебиңиз кайра калыбына келет.
Бул долбоордун өзгөчөлүгү - бул Arduino же башка микроконтроллердин колдонулбашы. Бул жөн гана негизги электр компоненттеринен алынган жана логикалык схемалардын жардамы менен Чектүү абал машиналарын (FSMs) ишке ашырууну камтыйт.
Кызыгасызбы? Кел, баштайлы.
Алдын ала шарттар:
- Резисторлор, конденсаторлор, интегралдык микросхемалар (IC) сыяктуу электр компоненттери жөнүндө негизги ноу-хау.
- Логикалык Гейтс боюнча негизги билимдер (ЖАНА, ЖЕ, ЭМЕС, ж. Б.)
- Flip-Flop, Counter, Multiplexer ж.
ЭСКЕРТҮҮ: Жогоруда саналган өбөлгөлөр долбоордун бүт ишин түшүнүү үчүн. Бул жөнүндө терең билими жок адам, ошондой эле нускамадагы кадамдарды аткарып, долбоорду кура алат.
1 -кадам: Жумуш моделин иштеп чыгуу
Биринчи тапшырма - долбоордун жумушчу моделин түзүү. Ошондо гана биз долбоорго керектүү материалдарды чече алабыз. Бүт долбоор үч бөлүккө бөлүнүшү мүмкүн.
1-бөлүк: Тоскоолдуктарды жаратуу
Биринчиден, биз чекитти секирип өтүү үчүн туш келди тоскоолдуктарды жаратышыбыз керек. Тоскоолдуктар LED массивинин бир четинен экинчи четине өтүүчү чекит импульсу түрүндө болот.
Тоскоолдуктарды жаратуу үчүн биз эки Таймер схемасын колдонобуз (схемалар тиркелет), бири Жогорку Жыштыгы (HF Таймери) менен, экинчиси Төмөн Жыштыгы (LF Таймери) менен. "Кокустук" бөлүгүн HF таймери иштетет, анын чыгышы LF таймеринин ар бир көтөрүлүп турган четинде көрүнөт (ал CLK киргизүү катары кабыл алынган). Тоскоолдуктарды жаратуу боюнча инструкция -бул LF таймеринин ар бир көтөрүлүп турган четиндеги HF таймеринин абалы (1 -> тоскоолдуктарды жаратуу | 0 -> тоскоолдук жаратпоо). HF таймери туш келди тоскоолдуктарды жаратууну камсыз кылуу үчүн ар бир "JUMP" боюнча кайра орнотулат. HF таймеринин чыгышы D Flip Flopка D-киргизүү катары берилет (кийинки цикл үчүн көрсөтмөлөрдү сактоо үчүн), CLF киргизүү менен LF Timer Output.
Тоскоолдуктарды жаратуу үчүн бинардык көрсөтмө чыккандан кийин, LED массивинде "тоскоолдуктун импульсун" жаратышыбыз керек. Биз муну 4х16 эсептегичтин жардамы менен жасайбыз, анын чыгышы 4x16 демультиплексорго (DeMUX) берилет. DeMUXтун чыгышы 16 тиешелүү LEDди жаркыратат.
2-бөлүк: JUMP
JUMP Action үчүн биз баскыч баскычын киргизүүнү көрсөтмө катары кабыл алабыз. Көрсөтмө берилгенден кийин, линиядагы объектинин жарыгы өчөт жана анын үстүндөгү дагы бир светодиод секирүүнү билдирет.
3-бөлүк: Жыйынтык
Жыйынтык төмөнкүдөй болот: Эгерде объект бузулса, оюнду КАЙРА КАЛТЫРУУ; башкача айтканда, упай көбөйтүү.
Кагылышуу тоскоолдуктун жери үчүн тоскоолдуктун белгиси жана объектинин сигналынын ANDing катары көрсөтүлүшү мүмкүн. Эгерде кагылышуу болбосо, Point Counter 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 (Decade Counter) [упай көрсөтүү үчүн]
- 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)
Керектүү шаймандар:
- Кандооч
- Wire Cutter
3-кадам: Тоскоолдуктарды жаратуу: Part-A
Биринчиден, биз тоскоолдуктарды генерациялоо сигналын (БИЙИК/ТӨМӨН) генерациялоо үчүн таймердин схемаларын орнотушубуз керек.
Район мурда талкууланган теорияга ылайык орнотулат. Мунун схемасы жогоруда тиркелген. Район нан тактасында ишке ашырылат (бирок аны ПХБда да ишке ашырса болот) төмөнкүчө:
- Эки 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-кадам: Тоскоолдуктарды жаратуу: Part-B
Эми биз тоскоолдукту качан жаратууну билебиз, эми аны көрсөтүүбүз керек. Биз 4 биттик эсептегичти, демультиплексорду, таймерди жана 16 LED диапазонун колдонобуз. Эмнеге 16? Себеби, биз эсептегичтин 4 биттик чыгымын демультиплексордун жардамы менен 16 LEDге картага түшүрөбүз. Бул эсептегич 0дон 15ке чейин саналып, демультиплексор ошол көрсөткүч менен LEDди күйгүзөт дегенди билдирет.
Таймердин ролу - эсептөө ылдамдыгын, башкача айтканда, тоскоолдуктун кыймылынын ылдамдыгын жөнгө салуу. Тоскоол таймердин бир мезгил аралыгында бир позицияга жылат. Сиз ар кандай ылдамдыкты алуу үчүн мурунку кадамдагы теңдемелерди колдонуп, R1, R2 жана C ар кандай баалуулуктары менен ойной аласыз.
LED матрицасы үчүн, жалпы негизи бар сызыктуу түрдө 16 LED. Ар бир светодиоддун оң терминалы DeMUXка туташат (NOT дарбазасы аркылуу айландыргандан кийин, анткени DeMUX ТӨМӨН чыгууну берет).
Мунун схемасы жогоруда тиркелген.
5 -кадам: JUMP жана RESULT
Кийинки нерсе - секирүү аракети. Секирүүнү көрсөтүү үчүн, матрицанын үстүнө ар кандай түстөгү LEDди коюп, жерге коюп, анын +ve терминалын баскычка тиркеңиз. Баскычтын экинчи учун чыңалуу булагына тиркеңиз.
Ошондой эле, мурункусуна жанаша жайгашкан дагы бир баскычты алыңыз жана анын терминалдарынын бирин +5Vга тиркеңиз. Башка терминал NAND Gate'ке (IC 7404) барат, NAND Gate'дин башка кириши менен JUMP LEDдин астындагы светодиоддун кириши катары (б.а. объект LED). NAND дарбазасынын көрсөткүчү балл эсептегичти кайра орнотууга (PIN 2 жана 3 BCD эсептегичтерине) барат. Муну менен биз эмне кылабыз, эгерде OBJECT LED (базалык абалында) жана тоскоолдук сигналдары бир убакта берилсе, б.а. объект жана тоскоолдук кагылышса, биз баллды баштапкы абалга келтиребиз.
Баскычтардын экөө тең басылганын камсыз кылуу үчүн кандайдыр бир чараларды көрүңүз. Сиз тыйынды колдонуп, эки баскычты тең жабыштырсаңыз болот.
Эсептегичти орнотуу үчүн жогоруда тиркелген схеманы аткарыңыз (Сүрөт булагы: www.iamtechnical.com).
ЭСКЕРТҮҮ: Тоскоолдук менен кагылышуу учурунда баллды баштапкы абалга келтирүү үчүн 2 жана 3 -пинди NAND дарбазасынын чыгуусуна туташтырыңыз
6 -кадам: бактылуу ойноо
Дал ушул. Долбооруңуз менен бүттүңүз. Жакшы көрүнүшү үчүн, аны бир аз бүтүрө аласыз. Эс алуу жакшы.
Бактылуу болгула.. !!
Сунушталууда:
Батареяны колдонбостон BOINC үчүн Android телефондорун кантип кайра иштетүү керек: 8 кадам
Батарейкаларды колдонбостон BOINC же бүктөлүүчү риг үчүн Android телефондорун кантип кайра иштетүү керек: ЭСКЕРТҮҮ: БУЛ КОЛДОНМО ЭРКИНДИГИ МЕНЕН СИЗДИН ЭРКИНДҮҮЛҮГҮҢҮЗГӨ ЭЧ КАНДАЙ ЗЫЯН ЖООП БЕРБЕЙТ. аны бүктөө үчүн да колдонсо болот, анткени менде өтө көп убакыт жок, мен
NodeMCU + Эски ноутбуктун Камера Модулу менен CCTV Камерасы (Blynkти колдонуп жана колдонбостон): 5 кадам
NodeMCU + менен эски ноутбуктун камера модулу бар CCTV камерасы (Blynkти колдонуп жана колдонбостон): Салам балдар! Бул көрсөтмөдө мен сизге эски ноутбуктун камера модулун жана nodeMCUну CCTVге окшош нерсени кантип жасаганымды көрсөтөм
Blynkти колдонбостон ESP8266 WiFi менен үйдү автоматташтыруу: 24 кадам (сүрөттөр менен)
Blynkти колдонбостон ESP8266 WiFi менен үйдү автоматташтыруу!: Биринчиден, 2016 -жылы мени автоматташтыруу конкурсунда жеңүүчү кылып бергени үчүн баарына РАХМАТ айткым келет. Ошентип, мен сизге убада кылгандай, бул жерде ESP8266 WiFi модулу менен тиричилик техникасын көзөмөлдөө боюнча көрсөтмө бар
Ардуинону (Микроконтроллерди) колдонбостон линия жолдоочу роботту кантип жасоо керек: 5 кадам
Ардуинону (Микроконтроллерди) Колдонбостон Линия Ээруучусу Роботун Кантип Жасоо керек: Бул көрсөтмөдө мен Arduino колдонбостон роботту ээрчитип алууну үйрөтөм. Түшүндүрүү үчүн абдан оңой кадамдарды колдоном. линияны ээрчиңиз. Сизге эч кандай программалоо тажрыйбасынын кереги жок болот
IR тоскоолдук сенсору Arduino же кандайдыр бир микроконтроллерди колдонбостон: 6 кадам
IR тоскоолдуктар сенсору Arduino же кандайдыр бир микроконтроллерди колдонбостон: Бул долбоордо биз эч кандай микроконтроллерди колдонбостон жөнөкөй тоскоолдук сенсорун жасайбыз