Мазмуну:

Сыноо Жалаң Arduino, Оюн программасы менен Capacitive Input & LEDди колдонуу: 4 кадам
Сыноо Жалаң Arduino, Оюн программасы менен Capacitive Input & LEDди колдонуу: 4 кадам

Video: Сыноо Жалаң Arduino, Оюн программасы менен Capacitive Input & LEDди колдонуу: 4 кадам

Video: Сыноо Жалаң Arduino, Оюн программасы менен Capacitive Input & LEDди колдонуу: 4 кадам
Video: SKR Pro v1.2 - TMC2225 UART 2024, Июль
Anonim
Capacitive Input & LEDди колдонуп Оюн Программасы менен Жалаң Arduino тестирлөө
Capacitive Input & LEDди колдонуп Оюн Программасы менен Жалаң Arduino тестирлөө
Сыноо Жалаң Arduino, Capacitive Input & LED колдонуп оюн программасы менен
Сыноо Жалаң Arduino, Capacitive Input & LED колдонуп оюн программасы менен

"Push-It" интерактивдүү оюну жылаңач Arduino тактасын колдонуп, тышкы бөлүктөрү же зымдары кереги жок (сыйымдуу "тийүү" киргизүүнү колдонот). Жогоруда көрсөтүлгөн, бул эки башка тактада иштеп жатканын көрсөтөт.

Түртүү-Анын эки максаты бар.

  1. Сиздин Arduino тактаңыз иштээрин жана ага жаңы коддун эскизин жүктөө үчүн туура орнотулгандыгыңызды тез көрсөтүү/ырастоо үчүн. Сиз анын кирүү жана чыгууну аткара турганын көрө аласыз (санариптик кирүү деңгээлин сезүү, борттогу LEDге чыгаруу); сактоо жана 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 I/O бар, жүктөө үчүн бир аз татаалыраак)

Бул жерде колдонулган жабдыктарга шилтемелер:

EBayде Nano V3.0 Atmega328P

Digispark USB өнүктүрүү кеңеши

2 -кадам: Кодду алып келип түшүрүңүз

Кодду жүктөп алыңыз
Кодду жүктөп алыңыз

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

Жаңы Arduino эскизин түзүү

"Push_It" эскизин биздин такта үчүн Arduino IDE көрсөтмөлөрүнө ылайык биздин микроконтроллерге түшүрүп алыңыз.

3 -кадам: ойноо

Ойноп жатат
Ойноп жатат

Оюндун максаты-LEDди (бортто) мүмкүн болушунча көп ирет жаркылдатып, андан кийин кайталана берүү.

Оюн ойноодо:

Түртүү-Бул бир жарк менен башталат, ал кайра кайталанат. Эгер LED күйүп турганда манжаңызды киргичтин жанына тийгизсеңиз, кийинки цикл LEDди эки жолу жаркылдатат.

Жаркыроонун биринчи жарыгы учурунда псевдо баскычын баскан сайын, бул топтомго дагы бир жарк кошулат. Манжаңызды качан көтөрүп/алып салганыңыздын мааниси жок.

Бирок, эгер сиз биринчи жарк этүүгө чейин же андан кийин "түртсөңүз", топтомдогу жаркылдоо саны азаят.

Эгерде сиз башка эч нерсе кылбасаңыз, анда топтомдогу жаркылдаган саны сакталат. Андан ары толук цикл үчүн эсеп өзгөрүүсүз калганда, сан саны EEPROM эстутумунда сакталат.

Жаркыроо санын көбөйтүүгө жетишкен сайын, убакыт бир аз ылдамдайт, бул флештин жогорку санына чейин жетүүнү кыйындатат. Качан сиз тайып кетсеңиз жана жаркыроо саны азайса, кийинки циклдин башталышына чейин узунураак пауза болот. Бул кошумча тапшырманы берет, анткени ал мылтыктан секирүү ыктымалдыгын жогорулатат. Андыктан сергек болуңуз.

Түзмөгүңүздү флештин жогорку санына жеткиргенден кийин, аны досуңузга жөнөтө аласыз (же DigiSpark үчүн жакшы болгон почтага), аны туташтырганда алар сиздин жаркырооңуздун канчалык жогору болгонун көрүшөт. чейин Мен аны 8ден ашык алуу үчүн кыйын болуп калдым. Чыныгы баскычты тиркеп койгондон кийин, мен аны ондон ашыкка чейин жеткире алдым. Төмөнкү санга кайтуу үчүн, биринчи жарк этүүгө чейин же андан кийин каалаган убакта кайталап бассаңыз болот. Ошондой эле, эгер сиз кубаттоо учурунда кирүүчү пинди жерге секирип койсоңуз, эсеп 1ге чейин калыбына келтирилет.

Көңүл буруңуз, баштапкы DigiSpark тактасы күйгүзүлгөндөн кийин 10 секундага кечигет, ага чейин "Push-It" кодун аткарып, оюнду ойной баштайт. Бул мүмкүн болгон жаңы жүктөө кодун жаңыртууну алуу үчүн USB түйрөөчтөрү аркылуу сүйлөшүүгө аракет кылуу үчүн колдонулат.

Эгерде сиз колдонгон Arduino тактасында USB TX LEDи бар болсо, анда сиз натыйжалуу "баскычты" басканыңызда, бул LED тез кичинекей жарк этип калат. EEPROMдо эсептөө мааниси жаңы маани менен жаңыртылганда, бул LEDдын дагы олуттуу жарыгы болот. Бул пикир сизге "баскычты басуу" иш -чарасын качан натыйжалуу баштаганыңызды же камсыздандырууну билүүгө чоң жардам берет. Сиздин фигураңыз чындап эле ачык кирүүчү пинге ызы-чууну жаратышы үчүн, сиз райондук жерге (микро-USB туташтыргычынын тегерегиндеги сыяктуу) тийбешиңизди камсыз кылышыңыз керек болот. Кирүүчү пиндин калкып жүргөндүгүнө (өткөргүч/каршылыктуу жүктөм менен өйдө же ылдый тартылганына) жана манжаңыз аркылуу келе жаткан өзгөрмө сигнал ызы -чуусуна байланыштуу кошумча жана бир аз күтүүсүз кыйынчылыктар болот.

250 Гц квадрат толкуну кирүүчү пиндин жанындагы пинге чыгарылат, бул манжаңыз эки казыкты тең жапканда, киргизилген сигналдын ишенимдүүлүгүн абдан жакшыртат.

Мен DigiSpark коллегиясынын жоопторун D3-D5 турган тактанын бурчуна манжаларды бир аз кысуу үчүн алдын ала айтууга болот деп таптым.

Мен "Push-It" ойногондо, USB 5v мобилдик батарея пакетине туташкан тактай менен ушундай кылууну жакшы көрөм (сүрөттөрдү караңыз). Аларды көбүнчө USB AC жана 12v авто адаптерлеринин жанындагы урналарда арзан табууга болот; көпчүлүк дүкөндөрдө электроника бөлүмү бар.

4 -кадам: Тышкы компоненттер менен кошумча эксперименттер

Тышкы компоненттер менен кошумча эксперименттер
Тышкы компоненттер менен кошумча эксперименттер

Көңүл буруңуз: эгерде сиз чыныгы баскычты тиркеп койсоңуз, анда коддо айтылгандай, комментарийлениши керек болгон коддун бир сабы бар.

Катуу сүйлөткүч менен, бир тарап жерге, эгер сиз D4кө башка коргошун тийгизсеңиз, сиз 250 Гц чарчы толкундун үнүн угасыз. D3те 500 Гц квадрат толкуну бар. Динамикти D3 менен D4тун ортосуна туташтырсаңыз, эки сигналдын курамын угасыз.

Динамиктин ордуна LEDди илип коюу абдан кызыктуу. Бул үчүн чыңалуу, токтун деңгээли, каршылаштар же полярдуулук жөнүндө тынчсыздануунун кажети жок (эң жаманы, ал күйбөйт, андан кийин аны буруп коюңуз). Биринчиден, терс (катод) коргошун жерге, экинчисин D3 же D4ке туташтырып көрүңүз. Жарык диод төрт бурчтуу толкундарга байланыштуу "жарым" күйөт. Мындан ары эч кандай каршылаштын кереги жок, анткени MicroControllerUnitsтин чыгышы чектелген. Мен учурдагы өлчөөлөрдү кылдым, натыйжада Attiny85 жана Atmega328 MCUs үчүн 15ma жана 20ma алынды. Бул деңгээлдер бул бөлүктөрдүн 50% милдети циклинин мүнөзүнүн айынан болжол менен жарымын түзөт. Эсептегичтин көрсөткүчтөрү чындыгында сыналган чынжыр аркылуу өткөн токтун орточо көрсөткүчү.

Кызыктуусу, эгерде сиз D3 & D4 менен LEDди бириктирсеңиз (жогорудагы сүрөттү жана сол жагын караңыз), ал эки тарапка тең жарыкка жакын болот, жана анын бир тарабы жерге туташтырылган. Мен эмне үчүн ойлонууга чакырам.

Сунушталууда: