Satura rādītājs:

Kreka koda spēle, uz Arduino balstīta mīklu kaste: 4 soļi (ar attēliem)
Kreka koda spēle, uz Arduino balstīta mīklu kaste: 4 soļi (ar attēliem)

Video: Kreka koda spēle, uz Arduino balstīta mīklu kaste: 4 soļi (ar attēliem)

Video: Kreka koda spēle, uz Arduino balstīta mīklu kaste: 4 soļi (ar attēliem)
Video: CS50 2013 - Week 9 2024, Jūlijs
Anonim
Image
Image
Kreka koda spēle, uz Arduino balstīta mīklu kaste
Kreka koda spēle, uz Arduino balstīta mīklu kaste
Kreka koda spēle, uz Arduino balstīta mīklu kaste
Kreka koda spēle, uz Arduino balstīta mīklu kaste

Tinkercad projekti »

Šajā pamācībā es jums parādīšu, kā izveidot savu kreka koda spēli, kurā jūs izmantojat rotējošu kodētāja ciparnīcu, lai uzminētu nejauši ģenerēto kodu uz seifu. Seifa priekšpusē ir 8 gaismas diodes, kas norāda, cik ciparu, pēc jūsu domām, ir pareizi un cik - pareizajā vietā.

Seifs sākotnēji ir atvērts, ļaujot kaut ko ievietot iekšējā nodalījumā. Arduino un akumulators ir ievietoti atsevišķā nodalījumā aizmugurē. Pēc tam nospiediet ciparnīcu, lai bloķētu seifu, ko veic, izmantojot servo durvju iekšpusē. Pēc tam kods jāievada, pagriežot pogu, lai izvēlētos ciparus, un nospiežot pogu, lai apstiprinātu katru ciparu. Kad esat izvēlējies ceturto ciparu, seifs parāda, cik no jūsu cipariem ir pareizi un cik no tiem ir pareizajā vietā, izmantojot sarkanās un zaļās gaismas diodes uz durvīm.

Sarkana gaismas diode norāda pareizo ciparu un zaļā gaismas diode norāda, ka tā ir arī pareizajā vietā. Tātad jums ir jāiedegas visas četras sarkanās un zaļās gaismas diodes, lai uzlauztu kodu un atvērtu seifu.

Seifs izseko, cik minējumus esat izdarījis, lai uzlauztu kodu, un tas tiek parādīts, tiklīdz jums ir izdevies to uzlauzt. Sākumā tas var likties sarežģīti, bet patiesībā tas nav tik grūti, jums vienkārši jāatceras un jābalstās uz iepriekšējiem minējumiem. Lielāko daļu laika jums vajadzētu būt iespējai uzlauzt kodu no 5 līdz 10 minējumiem, atkarībā no tā, cik laimīgi ir jūsu sākotnējie minējumi.

Ja jums patīk šī pamācība, lūdzu, apsveriet iespēju balsot par to Arduino konkursā.

Piegādes

Lai izveidotu šo Crack The Code seifu, jums būs nepieciešams:

  • Arduino Uno - pērciet šeit
  • I2C OLED displejs - pērciet šeit
  • Spiedpogas kodētājs - pērc šeit
  • 4 x 5 mm sarkanas gaismas diodes - pērciet šeit
  • 4 x 5 mm zaļas gaismas diodes - pērciet šeit
  • 8 x 220Ω rezistori - pērciet šeit
  • Micro Servo - pērciet šeit
  • Lentes kabelis - pērciet šeit
  • Galvenes sloksnes - pērciet šeit
  • Barošanas slēdzis - pērciet šeit
  • 3 mm MDF loksne - pērciet šeit

Jums būs nepieciešami arī daži pamata instrumenti, koka līme, līmes pistole un lodāmurs.

Seifa detaļas ir jāapgriež ar lāzeru. Ja jums nav piekļuves lāzera griezējam, apsveriet iespēju izmantot tiešsaistes lāzera griešanas pakalpojumu, jo tie ir kļuvuši par pieņemamu cenu un sagriezīs un piegādās detaļas līdz jūsu durvīm.

Šis ir lāzera griezējs, ko esmu izmantojis Instructable - K40 lāzera griezējā

1. darbība: salieciet kastīti

Salieciet kastīti
Salieciet kastīti
Salieciet kastīti
Salieciet kastīti
Salieciet kastīti
Salieciet kastīti
Salieciet kastīti
Salieciet kastīti

Es izveidoju seifu Inkscape, kas jāizgriež no 3 mm MDF. Ja vēlaties, varat arī sagriezt detaļas no 3 mm akrila vai saplākšņa. Ja izmantojat cita biezuma materiālu, jums ir jāpielāgo kastes sastāvdaļu spraugas tā, lai tās pareizi saderētu.

Lāzera griešanas failus varat lejupielādēt šeit.

Ir 6 paneļi, kas veido kastes ārpusi, aizmugurē un priekšpusē ir izgriezumi priekšējām un aizmugurējām durvīm. Paneļi ir marķēti drukas failā, lai jūs varētu tiem sekot.

Ciparu veido arī, izmantojot dažus lāzergrieztus gabalus, kas pēc tam tiek salīmēti kopā.

Ir trīs dekoratīvi paneļi, kas ir pielīmēti kastes augšpusē un divās pusēs, lai tā izskatītos vairāk kā seifs. Ir arī divi paneļi, kas veido durvis, un sadales panelis, kas atrodas kastes vidū, lai atdalītu seifa nodalījumu no elektronikas nodalījuma.

Gabali ietilpst vienā 400 x 500 mm MDF gabalā, un tos var sadalīt mazākos gabalos, ja jūsu lāzera griezējs nav pietiekami liels, lai uzreiz sagrieztu visus gabalus.

Vispirms sāku pielīmēt dekoratīvos paneļus augšpusē un sānos. Pārliecinieties, ka gabali ir sakārtoti pareizā secībā, lai jūs zināt, kuri ir. Ir trīs dažādi gabali, augšdaļa un apakšdaļa ir vienādi, malas ir vienādas, un priekšpuse un aizmugure ir vienādas.

Kad paneļi ir sausi, varat salikt kastīti.

Pārliecinieties, ka centra dalītāja izgriezumi atrodas sānos. Tie ir vadi no vadiem no kastes priekšpuses līdz kastes aizmugurei, kur atrodas Arduino un akumulators.

Eņģes ir arī grieztas ar lāzeru, un tās ir vienkārši pielīmētas vietā, kad esat ierindojis durvis. Pārliecinieties, vai tie ir paralēli durvīm, pretējā gadījumā jums būs grūtības tos atvērt. Jums var būt nepieciešams arī nedaudz noslīpēt no durvju šarnīra iekšējās malas, lai tā, berzoties garām, neberzētu kastes malu.

Līmējiet četrus kvadrātus stūros aiz aizmugurējā paneļa, lai izurbtu aizmugurējā vāka skrūves.

Pēc tam jūs varat urbt caurumus skrūvēm un sākt montēt ekrānu, Arduino, aizmugurējo vāku un, visbeidzot, kodētāju.

2. darbība: pievienojiet elektroniku

Pievienojiet elektroniku
Pievienojiet elektroniku
Pievienojiet elektroniku
Pievienojiet elektroniku
Pievienojiet elektroniku
Pievienojiet elektroniku

Es izveidoju ķēdi uz maizes dēļa Tinkercad Circuits un pēc tam pievienoju OLED displejā.

Mums ir 8 gaismas diodes, kas savienotas ar digitālajām IO tapām no 6 līdz 13. Bloķēšanas servo ir savienots ar tapu 5. Kodētājs ir pievienots 2., 3. un 4. tapai, un OLED displejs ir savienots ar Arduino I2C saskarni.

Katrai gaismas diodei es izmantoju 220 omu rezistoru, kas pielodēts tieši uz negatīvās gaismas diodes, un es savienoju komponentus kopā, izmantojot krāsainu lentes kabeli, lai elektroinstalācija būtu tīra un palīdzētu izsekot, kurš vads nepieciešams, lai nokļūtu katrā Arduino tapā.

Es piespiedu lentes kabeļus līdz aizmugurējam nodalījumam, un lodēju dažas tapas galvenes sloksnes uz lentes kabeļa, lai pievienotu Arduino.

Es arī uzstādīju barošanas slēdzi uz aizmugurējā vāka un pievienoju to akumulatora kontaktdakšai, lai izveidotu savienojumu ar uzlādējamu akumulatoru, lai darbinātu spēli. Ja vēlaties, varat izmantot arī 9 V akumulatoru.

Visbeidzot, bloķēšanas servo ir jānovieto pret durvju malu tā, lai tas iet pāri kastes lūpai un roka varētu piespiesties pret lūpas iekšpusi, lai bloķētu kārbu. Šis nav spēcīgākais bloķēšanas mehānisms, taču tas ir patiešām vienkāršs un labi darbojas spēles mērķim.

3. solis: Arduino programmēšana

Arduino programmēšana
Arduino programmēšana
Arduino programmēšana
Arduino programmēšana

Es neizpētīšu kodu tik detalizēti kā parasti, jo tajā ir diezgan daudz. Esmu veicis detalizētu pierakstu, izskaidrojot katru tā daļu, ko varat atrast kopā ar koda lejupielādi, izmantojot šo saiti - Crack The Code Game Code.

Kopsavilkumā; mēs vispirms importējam bibliotēkas, lai kontrolētu OLED displeju un servo.

Pēc tam mēs iestatām displeja parametrus un izveidojam visus mūsu mainīgos. Kodētāja pagriezienu izsekošanai ir diezgan daudz mainīgo, jo tie tiek veikti, izmantojot 2. un 3. tapas augšupejošās malas pārtraukumus.

Ir izveidoti divi kodu masīvi, lai saglabātu nejauši ģenerētu kodu, un viens, lai saglabātu lietotāju pašreizējo minējumu.

Iestatīšanas funkcijā mēs sākam displeju, pievienojam servo, iestatām IO tapas režīmus un pēc tam displejā parādām teksta Crack The Code animāciju.

Cilpas funkcijas mirgo gaismas diodēs un parāda ziņojumu push push to lock, kas gaida, līdz lietotājs nospiež disku, lai sāktu spēli. Tas pats kods tiek palaists spēles beigās, kas pēc tam parāda mēģinājumu skaitu un gaida, kad tiek nospiesta numura sastādīšanas poga, lai sāktu jaunu spēli.

Kodētāja spiedpogā ir kāds atslēgšanas kods, un, kad tas ir nospiests, servo bloķē seifu un tiek ģenerēts nejaušs kods. Pēc tam kods izsauc funkciju, lai prasītu lietotājam ievadīt savu minējumu, un pēc tam citu, lai pārbaudītu minējumu, tas tiek atkārtots, līdz lietotājs pareizi uzmin kodu.

Ir funkcija parādītā koda atjaunināšanai, kas tiek izsaukta katru reizi, kad kodētājs tiek pagriezts, un parādītais kods ir jāmaina.

Funkcija jauna koda ģenerēšanai vienkārši piešķir nejaušu ciparu katram no četriem kodu masīva elementiem.

Funkcija koda minējuma ievadīšanai ļauj lietotājam, izmantojot kodētāju, izvēlēties ciparu un pēc tam apstiprināt katru ievadīto ciparu, nospiežot kodētāju uz leju.

Pārbaudes koda uzminēšanas funkcija pēc tam izskata uzminēto kodu un izlemj, cik ciparu ir pareizi un cik - pareizajā vietā.

Atjaunināšanas gaismas diodes funkcija pārslēdz pareizo sarkano un zaļo gaismas diožu skaitu, pamatojoties uz lietotāju minējumiem.

Startēšanas ani funkcija palaišanas laikā parāda Crack The Code animāciju.

Visbeidzot, divas pārtraukšanas funkcijas pārvalda ievadi no kodētāja, viena palielina ciparu uz augšu, pagriežot pulksteņrādītāja virzienā, un viena uz leju, pagriežot pretēji pulksteņrādītāja virzienam.

4. solis. Spēlējiet kreka koda spēli

Spēlē Crack Code spēli
Spēlē Crack Code spēli
Spēlē Crack Code spēli
Spēlē Crack Code spēli
Spēlē Crack Code spēli
Spēlē Crack Code spēli
Spēlē Crack Code spēli
Spēlē Crack Code spēli

Labākais veids, kā iemācīties spēlēt spēli, ir sākumā noskatīties video, un ir divi spēles piemēri, kas tiek izspēlēti beigās.

Seifs sākotnēji ir atbloķēts, ļaujot tajā ievietot kaut ko.

Pēc tam nospiediet pogu, lai bloķētu seifu un ģenerētu jaunu kodu.

Uzminētais kods tiek ievadīts, izmantojot ciparripu, lai palielinātu ciparu, un nospiediet pogu, lai pārietu uz nākamo ciparu vai apstiprinātu kodu, kad ir atlasīti visi četri cipari.

Pēc tam iedegas priekšpusē esošās gaismas diodes, lai pastāstītu mums, kas bija pareizs.

Pēc tam jūs izmantojat šīs atsauksmes, lai izdarītu nākamo minējumu, līdz varēsit uzminēt pareizo kodu un atkal atvērt seifu. Kad esat ievadījis pareizo kodu, tiek parādīts seifs un koda uzlaušanas mēģinājumu skaits.

Izbaudiet sava koda seifa izveidi. Ja jums patika šī pamācība, lūdzu, apsveriet iespēju balsot par to Arduino konkursā.

Arduino konkurss 2020
Arduino konkurss 2020
Arduino konkurss 2020
Arduino konkurss 2020

Otrā balva Arduino konkursā 2020

Ieteicams: