Talaan ng mga Nilalaman:

CheminElectrique (Mga Larong kasanayan) - SRO2002: 9 Mga Hakbang
CheminElectrique (Mga Larong kasanayan) - SRO2002: 9 Mga Hakbang

Video: CheminElectrique (Mga Larong kasanayan) - SRO2002: 9 Mga Hakbang

Video: CheminElectrique (Mga Larong kasanayan) - SRO2002: 9 Mga Hakbang
Video: (англ.) Аутизм. Детская психиатрия (вкл. русс. титры) © 2024, Hulyo
Anonim
CheminElectrique (Mga Larong kasanayan) - SRO2002
CheminElectrique (Mga Larong kasanayan) - SRO2002
CheminElectrique (Mga Larong kasanayan) - SRO2002
CheminElectrique (Mga Larong kasanayan) - SRO2002
CheminElectrique (Mga Larong kasanayan) - SRO2002
CheminElectrique (Mga Larong kasanayan) - SRO2002

Ipinakita ko sa iyo ngayon ang paggawa ng isang laro na ginawa ko para sa party sa pagtatapos ng paaralan para sa aking anak na lalaki. Sa France tinawag natin ang mga piyestang ito na "kermesses", hindi ko alam kung mayroon sila sa ibang mga bansa at kung ano ang tawag sa kanila…

Sa mga partido na ito ay madalas na magkapareho ang mga laro, iyon ang tatawagin kong mga klasikong laro, at sa taong ito nagpasya akong gumawa ng isang mas modernong bersyon ng isa sa mga klasikong larong ito: ang "Chemin electrique" o "Pangunahing chaude".

Ang layunin ng laro ay napaka-simple, mayroong isang wire kung saan ang isang kasalukuyang kuryente ay pumasa, pagkatapos ay mayroon kang isang "joystick" na binubuo ng isang bilog na metal sa dulo nito na dumadaan sa paligid ng electric wire at ang layunin ng laro ay upang daanan ang kawad mula sa isang dulo patungo sa kabilang dulo nang hindi hinawakan ito kung hindi man ay may ilaw ng babala at / o tunog na nawala at nawala ka.

Ayon sa kaugalian wala talagang anumang electronics upang likhain ang larong ito, isang simpleng 12V na baterya na may ilaw na bombilya at ilang kuryente ay sapat na ngunit mayroon akong ilang mga cool na ideya upang gawing mas moderno ang laro.

Kaya't tingnan natin kung ano ang idinagdag ko bilang pag-andar!

Hakbang 1: Mga Tampok

Tulad ng sinabi ko lamang na ang larong ito ay simpleng magbukas ng ilaw kapag hindi sinasadyang hinawakan ng manlalaro ang kawad gamit ang "joystick", madalas din itong nangyayari na ang laro ay gumagawa ng tunog habang nakikipag-ugnay. Sa aking bersyon ng laro magkakaroon ng kabuuang 6 na mga bloke ng 4 na LED (berde-dilaw-dilaw-pula) na sabay na susindihan, isang buzzer na makakapagdulot ng isang tunog at isang vibrator na isinama din sa controller na magpapagana kapag mayroong contact sa pagitan ng electric wire at ng "joystick".

Ang mga LED ay laliliit ng ilaw mula sa berde hanggang pula depende sa kung gaano katagal ang contact sa pagitan ng wire at ng controller.

Nagdagdag din ako ng isang pagpipilian ng antas ng kahirapan (madaling-normal-mahirap) pati na rin ang kakayahang paganahin / huwag paganahin ang pangpanginig at tunog. Ang dami ng tunog ay maaayos din sa isang potensyomiter.

Ang pagpili ng kahirapan ay sa katunayan lamang ng isang higit pa o mas matagal na pagkaantala sa pagitan ng sandali kapag mayroong isang contact sa pagitan ng kawad at ng joystick at ng sandali kapag ang laro ay nagsisimulang mag-ilaw / mag-ring / mag-vibrate. Itinakda ko ang mga paunang natukoy na oras sa pamamagitan ng pagprograma, halimbawa sa madaling mode ang laro ay naghihintay ng 1 segundo bago mag-trigger ng mga babala, habang sa mahirap na mode ang mga babala ay agad na ma-trigger.

Dinisenyo ko ang laro upang madali itong matanggal, maaasahan at higit sa lahat na hindi ito nagpapakita ng anumang panganib para sa mga batang gagamitin ito. Sa katunayan dahil ang wire ng kuryente ay tinawid ng isang kasalukuyang at na ito ay nahubaran kailangan kong tiyakin na hindi ito nagpapakita ng anumang panganib para sa mga gumagamit ng laro.

Hakbang 2: Pagwawaksi at Karagdagang Mga Impormasyon

Pagwawaksi at Karagdagang Impormasyon
Pagwawaksi at Karagdagang Impormasyon

Pagwawaksi:

Ang laro ay papatakbo ng 4 na baterya ng 1.5V, isang kabuuang boltahe na 6V, nililimitahan ko rin ang kasalukuyang tumatawid sa kawad sa ilang microampere lamang. Samakatuwid nasa larangan kami ng napakababang kaligtasan ng boltahe (SELV) na may isang napakababang kasalukuyang halaga na maa-access sa gumagamit.

Ngunit ang pansin ay tinukoy kong mabuti na walang halaga ng kasalukuyang kuryente ay hindi nakakapinsala, ang isang mahinang kasalukuyang maaari sa ilang mga kaso ay mapanganib para sa taong nakuryente. Gumawa ako ng maraming pagsasaliksik dito habang nilikha ang proyektong ito, at kahit na walang pagsang-ayon sa pang-agham sa halaga ng limitasyon bago ang kasalukuyang walang epekto sa katawan ng tao ang kasalukuyang ng ilang microampere na tumatawid sa de-koryenteng cable ay may napakakaunting pagkakataon na saktan ang isang tao.

Ngunit ang pansin ay hindi ko magagawang managot sa sakaling magkaroon ng aksidente! Dapat palaging mag-ingat kapag naghawak ng mga live na conductor ng kuryente, kahit sa napakababang kasalukuyang halaga. Masidhi kong pinapayuhan na ipagbigay-alam sa iyong sarili hangga't maaari tungkol sa mga panganib ng kuryente at ang magagandang pag-iingat na gagawin

Mga karagdagang impormasyon:

Ang proyektong ito ay gumagana nang mahusay at mayroong lahat ng mga tampok na gusto ko ngunit mayroon itong ilang mga pagkukulang. Kapag lumikha ako ng isang elektronikong proyekto sinubukan ko na ang lahat ay na-optimize hangga't maaari sa mga tuntunin ng gastos, bilang ng mga bahagi, puwang, at lalo na ang pagpapatakbo ng kabuuan ay bilang "lohikal" hangga't maaari.

Habang ginagawa ko ang proyektong ito at pagkatapos matapos ito sa palagay ko mayroong ilang mga pagpipilian na ginawa ko na hindi pinakamahusay ngunit pinindot ako ng oras, mayroon lamang akong 2 linggo upang gawin ang lahat mula sa simula (disenyo, programa, pag-order ng mga sangkap, paglikha ng istraktura, at lalo na ang pag-iipon ng lahat ng mga elemento).

Ipapahiwatig ko sa pagdaan ko sa mga hakbang sa pagmamanupaktura kung ano sa tingin ko ang maaaring ma-optimize kung kailangan kong likhain muli ang larong ito. Ngunit inuulit ko ang proyekto ay lubos na gumagana tulad nito, ngunit ako ay perpektoista …

Pinagsisisihan ko rin ang hindi pagkuha ng maraming larawan ng iba't ibang mga yugto ng proyekto, ngunit ginusto kong italaga ang aking sarili hangga't maaari sa proyekto upang maatapos ito sa oras.

Masaya ako sa proyektong ito dahil ito ay isang mahusay na tagumpay sa pagdiriwang ng aking anak na lalaki, kaya't tingnan natin kung ano ang nasa tiyan ng hayop;)

Hakbang 3: Mga Obligasyon

- Dapat na pinapatakbo ng baterya (para sa kaligtasan at kadaliang kumilos) - Ang laro ay dapat na ligtas (gagamitin ito ng mga bata mula 2 hanggang 10 taong gulang)

- Ang mga setting ay dapat na magagamit (pagpili ng tunog / vibrator activation, at pagpili ng kahirapan)

- Ang mga setting ay dapat na simple upang maunawaan at madaling ma-access (dapat ipalagay na ang taong mag-aalaga ng laro sa panahon ng pagdiriwang ay walang alam sa electronics / teknikal)

- Ang tunog ay dapat na sapat na malakas (ang laro ay gagamitin sa labas sa isang medyo maingay na kapaligiran).

- Ang sistema ay dapat na maalis sa maximum para sa pag-iimbak at madaling mapapalitan mga pisikal na bahagi (joystick, electric wire …)

- Dapat maging kaakit-akit sa mga bata (iyon ang pangunahing layunin na nilalaro nila para sa …:))

Hakbang 4: Mga Bahagi (BOM)

Para sa kaso: - tabla ng kahoy

- pagpipinta

- ilang mga tool upang mag-drill at i-cut ….

Para sa "joystick": - 1 vibrator

- cable jack 3.5 (stereo)

- jack konektor 3.5 (stereo)

- electric wire 2.5mm²

- isang maliit na tubo ng PVC

Mga elektronikong sangkap:

- 16F628A

- 12F675

- ULN2003A

- 2 x 2N2222A

- Zener diode 2.7V

- 12 asul na LED

- 6 berdeng LED

- 6 pulang LED

- 12 dilaw na LED

- 5 resistors 10K

- 2 resistors 4.7K

- 1 risistor 470 ohm

- 6 na resistors 2.2K

- 6 na resistors 510 ohm

- 18 resistors 180 ohm

- 1 potentiometer 1K

- 1 ON-OFF switch

- 2 ON-OFF-ON switch

- 1 buzzer

- 1 DC boost converter

- electric wire 2.5mm²

- 2 banana connectors lalaki

- 2 banana connectors babae

- jack konektor 3.5 (stereo)

- may hawak para sa 4 na baterya ng LR6

- ilang mga PCB prototyping board

Mga Kagamitan sa Elektronik: - Isang programmer na mag-iiksyon ng code sa isang Microchip 16F628A at 12F675 (hal. PICkit 2) -

Pinapayuhan ko kayo na gamitin ang Microchip MPLAB IDE (freeware) kung nais mong baguhin ang code ngunit kakailanganin mo rin ang CCS Compiler (shareware). Maaari mo ring gamitin ang isa pang tagatala ngunit kakailanganin mo ng maraming mga pagbabago sa programa.

Ngunit bibigyan kita. HEX file upang maaari mong mai-iniksyon ang mga ito nang direkta sa mga microcontroller.

Hakbang 5: Pagsusuri sa Pag-andar

Pagtatasa ng Pag-andar
Pagtatasa ng Pag-andar
Pagtatasa ng Pag-andar
Pagtatasa ng Pag-andar

Microcontroller 16F628A (Func1): Ito ang "utak" ng buong system, ito ang sangkap na ito na nakikita ang posisyon ng mga setting ng switch, na nakakakita kung mayroong contact sa pagitan ng "joystick" at ng electric wire, at kung saan nagpapalitaw ng mga babala (ilaw, tunog at pangpanginig). Pinili ko ang sangkap na ito dahil mayroon akong isang medyo malaking stock at dahil sanay ako sa pag-program dito, at dahil wala akong masyadong oras upang gawin ang proyektong ito mas gusto kong kumuha ng ilang materyal na alam kong mabuti.

Power interface ULN2003A (Func2): Ang sangkap na ito ay nagsisilbing isang interface ng kuryente sa pagitan ng 16F628A at ng mga circuit na gumugugol ng mas maraming enerhiya kaysa sa maibibigay ng microcontroller (LED, buzzer, vibrator).

Kontrol ng buzzer (Func3):

Ang PIC 16F628A ay hindi maaaring magbigay ng sapat na kasalukuyang upang mapagana ang buzzer, lalo na dahil ang buzzer ay dapat na pinalakas sa pamamagitan ng isang boost converter upang madagdagan ang lakas ng tunog nito.

Sa katunayan dahil ang pagpupulong ay ibinibigay sa 6V at ang buzzer ay nangangailangan ng 12V upang gumana sa maximum na ginagamit ko ang isang converter upang makuha ang mahusay na boltahe. Kaya gumagamit ako ng isang transistor bilang isang switch (commutation mode) upang makontrol ang buzzer power supply. Ang sangkap na pinili ko ay isang klasikong 2N2222A na angkop sa paggamit na ito.

Narito ang mga tampok na buzzer: 12V 25mA, nangangahulugan ito na kailangan nito ng isang teoretikal na lakas na P = UI = 12 x 25mA = 0.3W

Kaya mayroong isang kinakailangang lakas na 0.3W mula sa DC boost converter, ang DC boost module ay may kahusayan ng 95% kaya mayroong humigit-kumulang 5% na pagkawala. Samakatuwid, isang minimum na lakas na 0.3W + 5% = 0.315W ang kinakailangan sa input ng converter.

Maaari na nating mabawasan ang kasalukuyang Ic na tatawid sa transistor Q1:

P = U * Ic

Ic = P / U

Ic = P / Vcc-Vcesat

Ic = 0, 315 / 6-0, 3

Ic = 52mA

Kinakalkula namin ngayon ang base risistor na pinapayagan ang transistor na maging puspos ng puspos:

Ibsatmin = Ic / Betamin

Ibsatmin = 52mA / 100

Ibsatmin = 0.5mA

Ibsat = K x Ibsatmin (pumili ako ng isang sur-saturation coefficient K = 2)

Ibsat = 2 x Ibsatmin

Ibsat = 1mA

R12 = Ur12 / Ibsat

R12 = Vcc - Vbe

R12 = (6 - 0.6) / 1mA

R12 = 5.4K

Normalized na halaga (E12) para sa R12 = 4.7K

Pagkontrol ng Vibrator (Func4):

Tulad ng para sa buzzer, ang 16F628A ay hindi maaaring magbigay ng sapat na kasalukuyang sa vibrator na nangangailangan ng isang kasalukuyang 70mA, bukod dito dapat itong ibigay sa maximum na may boltahe ng 3V. Kaya pinili kong gumamit ng isang zener diode na isinama sa isang transistor upang makagawa ng isang 2.7V voltage regulator para sa vibrator. Ang pagpapatakbo ng asosasyon ng zener-transistor ay simple, inaayos ng zener ang 2.7V boltahe sa base ng transistor at "kinopya" ng transistor ang boltahe na ito at nagbibigay ng lakas.

Ang kasalukuyang kung saan ay tumawid sa transistor Q2 ay sa gayon katumbas ng Ic = 70mA

Kinakalkula namin ngayon ang base resistensya na pinapayagan ang transistor na maging puspos ng mabuti:

Ibsatmin = Ic / Betamin

Ibsatmin = 70mA / 100

Ibsatmin = 0, 7mA

Ibsat = K x Ibsatmin (pumili ako ng isang sur-saturation coefficient K = 2) Ibsat = 2 x Ibsatmin

Ibsat = 1, 4mA

Ang minimum na kasalukuyang sa zener diode ay dapat na hindi bababa sa Iz = 1mA para sa pagpapatakbo nito, kaya maaari nating mabawasan ang kasalukuyang dumadaan sa risistor R13:

Ir13 = Ibsat + Iz

Ir13 = 1, 4mA + 1mA

Ir13 = 2, 4mA

Upang matiyak na ang kasalukuyang ng zener diode Iz ay palaging nasa tamang saklaw ng operating, ang isang margin ng kaligtasan ay kinukuha ng isang: Ir13_fixed = 5mA (ganap na di-makatwirang pagpili ng halaga)

Kalkulahin natin ngayon ang halaga ng R13:

R13 = U13 / Ir13_fixed

R13 = VCC-Vz / Ir13_fixed

R13 = 6-2, 7 / 5mA

R13 = 660 ohm

Normalized na halaga (E12) para sa R13 = 470 ohm

Napili ko sana ang 560 ohm sa seryeng E12 ngunit wala akong halagang ito kaya kinuha ko ang dating halaga…

Maaaring ma-optimize

Kapag ginawa ko ang disenyo ng proyekto ay hindi ko naisip ang tungkol sa Vbe ng transistor kaya sa halip na magkaroon ng 2.7V upang mapagana ang vibrator mayroon lamang akong 2.7V-0.6V = 2.1V. Dapat ay kumuha ako ng isang 3.3V zener halimbawa, ang vibrator ay medyo naging mas malakas kahit na ang resulta ay lubos na kasiya-siya, hindi ko sinamantala ang lahat ng lakas ng vibrator …

Mga Babalang LED (Func5):

Ang mga LED ay nakaposisyon nang patayo na para bang nabuo ang isang gauge: Pula

Dilaw2

Dilaw1

Berde

Kapag may napansin na contact sa pagitan ng "joystick" at ng wire na de kuryente, unti-unti silang nasisindi mula berde hanggang pula.

Ang mga LED ay konektado sa VCC sa mga pangkat ayon sa kanilang kulay:

- Lahat ng anode ng berdeng LEDs ay magkakaugnay na konektado

- Lahat ng anode ng mga dilaw na1 LEDs ay konektado magkasama

- Ang lahat ng anode ng mga dilaw na LED ay konektado magkasama

- Lahat ng anode ng mga pulang LED ay magkakaugnay na konektado

Pagkatapos ay i-activate ng microcontroller ang mga ito sa pamamagitan ng saligan ng kanilang katod sa pamamagitan ng ULN2003A.

Tandaan:

Sa eskematiko mayroon lamang isang LED ng bawat kulay na may simbolong "X6" sa tabi nito dahil gumagamit ako ng isang libreng bersyon ng Cadence Capture at nalilimitahan ako ng isang maximum na bilang ng mga bahagi bawat diagram upang hindi ko maipakita ang lahat ng LEDS …

Pamamahala sa antas ng tunog ng buzzer (Func6):

Ito ay simpleng potensyomiter sa serye gamit ang buzzer na ginagawang posible upang ayusin ang dami ng tunog.

Mga "LED" na LED (Func7 - Schematic / Pahina 2):

Ang layunin ng mga LED na ito ay upang lumikha ng isang paghabol para sa dekorasyon ng laro. Ang ilaw nila mula kaliwa hanggang kanan. Mayroong isang kabuuang 12 mga asul na LED: 6 sa simula ng kurso na kumakatawan sa linya ng pagsisimula at 6 sa dulo ng kurso na kumakatawan sa linya ng tapusin

Pinili kong gawin ang isang display multiplexing para sa mga LED na ito dahil kakailanganin ito ng maraming higit pang mga pin upang mag-order ng mga ito (6 pin na may mutliplexing, 12 pin nang walang multiplexing).

Bukod dito ipinahiwatig sa kanilang datasheet na ang Vf ay 4V samakatuwid ay hindi ko mailalagay ang 2 LEDs sa serye (VCC ay 6V), at hindi ko maaaring ilagay sa kahanay sapagkat sila ay TEORIQUELY na nangangailangan ng 20 mA at ang microcontroller ay maaaring magbigay ng 25 mA lamang max per pin, samakatuwid 40mA ay imposible.

Upang ibuod na hindi ako makakagawa ng isang samahan ng LED (ilagay sa serye o parallel) at wala akong sapat na pin sa microcontroller upang himukin pa rin sila … Kaya pinili kong gumamit ng isa pang microcontroller (12F675) ng 8 mga pin upang magawa upang himukin sila. Salamat sa microcontroller na ito kinokontrol ko ang pag-aktibo ng mga LED sa pamamagitan ng pagtatakda ng isang mataas na antas ng lohika (VCC) sa kanilang mga anode at ginagamit ko ang PIC 16F628A at ULN2003A upang maisagawa ang multiplexing.

Maaaring ma-optimize:

Napagtanto ko habang ginagawa ang mga pagsubok sa isang breadboard na para sa parehong kasalukuyang I = 20mA ang mga LED ay may malaking pagkakaiba sa liwanag ayon sa kanilang mga kulay. Halimbawa sa 20mA ang mga asul na LED ay mas maliwanag kaysa sa mga berde. Hindi ko nahanap na ito ay kaaya-aya na ang ilang mga LED ay mas maliwanag kaysa sa iba, kaya't iba-iba ang pagtutol sa serye ng mga asul na LED hanggang sa makuha ko ang parehong maliwanag na lakas tulad ng berdeng mga LED na pinapatakbo ng kasalukuyang 20mA.

At napagtanto ko na ang mga asul na LEDs ay may parehong ningning tulad ng mga berdeng LED na may kasalukuyang 1mA lamang! Na nangangahulugang kung alam ko iyon bago ko mapili na ilagay ang mga asul na LED sa serye (sa mga pangkat ng 2). At kailangan ko lamang ng 3 higit pang mga pin sa 16F675A (na magagamit), kaya't hindi ko na kailangang magdagdag ng isa pang microcontroller na nakatuon sa pamamahala ng mga LED na ito.

Ngunit sa oras na ito ng disenyo hindi ko alam ito, paminsan-minsan ay hindi napapabayaan ang pagkakaiba sa pagitan ng mga katangian ng mga teknikal na dokumentasyon at ng tunay na mga katangian ng mga bahagi …

Nililimitahan ang kasalukuyang (Func0):

Hindi ko pa planado ang bahaging ito sa oras ng disenyo idinagdag ko lamang ito sa pinakadulo ng proyekto, nang natapos na ang lahat. Sa simula ay konektado ko na lang ang VCC nang direkta sa electric wire na may simpleng pull-down risistor upang mailagay ang input ng microcontroller na nakita ang contact sa lupa.

Ngunit tulad ng sinabi ko bago ako gumawa ng maraming pagsasaliksik upang malaman kung ang kasalukuyang dumadaloy sa pamamagitan ng electric wire ay maaaring mapanganib kung magkaroon ito ng contact sa pagitan ng kawad at isang katawan ng tao.

Hindi ako nakakita ng isang tumpak na sagot sa paksang ito kaya't ginusto kong magdagdag ng paglaban sa pagitan ng VCC at ng wire na pang-kuryente upang mabawasan ang kasalukuyang tumatawid sa kawad hangga't maaari.

Kaya't nais kong maglagay ng isang mataas na halaga ng risistor upang mabawasan ang kasalukuyang sa pinakamababang posibleng halaga ngunit dahil natapos ko na ang proyekto at samakatuwid lahat ay hinangin at nag-wire ang iba't ibang mga kard hindi ko na natanggal ang pulldown risistor ng 10Kohm. Samakatuwid kailangan kong pumili ng isang halaga ng paglaban upang makakuha ng 2/3 ng VCC sa BR0 pin (pin 6 ng 16F628A) upang ang microcontroller ay makita kahit na ito ay isang mataas na antas ng lohika kapag may contact sa pagitan ng joystick at ng electric wire. Kung nagdagdag ako ng labis na paglaban ay magkakaroon ako ng peligro na ang microcontroller ay hindi napansin ang pagbabago sa pagitan ng mababang estado ng lohika at ng mataas na estado ng lohika.

Kaya pinili kong magdagdag ng paglaban ng 4.7K upang makakuha ng boltahe na halos 4V sa pin kapag mayroong contact sa pagitan ng joystick at ng wire na elektrisidad. Kung idaragdag nito ang paglaban ng balat ng tao kung sakaling makipag-ugnay sa wire ng kuryente gamit ang kamay halimbawa ang kasalukuyang dumadaloy sa katawan ay mas mababa sa 1mA.

At kahit na hawakan ng isang tao ang kawad ay makikipag-ugnay lamang siya sa positibong terminal ng mga baterya at hindi sa pagitan ng positibo at negatibong terminal ngunit tulad ng sinabi ko sa disclaimer Laging bigyang pansin ang iyong ginagawa sa kasalukuyang kuryente.

Tandaan: Nag-atubili ako ng mahabang panahon upang idagdag ang paglaban na ito dahil ang kasalukuyang kuryente na posibleng ma-access sa gumagamit (sa pamamagitan ng electric wire) ay mahina at ang pagpupulong ay ibinibigay ng baterya na may 6V lamang na boltahe at marahil ay mahigpit na hindi kinakailangan upang limitahan ang kasalukuyang mula sa mga baterya ngunit dahil para sa mga bata, ginusto kong gumawa ng maraming pag-iingat hangga't maaari.

Hakbang 6: Pamamaraan

Pamamaraan
Pamamaraan

Ang mga programa ay nakasulat sa wikang C na may MPLAB IDE at ang code ay naipon sa CCS C Compiler.

Ang code ay ganap na nagkomento at medyo simple upang maunawaan, ngunit mabilis kong ipaliwanag ang pangunahing mga pag-andar ng 2 code (para sa 16F628A at 12F675).

Ang unang programa -CheminElectrique.c- (16F628A):

Pamamahala ng LED multiplexing: Pag-andar: RTCC_isr ()

Ginagamit ko ang timer0 ng microcontroller upang maging sanhi ng isang overflow bawat 2ms na nagbibigay-daan upang pamahalaan ang multiplexing ng mga LED.

Pamamahala sa pagtuklas ng contact:

Pag-andar: walang bisa pangunahing ()

Ito ang pangunahing loop, nakita ng programa kung mayroong isang contact sa pagitan ng joystick at ng electric wire at pinapagana ang LEDs / buzzer / vibrator ayon sa oras ng contact.

Pamamahala sa setting ng kahirapan:

Pag-andar: mahabang GetSensitivityValue ()

Ang pagpapaandar na ito ay ginagamit upang suriin ang posisyon ng switch na nagbibigay-daan upang piliin ang kahirapan at ibalik ang isang variable na kumakatawan sa oras upang maghintay bago i-aktibo ang mga alarma.

Pamamahala ng setting ng alarm:

Pag-andar: int GetDeviceConfiguration ()

Ginagamit ang pagpapaandar na ito upang suriin ang posisyon ng switch na pipiliin ang buzzer at activator ng vibrator at ibabalik ang isang variable na kumakatawan sa mga alarma na dapat maging aktibo.

Ang pangalawang programa -LedStartFinishCard.c- (12F675):

Pamamahala ng pag-activate ng Blue LED: Pag-andar: void main ()

Ito ang pangunahing loop ng programa, pinapagana nito ang mga LED nang sunod-sunod mula kaliwa hanggang kanan (upang lumikha ng paghabol)

Tingnan sa ibaba ang isang zip file ng proyekto ng MPLAB:

Hakbang 7: Paghihinang at Pagpupulong

Paghihinang at Assembly
Paghihinang at Assembly
Paghihinang at Assembly
Paghihinang at Assembly
Paghihinang at Assembly
Paghihinang at Assembly
Paghihinang at Assembly
Paghihinang at Assembly

Bahaging "Physical": Nagsimula ako sa paglikha ng kahon, kaya't pinutol ko ang mga board na kahoy na halos 5mm ang kapal para sa itaas at mga gilid at pumili ng isang board na 2 cm ang kapal upang gawin ang ilalim na magkaroon ng mas maraming timbang at hindi gumagalaw ang laro.

Pinagsama ko ang mga board sa pagitan ng pagkakaroon ng kahoy na pandikit, hindi ako naglagay ng anumang mga turnilyo o mga kuko at talagang solid ito!

Upang gawing mas kaakit-akit ang laro kaysa sa isang simpleng pininturahan na kahon tinanong ko ang aking asawa na lumikha ng isang dekorasyon para sa tuktok ng kahon (dahil talagang sumuso ako sa graphic na disenyo…). Tinanong ko siya na gumawa ng isang paikot-ikot na kalsada (upang magkaroon ng isang kaugnayan sa kawad …) Sa mga lata / panel sa mga gilid ng mga kurba upang maisama ko ang aking mga babalang LED. Ang mga asul na LED ng mga dekorasyon ay magiging katulad ng mga linya ng pagsisimula at pagtatapos. Lumikha siya ng tanawin ng istilo na "Ruta 66", na may kalsada na tumatawid sa isang uri ng disyerto, at pagkatapos ng maraming impression upang makita ang magandang lokasyon ng mga LED mas masaya kami sa resulta!

Pagkatapos ay nag-drill ako ng mga butas para sa lahat ng mga konektor, switch at syempre ang mga LED.

Ang wire na elektrisidad ay pinaikot upang lumikha ng mga zig-zag upang madagdagan ang kahirapan ng laro, at ang bawat dulo ay na-screwed sa isang lalaking konektor ng saging. Ang mga konektor ay makakonekta sa mga babaeng konektor ng saging na nakakabit sa takip ng pabahay.

Elektronikong bahagi:

Nasira ko ang elektronikong bahagi sa maraming maliliit na card ng prototype.

Mayroong:

- isang kard para sa 16F628A

- isang kard para sa 12F675

- 6 na babalang LED card

- 4 na card para sa pandekorasyon na LED (linya ng pagsisimula at linya ng tapusin)

Inayos ko ang lahat ng mga kard na ito sa ilalim ng takip ng kahon, at inilagay ko ang may hawak ng baterya sa ibabang bahagi ng kahon gamit ang buzzer at ang DC boost module.

Ang lahat ng mga elektronikong elemento ay konektado sa pamamagitan ng pambalot na mga wire, pinagsama-sama ko ang mga ito hangga't maaari alinsunod sa kanilang direksyon at pinilipit ko sila at naayos ang mga ito ng mainit na pandikit upang sila ay "malinis" hangga't maaari at lalo na mayroong walang maling contact o wires na nag-disconnect. Talagang ginugol ako ng maraming oras upang tama ang paggupit / strippe / welding / posisyon ng mga wire!

Bahagi ng "Joystick":

Para sa joystick kumuha ako ng isang maliit na piraso ng PVC tube (1.5cm diameter at isang haba ng 25cm). At pagkatapos ay hinangin ko ang babaeng konektor na jack tulad nito:

- isang terminal na konektado sa kawad sa dulo ng joystick (ContactWire sa eskematiko)

- isang terminal na konektado sa positibong terminal ng vibrator (2A sa konektor ng J1A sa eskematiko)

- isang terminal na konektado sa negatibong terminal ng vibrator (1A sa konektor ng J1A sa eskematiko)

Pagkatapos ay isinama ko ang kawad, ang vibrator, at ang jack konektor sa loob ng tubo at naayos ang jack na may mainit na pandikit upang matiyak na walang gumagalaw kapag kumokonekta sa jack cable sa pagitan ng joystick at ng iba pang bahagi ng system.

Hakbang 8: Video

Hakbang 9: Konklusyon

Ngayon ang proyekto ay natapos na, talagang cool na gawin ang proyektong ito kahit na pinagsisisihan kong may napakakaunting oras upang magawa ito. Pinapayagan akong kumuha ng isang bagong hamon;) Inaasahan kong ang larong ito ay gagana para sa maraming mga taon at ito ay nakakaaliw sa maraming mga bata na ipagdiwang ang pagtatapos ng kanilang taon ng pag-aaral!

Nagbibigay ako ng isang file ng archive na naglalaman ng lahat ng mga ginamit kong dokumento / nilikha para sa proyekto.

Hindi ko alam kung magiging tama ang aking istilo sa pagsulat dahil bahagyang gumagamit ako ng isang awtomatikong tagasalin upang mas mabilis na lumipat at dahil hindi ako nagsasalita ng Ingles nang natural sa palagay ko ang ilang mga pangungusap ay maaaring maging kakaiba para sa mga taong ganap na nagsusulat ng Ingles.

Kung mayroon kang anumang mga katanungan o puna tungkol sa proyektong ito, mangyaring ipaalam sa akin!

Inirerekumendang: