Orodha ya maudhui:

Mtihani Bare Arduino, Pamoja na Programu ya Mchezo Kutumia Uingizaji Uwezo & LED: Hatua 4
Mtihani Bare Arduino, Pamoja na Programu ya Mchezo Kutumia Uingizaji Uwezo & LED: Hatua 4

Video: Mtihani Bare Arduino, Pamoja na Programu ya Mchezo Kutumia Uingizaji Uwezo & LED: Hatua 4

Video: Mtihani Bare Arduino, Pamoja na Programu ya Mchezo Kutumia Uingizaji Uwezo & LED: Hatua 4
Video: Leap Motion SDK 2024, Julai
Anonim
Mtihani Bare Arduino, Pamoja na Programu ya Mchezo Kutumia Uingizaji Uwezo & LED
Mtihani Bare Arduino, Pamoja na Programu ya Mchezo Kutumia Uingizaji Uwezo & LED
Mtihani Bare Arduino, Pamoja na Programu ya Mchezo Kutumia Uingizaji Uwezo & LED
Mtihani Bare Arduino, Pamoja na Programu ya Mchezo Kutumia Uingizaji Uwezo & LED

Mchezo wa "Push-It" unaoingiliana ukitumia ubao wa Arduino ulio wazi, hakuna sehemu za nje au wiring inahitajika (hutumia uingizaji wa "kugusa" kwa nguvu). Imeonyeshwa hapo juu, inaonyesha inaendeshwa kwa bodi mbili tofauti.

Push-Ina madhumuni mawili.

  1. Kuonyesha haraka / kudhibitisha kwamba bodi yako ya Arduino inafanya kazi na kwamba umeweka vizuri kupakua mchoro mpya wa nambari kwake. Utaweza kuona kuwa inafanya pembejeo na pato (kiwango cha pembejeo cha dijiti, pato kwa bodi ya LED); kuhifadhi na kupata tena thamani kutoka kwa kumbukumbu ya EEPROM isiyoweza kubadilika. Zote bila kushikamana na waya au vifaa.
  2. Kutoa mchezo wa kuburudisha na changamoto unachangamana na bodi ya Arduino.

Hii inaweza kudhibitishwa kuwa tayari umeweka Arduino IDE na angalau unajua matumizi yake. Ikiwa sivyo nakupeleka kwenye viungo hivi:

Kuanza na Arduino

Kuongeza Digispark (na bootloader) msaada kwa Arduino 1.6.x IDE iliyopo

Push-Itafanya kazi na bodi nyingi za Arduino, k.m. bodi ya Nano, Uno, au DigiSpark Attiny85. Nimejaribu na Nano 3.1 na DigiSpark. Katika maandishi wakati ninataja pini majina / nambari zitatumika kama kwenye bodi ya Nano (tofauti na DigiSpark).

Hatua ya 1: Kuwa na Vitu Utakavyohitaji

Ambayo ni bodi yoyote ya Arduino au inayolinganishwa.

Ikiwa tayari hauna moja ninapendekeza kuanza na DigiSpark Pro (~ $ 12), au Nano 3.0 kutoka eBay kwa ~ $ 3 (lakini utakuwa na wiki moja au mbili za kuisubiri itoke China; na utahitaji kusanikisha dereva wa USB CH340). DigiSpark ~ $ 10 (isiyo ya Pro) inafaa sana kwa mchezo huu wa 'video' (Hii imevuliwa kitengo, ikiwa na 6 tu I / Os, ni ngumu sana kupakia)

Viunga vya vifaa vilivyotumika hapa:

Nano V3.0 Atmega328P kwenye eBay

Bodi ya Maendeleo ya USB ya Digispark

Hatua ya 2: Chukua na Pakua Msimbo

Leta na Upakue Nambari
Leta na Upakue Nambari

Nakili nambari hapa chini kwenye faili ya mchoro wa arduino (k.m.. / Push_It / Push_It.ino) Nimejaribu kutoa maoni vizuri. Natumai utapata nambari inayoeleweka kwa urahisi. Mantiki ya kuamua wakati wa kuongeza, kupungua na wakati sio ya kuwa ngumu sana, lakini sehemu hiyo pia ni kanuni maalum na sio ya manufaa ya jumla. Kwa maelezo zaidi juu ya kuanzisha "mchoro" mpya (mradi wa nambari) utumiwe na IDE ya Arduino tazama:

Kuunda Mchoro Mpya wa Arduino

Pakua mchoro wa 'Push_It' kwenye microcontoller yetu kwa maagizo ya Arduino IDE ya bodi yako.

Hatua ya 3: Kucheza

Inacheza
Inacheza

Lengo la mchezo ni kupata LED (kwenye bodi) kuangaza mara nyingi iwezekanavyo katika seti ya taa ambayo inarudia

Kucheza mchezo:

Bonyeza-Inaanza na flash moja, ambayo itarudia. Ukigusa kidole chako karibu na pini ya kuingiza wakati LED iko, mzunguko unaofuata utawasha LED mara mbili.

Kila wakati unapobonyeza kitufe cha uwongo wakati wa mwangaza wa kwanza wa seti ya mwangaza taa nyingine itaongezwa kwenye seti hiyo. Haijalishi kwa ujumla wakati unainua / uondoe kidole.

Lakini ikiwa 'unasukuma' kabla au baada ya mwangaza wa kwanza hesabu ya miangaza katika seti itapunguzwa.

Ikiwa haufanyi chochote zaidi, idadi ya miangaza katika seti inasimamiwa. Zaidi wakati hesabu inabadilika kwa mzunguko kamili nambari ya hesabu imehifadhiwa kwenye kumbukumbu ya EEPROM.

Kila wakati unasimamia kuongeza kuhesabu flash muda unaongeza kasi kidogo, na kuifanya iwe ngumu na ngumu kupata hesabu za juu. Unapofanya kuteleza na idadi ya mwangaza inapungua kutakuwa na pause ndefu kabla ya mwangaza wa kuanza kwa mzunguko unaofuata. Hii inatoa changamoto iliyoongezwa, kwani inaweza kuongeza uwezekano wa wewe kuruka bunduki. Kwa hivyo kaa macho.

Mara tu unapopata kitengo chako hadi hesabu kubwa unaweza kuipeleka (au kuipeleka, ambayo DigiSpark ni nzuri kwa) kwa rafiki, ambapo baada ya kuiingiza wataona jinsi hesabu ya flash umepata yako juu kwa. Nimeona ni kuacha changamoto kuipata hadi zaidi ya 8. Kwa kitufe halisi kilichoambatanishwa nimeweza kuipata hadi zaidi ya dazeni. Kurudi kwa hesabu ya chini unaweza kuisukuma-kurudia wakati wowote kabla au baada ya mwangaza wa kwanza. Pia ukiruka pini ya kuingiza ardhini wakati wa kuongeza hesabu itarejeshwa kuwa 1.

Kumbuka kuwa bodi ya asili ya DigiSpark ina ucheleweshaji wa sekunde 10 baada ya kuwasha kabla ambayo itaanza kutekeleza nambari ya 'Push-It' na kucheza mchezo. Inatumia wakati huu kujaribu kuzungumza kupitia pini za USB ili kupata sasisho mpya mpya ya msimbo wa kupakua.

Ikiwa bodi ya Arduino unayotumia ina USB TX LED juu yake, LED hii itakuwa na taa ndogo haraka wakati 'umesukuma kitufe' vyema. Kutakuwa na taa muhimu zaidi ya taa hii ya LED wakati thamani ya hesabu katika EEPROM itasasishwa na dhamana mpya. Maoni haya yanaweza kukusaidia sana kujua wakati au kuhakikisha kuwa umesababisha tukio la 'kitufe cha kusukuma'. Unaweza kuhitaji kuhakikisha kuwa haugusi eneo la mzunguko (kama chuma karibu na kontakt USB-ndogo) ili takwimu yako iweze kushawishi kelele kwenye pini ya kuingiza wazi. Kutakuwa na changamoto zingine ambazo hazitabiriki kwa sababu ya ukweli kwamba pini ya kuingiza inaelea (sio kuvutwa juu au chini na mzigo wa kutembeza / kupinga) na kelele ya ishara inayobadilika kupitia kidole chako.

Wimbi la mraba 250Hz hutolewa kwa pini karibu na pini ya kuingiza ambayo inaboresha sana uhakika wa ishara ya kuingiza sindano wakati kidole chako kinashughulikia pini zote mbili.

Nimepata jibu la bodi ya DigiSpark kuwa inayoweza kutabirika mara kwa mara kwa kubana vidole kwa kona ya bodi ambayo D3-D5 iko.

Ninapocheza 'Sukuma-Ni' napenda kufanya hivyo na bodi iliyounganishwa na kifurushi cha betri ya rununu ya USB 5v (tazama picha). Kwa ujumla hizi zinaweza kupatikana bila gharama kubwa kwenye mapipa karibu na zile za adapta za USB AC na 12v; katika idara nyingi huhifadhi idara ya umeme.

Hatua ya 4: Majaribio ya Hiari na Vipengele vya nje

Majaribio ya hiari na Vipengele vya nje
Majaribio ya hiari na Vipengele vya nje

Tafadhali kumbuka: Ikiwa unaambatisha kitufe halisi kuna laini moja ya nambari ambayo inahitaji kutolewa maoni, kama ilivyoonyeshwa kwenye nambari hiyo.

Ukiwa na spika, upande mmoja chini, ukigusa risasi nyingine kwenda D4 utasikia sauti ya wimbi la mraba 250 Hz. Katika D3 kuna wimbi la mraba 500Hz. Ukiunganisha spika kati ya D3 na D4 utasikia mchanganyiko wa ishara mbili.

Kuunganisha LED badala ya spika kama ilivyo hapo juu ni ya kufurahisha sana. Hakuna haja ya kuwa na wasiwasi juu ya voltage, viwango vya sasa, resisters, au hata polarity kwa jambo hilo (hali mbaya zaidi haionyeshi, basi ibadilishe tu). Jaribu, kwanza kabisa, na hasi (cathode) inaongoza kushikamana na ardhi na nyingine iwe D3 au D4. LED itakuwa 'nusu', kwa sababu ya mawimbi ya mraba. Zaidi ya hayo hakuna mpinzani anayehitajika kwani pato la MicroControllerUnits sasa ni mdogo. Nilifanya vipimo vya sasa kusababisha 15ma na 20ma kwa Attiny85 na Atmega328 MCUs mtawaliwa. Viwango hivi ni karibu nusu ya thamani ya hivi sasa ya sehemu hizi kwa sababu ya asili ya ushuru wa asilimia 50 ya ishara za mawimbi ya mraba ya kuendesha. Usomaji wa mita ni wastani wa sasa kupitia mzunguko uliojaribiwa.

Kwa kufurahisha, ikiwa unapiga daraja kati ya D3 & D4 na LED (angalia picha hapo juu na kushoto) itaangaza kwa njia yoyote, na karibu ½ mwangaza kama ilivyokuwa na upande mmoja uliounganishwa na ardhi. Nakualika ufikirie kwanini.

Ilipendekeza: