Съдържание:

Тествайте Bare Arduino, със софтуер за игра, използващ капацитивен вход и LED: 4 стъпки
Тествайте Bare Arduino, със софтуер за игра, използващ капацитивен вход и LED: 4 стъпки

Видео: Тествайте Bare Arduino, със софтуер за игра, използващ капацитивен вход и LED: 4 стъпки

Видео: Тествайте Bare Arduino, със софтуер за игра, използващ капацитивен вход и LED: 4 стъпки
Видео: Leap Motion SDK 2024, Ноември
Anonim
Тествайте Bare Arduino, със софтуер за игри, използвайки капацитивен вход и LED
Тествайте Bare Arduino, със софтуер за игри, използвайки капацитивен вход и LED
Тествайте Bare Arduino, със софтуер за игри, използвайки капацитивен вход и LED
Тествайте Bare Arduino, със софтуер за игри, използвайки капацитивен вход и LED

„Push-It“Интерактивна игра, използваща гола дъска Arduino, без нужда от външни части или окабеляване (използва капацитивен „сензорен“вход). Показан по -горе, демонстрира работата му на две различни дъски.

Push-It има две цели.

  1. За да демонстрирате/проверите бързо дали вашата платка Arduino работи и че сте настроени правилно, за да изтеглите нова скица с код към нея. Ще можете да видите, че той изпълнява вход и изход (усетете нивото на цифровия вход, изход към вградения светодиод); съхранява и възстановява стойност от енергонезависимата EEPROM памет. Всичко без прикачване на проводници или устройства.
  2. Осигурете забавна и предизвикателна игра, взаимодействаща с дъската на Arduino.

Тази инструкция предполага, че вече сте инсталирали Arduino IDE и сте поне минимално запознати с нейната употреба. Ако не, ви насочвам към тези връзки:

Първи стъпки с Arduino

Добавяне на поддръжка на Digispark (с буутлоудър) към съществуващата Arduino 1.6.x IDE

Push-It ще работи с почти всяка дъска Arduino, напр. платка Nano, Uno или DigiSpark Attiny85. Тествах я с Nano 3.1 и DigiSpark. В текста, когато се позовавам на имена/номера на щифтове, те ще бъдат както се използват на платката Nano (за разлика от DigiSpark).

Стъпка 1: Имате нещата, от които се нуждаете

Което е просто всяка Arduino или сравнима дъска.

Ако все още нямате такъв, препоръчвам да започнете с DigiSpark Pro (~ $ 12) или Nano 3.0 от eBay за ~ $ 3 (но ще имате допълнителна седмица или две, за да изчакате да дойде от Китай; и ще трябва да инсталирате CH340 USB драйвер). DigiSpark ~ $ 10 (не Pro) е много подходящ за тази единична битова „видео“игра (Това съкратено устройство, имащо само 6 входа/изхода, е малко по -сложно за качване)

Връзки към хардуера, използван тук:

Nano V3.0 Atmega328P в eBay

Съвет за развитие на Digispark USB

Стъпка 2: Изтеглете и изтеглете кода

Изтеглете и изтеглете кода
Изтеглете и изтеглете кода

Копирайте кода по -долу в файл за скициране на arduino (напр.…/Push_It/Push_It.ino) Опитах се да го коментирам доста добре. Надявам се кодът да бъде лесно разбираем. Логиката за определяне кога да се увеличава, намалява и кога да не е донякъде сложна, но тази част също е специализиран код и не е от обща полза. За повече подробности относно настройката на нова „скица“(код проект), която да се използва с IDE на Arduino вижте:

Създаване на нова скица на Arduino

Изтеглете скицата „Push_It“в нашия микроконтролер съгласно инструкциите на Arduino IDE за вашата платка.

Стъпка 3: Игра

Играя
Играя

Целта на играта е да накара светодиода (на борда) да мига възможно най-много време в набор от светкавици, които след това се повтарят

Игра на играта:

Push-Start започва с единична светкавица, която след това ще се повтори. Ако докоснете пръста си близо до входния щифт, докато светодиодът е включен, следващият цикъл ще мига светодиода два пъти.

Всеки път, когато натиснете псевдо бутона по време на първата светкавица от набор от светкавици, към тази серия ще се добави нова светкавица. По принцип няма значение кога повдигате/махате пръста си.

Но ако "натиснете" преди или след първата светкавица, броят на светкавиците в набор ще бъде намален.

Ако не правите нищо повече, броят на миганията в даден комплект се поддържа. Освен това, когато броят остава непроменен за пълен цикъл, броят се съхранява в паметта на EEPROM.

Всеки път, когато успеете да увеличите броя на светкавиците, времето се ускорява малко, което прави по -трудно и по -трудно достигането до висок брой на светкавиците. Когато направите подхлъзване и броят на миганията се намали, ще има по -дълга пауза преди стартирането на светкавицата на следващия цикъл. Това осигурява допълнително предизвикателство, тъй като може да увеличи вероятността да скочите с пистолета. Така че бъдете нащрек.

След като увеличите броя на светкавиците на вашето устройство, можете да го занесете (или да го изпратите по пощата, за което DigiSpark е подходящ) на приятел, където след като го включите, те ще видят колко голям брой светкавици сте получили да се. Открих, че е доста предизвикателно да го кача до повече от 8. С прикрепен действителен бутон успях да го покача до над дузина. За да се върнете към по-малък брой, можете да го натиснете многократно по всяко време преди или след първата светкавица. Също така, ако прекъснете входния щифт към земята по време на включване, броят ще се върне на 1.

Обърнете внимание, че оригиналната платка DigiSpark има закъснение от 10 секунди след включване, преди което ще започне да изпълнява кода „Push-It“и да играе играта. Той използва това време, за да се опита да говори чрез USB пиновете, за да получи евентуална нова актуализация на кода за изтегляне.

Ако дъската Arduino, която използвате, има USB TX светодиод, този светодиод ще има бърза малка светкавица, когато ефективно „натиснете бутона“. Ще има по -значително мигане на този светодиод, когато стойността на преброяване в EEPROM се актуализира с нова стойност. Тази обратна връзка може да ви помогне значително да разберете кога или да сте сигурни, че сте задействали ефективно събитие „натиснат бутон“. Може да се наложи да се уверите, че не докосвате масата на веригата (като метала около микро-USB конектора), така че фигурата ви наистина да предизвиква шум върху отворения входен щифт. Ще има допълнителни и донякъде непредсказуеми предизвикателства поради факта, че входният щифт е плаващ (не се дърпа нагоре или надолу от проводимо/резистивно натоварване) и променливият шумов сигнал, идващ през пръста ви.

Квадратна вълна от 250Hz се извежда на щифт до входния щифт, което значително подобрява сигурността на инжектиран входен сигнал, когато пръстът ви покрива двата щифта.

Открих, че отговорът на платката DigiSpark е сравнително последователно предвидим за леко свиване на пръстите до ъгъла на дъската, където са D3-D5.

Когато играя „Push-It“, обичам да го правя с дъска, свързана към USB 5v мобилна батерия (вижте снимките). Те обикновено могат да бъдат намерени евтино в контейнери до тези на USB AC и 12v автоматични адаптери; в почти всички универсални магазини отдел електроника.

Стъпка 4: Незадължителни експерименти с външни компоненти

Незадължителни експерименти с външни компоненти
Незадължителни експерименти с външни компоненти

Моля, обърнете внимание: Ако прикачите истински бутон, има един ред код, който трябва да бъде коментиран, както е посочено в кода.

С високоговорител, едната страна към земята, ако докоснете другия проводник към D4, ще чуете звука на квадратна вълна от 250 Hz. При D3 има квадратна вълна от 500Hz. Ако свържете високоговорителя между D3 и D4, ще чуете композитен от двата сигнала.

Свързването на светодиод вместо високоговорител, както е описано по -горе, е много интересно. Няма нужда да се притеснявате за напрежението, нивата на тока, съпротивленията или дори полярността по този въпрос (в по -лошия случай не свети, след това просто го обърнете). Опитайте първо с отрицателния (катоден) проводник, свързан към земята, а другият към D3 или D4. Светодиодът ще свети „наполовина“поради квадратните вълни. Освен това не се изисква резистор, тъй като изходът на микроконтролерните единици е ограничен по ток. Направих текущи измервания, водещи до 15ma и 20ma за съответно MCU на Attiny85 и Atmega328. Тези нива са около половината от текущата ограничена стойност за тези части поради естеството на 50% работен цикъл на управляващите сигнали с квадратна вълна. Показанията на измервателния уред всъщност са средна стойност на тока през тестваната верига.

Интересното е, че ако свързвате между D3 и D4 със светодиода (вижте изображението горе и вляво), той ще светне така или иначе и при около ½ яркостта, както при едната страна, свързана към земята. Каня ви да помислите защо.

Препоръчано: