Мазмұны:

Сыйымдылықты енгізу мен жарықдиодты қолданатын ойын бағдарламалық жасақтамасы бар жалаңаш Arduino: 4 қадам
Сыйымдылықты енгізу мен жарықдиодты қолданатын ойын бағдарламалық жасақтамасы бар жалаңаш Arduino: 4 қадам

Бейне: Сыйымдылықты енгізу мен жарықдиодты қолданатын ойын бағдарламалық жасақтамасы бар жалаңаш Arduino: 4 қадам

Бейне: Сыйымдылықты енгізу мен жарықдиодты қолданатын ойын бағдарламалық жасақтамасы бар жалаңаш Arduino: 4 қадам
Бейне: дәріс 4 Бейне мониторлар және бейне адаптерлер 2024, Шілде
Anonim
Сыйымдылықты енгізу мен жарықдиодты қолданатын ойын бағдарламалық жасақтамасы бар Bare Arduino -ны тексеріңіз
Сыйымдылықты енгізу мен жарықдиодты қолданатын ойын бағдарламалық жасақтамасы бар Bare Arduino -ны тексеріңіз
Сыйымдылықты енгізу мен жарықдиодты қолданатын ойын бағдарламалық жасақтамасы бар Bare Arduino -ны тексеріңіз
Сыйымдылықты енгізу мен жарықдиодты қолданатын ойын бағдарламалық жасақтамасы бар Bare Arduino -ны тексеріңіз

«Push-It» интерактивті ойыны жалаңаш Arduino тақтасын қолданады, сыртқы бөлшектер мен сымдар қажет емес (сыйымдылықты «сенсорлық» кірісті қолданады). Жоғарыда көрсетілген, бұл екі түрлі тақтада жұмыс істейтінін көрсетеді.

Push-Оның екі мақсаты бар.

  1. Arduino тақтасының жұмыс істейтінін және оған жаңа код эскизін жүктеу үшін дұрыс орнатылғанын тез көрсету/тексеру үшін. Сіз оның кіріс пен шығуды орындайтынын көре аласыз (цифрлық кіріс деңгейін, борттық жарықдиодты шығару); EEPROM жадысынан құндылықты сақтаңыз және қалпына келтіріңіз. Барлығы сымдар мен құрылғыларды қоспастан.
  2. Arduino тақтасымен әрекеттесетін қызықты және қиын ойын ұсыныңыз.

Бұл нұсқаулық сізде Arduino IDE орнатылғанын және оның қолданылуымен ең аз таныс екеніңізді білдіреді. Егер жоқ болса, мен сізді мына сілтемелерге сілтеме жасаймын:

Arduino -мен жұмысты бастау

Бар Arduino 1.6.x IDE -ге Digispark (жүктеушімен) қолдауын қосу

Push-It кез келген Arduino тақтасымен жұмыс істейді, мысалы. Nano, Uno немесе DigiSpark Attiny85 тақтасы. Мен оны Nano 3.1 және DigiSpark көмегімен сынап көрдім, егер мен түйреуіштердің атауларына/сандарына сілтеме жасасам, олар Nano тақтасында қолданылғандай болады (DigiSpark -қа қарағанда).

1 -қадам: Сізге қажет нәрсені алыңыз

Бұл кез келген Arduino немесе салыстырмалы тақта.

Егер сізде әлі жоқ болса, мен DigiSpark Pro (~ $ 12) немесе eBay -ден Nano 3.0 - 3 долларға бастауды ұсынамын (бірақ оның Қытайдан келгенін күту үшін сізге қосымша бір -екі апта қажет болады); және сізге CH340 USB драйверін орнату қажет болады). DigiSpark ~ $ 10 (Pro емес) бұл бір биттік 'бейне ойынға өте жақсы сәйкес келеді (бұл тек 6 енгізу -шығару қондырғысы бар қондырылған қондырғы жүктеу қиынырақ)

Мұнда қолданылатын жабдыққа сілтемелер:

EBay -де Nano V3.0 Atmega328P

Digispark USB дамыту тақтасы

2 -қадам: кодты алыңыз және жүктеңіз

Кодты алыңыз және жүктеңіз
Кодты алыңыз және жүктеңіз

Төмендегі кодты arduino эскиз файлына көшіріңіз (мысалы …/Push_It/Push_It.ino) Мен оны жақсы түсіндіруге тырыстым. Сіз кодты түсінікті деп ойлаймын. Қашан көбейту, азайту және қашан болмайтынын анықтау логикасы біршама күрделі, бірақ бұл бөлік арнайы код болып табылады және жалпы пайдалылыққа жатпайды. Arduino IDE қараңыз:

Жаңа Arduino эскизін жасау

«Push_It» эскизін біздің тақтаға арналған Arduino IDE нұсқауларына сәйкес біздің микроконтроллерге жүктеп алыңыз.

3 -қадам: Ойнау

Ойнап жатыр
Ойнап жатыр

Ойынның мақсаты-жарықдиодты (борт) мүмкіндігінше көп рет жыпылықтауы, содан кейін қайталануы.

Ойын ойнау:

Басу-ол бір жарқылмен басталады, содан кейін ол қайталанады. Егер жарық диод қосулы кезде саусағыңызды кіріс түйреуішінің жанына тигізсеңіз, келесі цикл жарық диодты екі рет жыпылықтайды.

Жыпылықтау жиынтығының бірінші жарқылында жалған түймені басқан сайын, бұл жиынға басқа жарқыл қосылады. Саусағыңызды көтеру/алып тастаудың жалпы маңызы жоқ.

Бірақ егер сіз бірінші жарқылға дейін немесе кейін «итерсеңіз», жинақтағы жыпылықтау саны азаяды.

Егер сіз басқа ештеңе жасамасаңыз, жиынтықтағы жыпылықтау саны сақталады. Толық цикл үшін санау өзгермеген кезде, санау нөмірі EEPROM жадында сақталады.

Жарқылдың санын көбейткен сайын, уақыт аздап жоғарылайды, бұл жарқылдың жоғары санына жетуді қиындатады. Егер сіз сырғып кетсеңіз және жыпылықтау саны азайса, келесі циклдің жарқылының басталуына дейін ұзақ үзіліс болады. Бұл қосымша қиындықтар тудырады, себебі бұл сіздің мылтықтан секіру ықтималдығын арттырады. Сондықтан сергек болыңыз.

Құрылғыны жарқылдың жоғары деңгейіне жеткізгеннен кейін оны досыңызға апаруға болады (немесе оны DigiSpark жақсы жібереді), оны қосқан кезде олар сіздің жарқылдың қаншалықты жоғары екенін көреді. дейін. Мен оны 8 -ден жоғары деңгейге көтеруді қиындатқанымды таптым. Нақты батырманың көмегімен мен оны оннан астамға жеткізе алдым. Төмен санауға қайта оралу үшін, бірінші жарқылға дейін немесе одан кейін кез келген уақытта бірнеше рет басуға болады. Сондай -ақ, егер сіз қуат беру кезінде кіріс түйреуішін жерге қоссаңыз, санау 1 -ге дейін қалпына келтіріледі.

Назар аударыңыз, түпнұсқалық DigiSpark тақтасы қосылғаннан кейін 10 секундқа кешіктіріледі, оған дейін «Push-It» кодын орындап, ойын ойнай бастайды. Бұл уақыт жүктеу кодының жаңартылуын алу үшін USB түйреуіштері арқылы сөйлесуге тырысады.

Егер сіз қолданатын Arduino тақтасында USB TX светодиоды болса, онда сіз «түймені» басқан кезде бұл жарық диоды өте кішкентай жарқылға ие болады. EEPROM -дегі санау мәні жаңа мәнмен жаңартылған кезде, бұл жарық диодты шамы айтарлықтай жыпылықтайды. Бұл кері байланыс сізге «батырманы басу» оқиғасын қашан тиімді бастағаныңызды білуге немесе сақтандыруға көмектеседі. Фигураңыз ашық кіріс түйреуішіне шу шығаратындай етіп, жерге тұйықталмайтындығына көз жеткізіңіз (мысалы, USB-қосқышының айналасындағы металл сияқты). Кіріс түйреуішінің өзгермелі болуына байланысты (өткізгіш/резистивті жүктеме жоғары немесе төмен тартылмаған) және саусағыңыздан сигналдың ауыспалы шуылына байланысты қосымша және күтпеген қиындықтар болады.

250 Гц квадраттық толқын кіріс түйреуішінің жанындағы түйреуішке шығарылады, бұл саусағыңыз екі түйреуішті де жапқан кезде енгізілген кіріс сигналының сенімділігін едәуір жақсартады.

Мен DigiSpark тақтасының жауаптары D3-D5 орналасқан тақтаның бұрышына саусақтардың аздап қысылуына сәйкес келеді деп болжадым.

Мен «Push-It» ойынын ойнағанда, мен USB 5V ұялы батарея ұясына қосылған тақтаны ұнатамын (суреттерді қараңыз). Оларды әдетте USB айнымалы ток пен 12в автоматты адаптерлердің қасындағы қоқыс жәшіктерінен арзан табуға болады; кез келген әмбебап дүкенде электроника бөлімі бар.

4 -қадам: Сыртқы компоненттермен қосымша эксперименттер

Сыртқы компоненттермен қосымша эксперименттер
Сыртқы компоненттермен қосымша эксперименттер

Назар аударыңыз: егер сіз нақты түймені қоссаңыз, кодта көрсетілгендей, түсініктеме беру қажет кодтың бір жолы бар.

Динамикпен бір жағынан жерге қарай, егер сіз D4 басқа сымына тиіп кетсеңіз, сіз 250 Гц шаршы толқынның дыбысын естисіз. D3 кезінде 500 Гц шаршы толқын бар. Егер сіз динамикті D3 пен D4 арасында қоссаңыз, сіз екі сигналдың композициясын естисіз.

Динамиктің орнына жоғарыда көрсетілгендей жарық диодты қосу өте қызықты. Бұл үшін кернеу, ток деңгейі, қарсылықтар немесе тіпті полярлық туралы алаңдаудың қажеті жоқ (нашар жағдайда ол жанбайды, содан кейін оны айналдырыңыз). Ең алдымен, жерге (екіншісі) D3 немесе D4 -ке қосылған теріс (катодты) сымды қолданып көріңіз. Светодиод төртбұрышты толқындардың әсерінен «жартылай» жанып тұрады. Сонымен қатар, микроконтроллер бірліктерінің шығысы шектеулі болғандықтан, қарсылас қажет емес. Мен ағымдағы өлшемдерді жасадым, сәйкесінше Attiny85 және Atmega328 MCU үшін 15ма және 20ма болды. Бұл деңгейлер квадраттық толқындық сигналдардың 50% жұмыс циклінің сипатына байланысты бұл бөліктер үшін ағымдағы шектеулі мәннің жартысына жуығын құрайды. Есептегіш көрсеткіштері шын мәнінде тексерілген тізбек арқылы өтетін токтың орташа мәні болып табылады.

Бір қызығы, егер сіз D3 & D4 арасында светодиодпен көпір болсаңыз (жоғарыдағы және сол жақтағы суретті қараңыз), ол бір жағынан жерге қосылатындай жарықтандырады. Мен сізді неге бұл туралы ойлануға шақырамын.

Ұсынылған: