Indholdsfortegnelse:

Rainbow Dice: 6 trin (med billeder)
Rainbow Dice: 6 trin (med billeder)

Video: Rainbow Dice: 6 trin (med billeder)

Video: Rainbow Dice: 6 trin (med billeder)
Video: Как самой вылечить недержание мочи? Эти упражнения поднимут органы на место! 2024, Juli
Anonim
Rainbow Terninger
Rainbow Terninger

Dette gør en terningespilskasse med 5 matricer bestående af smd -lysdioder i 5 farver. Softwaren, der driver den, giver mulighed for forskellige spiltilstande med flere terninger involveret.

En hovedkontakt tillader valg af spil og terningkast. Individuelle kontakter ved siden af hver dør tillader valg eller kontrol i henhold til spiltype.

Byggeriomkostninger er meget beskedne, men det kræver en hel del byggetid, et godt loddejern og en stabil hånd.

Elektronikken er baseret på et ESP8266-modul (ESP-12F), der kører en webserver, der giver nemme firmwareopdateringer og mulighed for spilovervågning / -udvidelse.

Boksen er batteridrevet med et genopladeligt batteri, og da det nuværende forbrug er ganske beskedent, vil det køre i mange timer på en opladning.

Trin 1: Dele og værktøjer

Dele og værktøjer
Dele og værktøjer
Dele og værktøjer
Dele og værktøjer
Dele og værktøjer
Dele og værktøjer

Komponenter

Følgende komponenter er nødvendige. De er alle tilgængelige på eBay

  1. ESP-12F ESP8266 wifi-behandlingsmodul. (£ 1,50)
  2. 18650 batteri og holder (£ 3,00)
  3. SMD -lysdioder x7 i rød, blå, grøn, gul, hvid (pakke med 20 af hver farve 0,99 kr.)
  4. Trykknap 6 mm kontakter x6 (0,12 kr.)
  5. Slide on/off switch mini 8x4mm (0,10 kr)
  6. LIPO USB batterioplader modul (0,20 £)
  7. n kanal MOSFETS - AO3400 x6 (£ 0,20)
  8. 3,3V lavt frafaldsregulator - XC6203E (£ 0,20)
  9. 220uF elektrolytisk (0,15 £)
  10. 220R modstand x5 (£ 0,05)
  11. 4K7 modstand x 6 (0,06)
  12. Prototype bord isolerede dobbelte sidehuller (£ 0,50)
  13. Fleksibel tilslutningstråd
  14. Emaljeret kobbertråd 32
  15. Header pins 40 pin strips x3 (0,30 kr)

Derudover er der brug for et kabinet. Jeg har designet en 3D -trykt boks til at rumme alt og lader lysdioderne skinne igennem. Dette er tilgængeligt på Thingiverse.

Værktøjer

  1. Fint punkt loddejern
  2. Fine pincet
  3. Trådskærere
  4. Junior hack sav
  5. Nålfiler er nyttige
  6. Harpikslim
  7. Adgang til 3D -printer, hvis boksen er inkluderet.

Trin 2: Kredsløbsbeskrivelse

Kredsløb Beskrivelse
Kredsløb Beskrivelse

Skematisk viser ESP-12F-modulet, der driver de 5 LED-arrays, der udgør terningerne.

Hver terning er lavet af 7 lysdioder arrangeret et 3 par (2 diagonaler og midterste) plus en enkelt central LED. Disse har brug for 4 GPIO -ben for at vælge de lysdioder, der skal vises. 220R modstande bruges til at bestemme strømmen og 2 bruges i serie til center -LED'en, så strømmen er den samme.

De 5 terninger multiplexeres med 5 GPIO -linjer, der driver MOSFET -switches. Kun en switch er aktiveret ad gangen. Softwaren tillader 1mSec pr. Dør, så den samlede opdateringsperiode er 200Hz, og der er ingen flimmer.

5 kontakter er knyttet til hver matrice. Da GPIO er begrænset, læses disse ved at bruge de samme linjer som bruges til at multiplexere matricen. Under multiplex -sekvensen indstilles disse kontrollinjer som indgange med pull -ups og aflæste switches tilstand. De returneres derefter til output for resten af multiplex -sekvensen.

En sjette switch til overordnet kontrol læses af GPIO16 -linjen. Dette kan kun have en pull down, så kontakten er kablet til 3,3V. Dette læser lavt, når kontakten er åben og høj, når den er lukket.

Trin 3: Konstruktion af DIe

Konstruktion af DIe
Konstruktion af DIe
Konstruktion af DIe
Konstruktion af DIe

Dette er den mest tidskrævende del af jobbet og har brug for pleje.

Hver matrice er konstrueret på et stykke med 6 huller x 6 huller i firkantet prototypebord. Det første trin er at skære 5 af disse ud af det ene bræt ved hjælp af en mini -hack. Prøv at efterlade så lidt grænse uden for hullerne som muligt.

Det næste trin er at tilføje 2 6 -benede hoveder ned på hver side og 2 sæt med 3 isolerede stifter ved siden af disse og derefter et yderligere par i midten. Det er det, der holder SMD -lysdioderne. Jeg finder det godt at fjerne de 2 ubrugte stifter fra hver af de udvendige kolonner. Den øverste side af brættet, hvor lysdioderne skal monteres, skal have hovedstifterne afskåret, så kun cirka 1 mm stikker ud. Prøv at holde dem alle på niveau. Dette gør det muligt for LED'erne at stikke ud over brættets overflade.

De 7 SMD -lysdioder er nu loddet oven på hvert stiftpar. Dette er den vanskeligste del af den samlede konstruktion, men tager ikke for lang tid efter lidt øvelse. Den teknik, jeg brugte, var at tin toppen af halvdelen af stifterne, så der allerede var noget loddetin. Hold derefter LED'en i en pincet, smelt loddet igen og kør LED'en ind i den. Du skal ikke bekymre dig for meget om kvaliteten af leddet på dette tidspunkt. Mere vigtigt er at få justeringen af LED'en så god som muligt, vandret og på tværs af stifterne. Når en LED er på plads, kan den loddes ordentligt i den anden ende på stiften og derefter den første led, hvis den kræves.

Diodernes polaritet skal være korrekt. Jeg arrangerer alle de udvendige headerstifter, der skal tilsluttes anoderne. Den centrale lysdiode I lavede samme retning som den venstre kolonne (set fra ansigtet og med den ekstra række i bunden. Dioderne har et svagt mærke på katoden, men det er også godt at tjekke med en måler. Dioderne vil lyser faktisk, når du bruger modstandsområdet (siger 2K) og den røde ledning på anode og sort på katode. De forbliver ubelyste den anden vej. Dette er også en god metode til at kontrollere farverne, hvis de blandes.

Når lysdioderne er monteret, kan resten af brættet fuldføres.

På tavlens underside.

  1. Træk alle katoderne sammen ved hjælp af en tynd enkeltstrenget tråd uisoleret.
  2. Lodde mosfet med afløbstap forbundet til katodestrengen
  3. Led mosfet -kilden over til sin header pin, som til sidst vil være 0V
  4. Led porten gennem en 4K7 -modstand til dens header -pin. Det er godt at rode dette gennem et andet lavere hul som vist, da det er her, kontakten vil forbinde.

På forsiden af tavlen kryds forbinder de 3 par anoder.

  1. Brug loddet emaljeret tråd for at holde profilen lav.
  2. Forblink den ene ende af hver ledning
  3. Lod det til en anode.
  4. Før den igennem og skær den i længden.
  5. Pre-tin og lod det på det scorresponderende anodepar.

På dette tidspunkt er det godt at foretage en indledende test af hver dør ved hjælp af multimeteret. Med den sorte ledning på de fælles katoder (Mosfet -afløb) kan den røde ledning flyttes til de 3 anodepar og den enkelte anode. De tilhørende lysdioder skal lyse.

Trin 4: Kassekonstruktion

Kasse Konstruktion
Kasse Konstruktion
Kasse Konstruktion
Kasse Konstruktion
Kasse Konstruktion
Kasse Konstruktion
Kasse Konstruktion
Kasse Konstruktion

Dette forudsætter, at den 3D -trykte boksversion bruges. Boksen har indrykninger til hver matrice og hver LED. Bundlaget under hver LED er meget tyndt (0,24 mm), så med hvid plast lader det lyset skinne meget godt igennem og fungerer som en diffusor. Der er udskæringer til alle kontakter og opladningspunkt. Batteriet har sit eget rum.

Monter først de 6 mini trykknapper og skydekontakten på plads. Sørg for, at de flugter med ydersiden. Trykknapkontakterne har to par kontakter forbundet parallelt. Orienter dem, så kontaktkontakterne støder op til deres matrice. Brug en hurtig indstilling harpiks til at låse på plads.

Monter nu batteriet og dets boks i den tilvejebragte plads. Det skal have en rimelig tæt pasform, men brug en smule lim, hvis det kræves.

Lim LIPO -opladeren på væggen, der er forsynet med mikro -USB, der er tilgængelig gennem dens hul.

Gennemfør den grundlæggende strømledning ved at sløjfe batteriets jord gennem alle trykknapkontakterne og LIPO B- forbindelsen og efterlade en svinehale til tilslutning til elektronikken. Batteriet + skal gå B + på LIPO -opladeren og ind på glidekontakten. Den anden side af glidekontakten skal gå til den sjette kontakt og en grisehale til elektronikken. Sørg for, at glidekontakten er i slukket position, og isoler svinehalerne midlertidigt. Du vil ikke kortslutte batteriet!

Lodning på to korte uisolerede grisehaler på hver af de 5 dørkontakter. Disse skal være lidt fleksible.

Placer og fastgør hver af matricen i sin position ved at lodde på de to switch -pigtails på matricekortet, og sørg for, at switchens 0V er forbundet til mosfet -kilden / 0V -punktet og den levende side af kontakten til 4K7 / gate mosfet. Lysdioderne på tavlen skal passe i fordybningerne i kabinettet, og kontaktledningerne skal være tilstrækkelige til at holde matricen på plads.

Tilslut derefter alle de fælles anoder i de 5 terninger. Dette gøres lettere ved, at diodeparforbindelserne er tilgængelige på begge sider af matricen, men husk, at disse krydses på diagonaler. Bliv ikke forvirret af den røde ledning i billedet, der tilsyneladende går til døen. Det er bare grisehale og er ikke forbundet med noget på dette tidspunkt.

ESP-12F make-up

Bemærk, at du måske vil programmere ESP-12F-modulet før montering. Når det er blevet blinket, kan alle andre opdateringer udføres ved hjælp af wifi OTA.

Udgør 3.3V -regulatoren på lidt tilovers prototype -kort. Dette har bare LDO -regulatoren på den og afkoblingskondensatoren. Selvom strømafbrydelsen er meget lav, lodder jeg et par af kontakterne sammen for at fungere som en køleplade til enheden. To ledninger kan stikke ud og lave en direkte forbindelse til 3,3V / 0V på ESP-12F.

Lodning på ledninger på GPIO -benene til de 5 multiplexlinjer og kontakten 6. De 4 LED -anodedrivlinjer har brug for 220R / 440R -seriens modstande på linje. Man kan bruge små gennemgående hulmodstande på ESP-12F til dette, eller jeg gjorde det med SMD, der lige var stablet på hullerne, hvilket også er ret robust.

Til sidst føres multiplexlinjerne igennem til de enkelte dørhovedstifter og anodedriverlinjerne gennem til deres tilsvarende daisy -kæde.

Trin 5: Software

Softwaren til dette er baseret på ESP8266 Arduino -miljøet. Den fås på github.

Kode tilgængelig her

Der er et diceDriver -bibliotek, der leverer de lave niveaufunktioner, der bruges til at multiplexere lysdioderne og læse afbryderne. Dette er interrupt -drevet, så når terningværdier er angivet, er det selvstændigt vedligeholdende.

Den samlede timing er opdelt i 1 mSec interval pr. Dør. Perioden inden for denne 1 mSek, hvor lysdioder er tændt, kan indstilles for hver dør uafhængigt. Dette gør det muligt for lyset at balancere på tværs af de forskellige farver og tillader også dæmpning og blink som en del af spilkontrollen.

Biblioteket læser også terningskiftere som en del af multiplexet og har rutiner til at 'kaste' en eller flere terninger parallelt.

Skitsen bruger biblioteket til at levere et udvalg af terningespilstilstande og til at køre disse spil. Det giver også vedligeholdelsesfunktioner til først at konfigurere wifi, OTA downloade ny firmware og give nogle grundlæggende webfunktioner til at teste og kontrollere enhedens status.

Softwaren er kompileret i en Arduino IDE. Udover ino bruger den BaseSupport -biblioteket til at levere grundlæggende funktioner. Dette er konfigureret i den lokale BaseConfig.h -fil. En standardadgangskode for 'adgangskode' bruges til at oprette forbindelse til dens wifi -opsætning. Du vil måske ændre det til noget andet. Du kan også konfigurere den med faste wifi -legitimationsoplysninger, hvis du ikke vil bruge den indbyggede opsætning. På samme måde er der den samme standardadgangskode til OTA -firmwareopdateringsprocessen, som du måske vil ændre. Første gang skal firmwaren indlæses over den serielle forbindelse til Arduino IDE. Dette skal overholde de normale blinkende regler med GPIO0 trukket lavt under nulstilling for at komme i seriel flash -tilstand. Dette gøres mere bekvemt, før modulet endelig forbindes, men kan gøres in situ, hvis der er fastgjort clips til de relevante stifter.

Når firmwaren køres for første gang, vil den ikke kunne oprette forbindelse til den lokale wifi og vil automatisk gå ind i en opsætningstilstand ved at oprette et eget adgangsnetværk. Du kan oprette forbindelse til dette fra en wifi -enhed (f.eks. Telefon) og derefter gå til 192.168.4.1, som gør det muligt at vælge den rigtige lokale wifi og indtaste dens adgangskode. Hvis dette er OK, genstarter det og bruger dette netværk.

OTA udføres ved at eksportere binære filer i Arduino IDE og derefter søge til ip/firmware, hvor ip er boksens ip, når den er tilsluttet. Dette vil bede / søge efter den nye binære.

Andre webfunktioner er

  • setpower - indstiller strøm til en matrice (ip/setpower? dice = 3 & power = 50)
  • setflash - sætter flash til terninger (ip/setflash? mask = 7 & interval = 300)
  • setdice - indstiller en dørværdi (ip/setdice? dice = 3 & value = 2)
  • parametre - indstiller rulleparametre (ip/parametre? mask = 7 & time = 4000 & interval = 200)
  • status - returnerer terningværdier og skifter status

Trin 6: Spil

Softwaren tillader valg af spil og spil, der kontrolleres af hovedafbryderen.

I første omgang er systemet i spilindstillingstilstand, hvor kun den første dør viser et '1'. Du går rundt i 12 forskellige spiltilstande ved at trykke kort på denne knap. Den første matrice går 1 - 6, og bliver derefter ved 6, mens den anden dør viser 1-6.

For at vælge et bestemt spil skal du trykke længe på knappen (> 1 sekund), og det sætter det i spilkørselstilstand.

Inden for et spil startes en rulle normalt med et kort tryk på denne switch. FOR at komme tilbage til spilvalgstilstand fra køremodus, skal du trykke et langt tryk på denne switch, og det vil derefter vise spilnummeret som før og tillade yderligere valg.

9 spiltilstande er defineret i øjeblikket med 3 ekstra.

Spil 1 til 5 er enkle kast med det antal terninger. Hver kast ruller bare alle terningerne. Terningskiftere har ingen effekt i disse spil.

Spil 6 er et dynamisk antal terninger. Tryk på en af dørkontakterne for at vælge antallet af terninger og derefter hovedafbryderen for at kaste terningerne. Antallet af terninger kan ændres før hvert kast.

Game 7 er et kast med flere kast. Alle 5 terninger er involveret. Et tryk på hovedafbryderen kaster alle terninger. Ved at trykke på hver dørkontakt får den til at blinke. Når der trykkes på hovedafbryderen, ruller kun den blinkende dør, bortset fra at hvis ingen blinker, vil alle rulle. Dette er ligesom poker terninger eller Yahtzee. Bemærk, at der ikke er håndhævelse af antallet af tilladte kast. Det handler om spillerens integritet.

Spil 8 er som spil 7 undtagen dæmpet bruges til at angive, at valgt matrice ikke blinker.

Game 9 bruger matricekontakterne til at bestemme rullerne. Hvis en af de 3 bedste er valgt, bestemmer dette antallet af terninger, der skal kastes 1, 2 eller 3). Hvis der så trykkes på en af de nederste 2 kontakter, bevares den øverste række, og dette vælger antallet af terninger, der skal kastes i den nederste række (1 eller 2). Dette bruges i spil som risiko.

Anbefalede: