Cuprins:

Dadi curcubeu: 6 pași (cu imagini)
Dadi curcubeu: 6 pași (cu imagini)

Video: Dadi curcubeu: 6 pași (cu imagini)

Video: Dadi curcubeu: 6 pași (cu imagini)
Video: Dans in doii: LENTO 2024, Iulie
Anonim
Zaruri curcubeu
Zaruri curcubeu

Acest lucru face o cutie de jocuri de zaruri cu 5 matrițe formate din LED-uri smd în 5 culori. Software-ul care îl conduce permite diferite moduri de joc cu mai multe zaruri implicate.

Un singur switch principal permite selectarea jocului și aruncarea zarurilor. Comutatoarele individuale de lângă fiecare matriță permit selectarea sau controlul în funcție de tipul de joc.

Costurile de construcție sunt foarte modeste, dar necesită o cantitate echitabilă de timp de construcție, un fier de lipit bun și o mână constantă.

Electronica se bazează pe un modul ESP8266 (ESP-12F) care rulează un server web care permite actualizări ușoare de firmware și posibilitatea monitorizării / extinderii jocurilor.

Cutia este alimentată cu baterie cu o baterie reîncărcabilă și, deoarece consumul curent este destul de modest, va funcționa timp de multe ore la o singură încărcare.

Pasul 1: Piese și instrumente

Piese și instrumente
Piese și instrumente
Piese și instrumente
Piese și instrumente
Piese și instrumente
Piese și instrumente

Componente

Sunt necesare următoarele componente. Toate sunt disponibile pe eBay

  1. ESP-12F ESP8266 modul de procesare wifi. (1,50 GBP)
  2. 18650 baterie și suport (3,00 GBP)
  3. LED-uri SMD x7 de roșu, albastru, verde, galben, alb (pachet de 20 din fiecare culoare 0,99 GBP)
  4. Buton de 6 mm comutatoare x6 (0,12 GBP)
  5. Comutator de pornire / oprire mini 8x4mm (0,10 GBP)
  6. Modul încărcător baterie USB LIPO (0,20 GBP)
  7. MOSFETURI cu canal n - AO3400 x6 (0,20 GBP)
  8. Regulator de scădere scăzut de 3,3 V - XC6203E (0,20 GBP)
  9. 220uF electrolitic (0,15 GBP)
  10. Rezistor 220R x5 (0,05 GBP)
  11. Rezistor 4K7 x 6 (0,06)
  12. Placă prototip orificii laterale duble izolate (0,50 GBP)
  13. Sarma flexibila
  14. Sârmă de cupru emailată 32
  15. Pini de antet benzi de 40 pini x3 (0,30 GBP)

În plus, este necesară o incintă. Am proiectat o cutie imprimată 3D pentru a ține totul și permite LED-urilor să strălucească. Aceasta este disponibilă la Thingiverse.

Instrumente

  1. Fier de lipit cu punct fin
  2. Pensete fine
  3. Freze de sârmă
  4. Ferăstrău Junior hack
  5. Fișierele cu ace sunt utile
  6. Adeziv de rășină
  7. Acces la imprimanta 3D dacă utilizați designul cutiei inclus.

Pasul 2: Descrierea circuitului

Descrierea circuitului
Descrierea circuitului

Schema arată modulul ESP-12F care conduce cele 5 matrice de LED-uri care alcătuiesc zarurile.

Fiecare zar este compus din 7 LED-uri dispuse câte 3 perechi (2 diagonale și mijloc) plus un singur LED central. Acestea au nevoie de 4 pini GPIO pentru a selecta LED-urile de afișat. Rezistențele 220R sunt utilizate pentru a determina curentul și 2 sunt utilizate în serie pentru LED-ul central, astfel încât curentul să fie același.

Cele 5 zaruri sunt multiplexate de 5 linii GPIO care conduc comutatoare MOSFET. Este activat un singur comutator la un moment dat. Software-ul permite 1mSec pe matriță, astfel încât perioada generală de reîmprospătare este de 200Hz și nu există pâlpâire.

5 comutatoare sunt asociate cu fiecare matriță. Deoarece GPIO este limitat, acestea sunt citite folosind aceleași linii ca și cele utilizate pentru multiplexarea matriței. În timpul secvenței multiplex aceste linii de control sunt setate ca intrări cu pull-uri și starea comutatoarelor citite. Acestea sunt apoi returnate la ieșiri pentru restul secvenței multiplex.

Un al 6-lea comutator pentru controlul general este citit de linia GPIO16. Acest lucru poate avea doar un pull down, astfel încât comutatorul să fie conectat la 3,3V. Acest lucru citește scăzut când comutatorul este deschis și ridicat când este închis.

Pasul 3: Construcția DIe

Construcția DIe
Construcția DIe
Construcția DIe
Construcția DIe

Aceasta este cea mai consumatoare de timp a locului de muncă și are nevoie de îngrijire.

Fiecare matriță este construită pe o bucată de placă de prototipare pătrată cu 6 găuri x 6 găuri. Primul pas este de a tăia 5 dintre acestea de pe o singură placă folosind un mini ferăstrău. Încercați să lăsați cât mai puțină graniță în afara găurilor.

Următoarea etapă este să adăugați 2 anteturi cu 6 pini pe fiecare parte și 2 seturi de 3 pini izolați lângă acestea și apoi o pereche suplimentară în mijloc. Acestea vor conține LED-urile SMD. Mi se pare bine să scot cei 2 pini neutilizați din fiecare dintre coloanele exterioare. Partea superioară a plăcii în care urmează să fie montate LED-urile ar trebui să aibă știfturile antetului tăiate astfel încât să iasă doar aproximativ 1 mm. Încercați să le mențineți la nivel. Acest lucru permite LED-urilor să iasă deasupra suprafeței plăcii.

Cele 7 LED-uri SMD sunt acum lipite pe fiecare pereche de pini. Aceasta este cea mai dificilă parte a construcției generale, dar nu durează prea mult după un pic de antrenament. Tehnica pe care am folosit-o a fost de a stani partea superioară a jumătății știfturilor, astfel încât a existat deja o lipire. Apoi țineți LED-ul în pensete, topiți din nou lipirea și rulați LED-ul în el. Nu vă faceți griji prea mult cu privire la calitatea articulației în această etapă. Mai important este să obțineți alinierea LED-ului cât mai bine posibil, orizontală și peste pini. Odată ce un LED este în poziție, acesta poate fi lipit în mod corespunzător la celălalt capăt pe pinul său și apoi prima îmbinare resoldată, dacă este necesar.

Polaritatea diodelor trebuie să fie corectă. Aranjez toți pinii antetului exterior pentru a fi conectați la anodi. LED-ul central I a făcut aceeași orientare ca și coloana din stânga (vizualizată de pe față și cu rândul de rezervă în partea de jos. Diodele au un semn slab pe catod, dar este de asemenea bine să verificați cu un contor. Diodele vor fi de fapt, se aprinde atunci când se utilizează gama de rezistență (să zicem 2K) și cablul roșu pe anod și negru pe catod. Acestea rămân aprinse invers. Aceasta este, de asemenea, o metodă bună de verificare a culorilor dacă se amestecă.

Odată ce LED-urile sunt montate, restul plăcii poate fi completat.

Pe partea inferioară a tabloului.

  1. Cablează toți catodurile împreună folosind un fir subțire cu un singur fir neizolat.
  2. Lipiți mosfetul cu știft de scurgere conectat la șirul catodic
  3. Conectați sursa Mosfet la pinul de antet, care va fi 0V în cele din urmă
  4. Conectați poarta printr-un rezistor 4K7 la pinul de antet. Este bine să înrădăcinați acest lucru printr-o altă gaură inferioară așa cum se arată, deoarece aici se va conecta comutatorul.

În partea din față a plăcii încrucișați conectați cele 3 perechi de anodi.

  1. Folosiți sârmă emailată sudabilă pentru a menține profilul scăzut.
  2. Pregătiți un capăt al fiecărui fir
  3. Lipiți-l într-un singur anod.
  4. Treceți-l și tăiați-l la lungime.
  5. Pregătiți-l și lipiți-l pe perechea de anod corespunzătoare.

În acest moment este bine să faceți un test preliminar al fiecărei matrițe folosind multimetrul. Cu cablul negru pe catodii comuni (drenajul Mosfet), cablul roșu poate fi mutat în cele 3 perechi de anod și anodul unic. LED-urile corespunzătoare ar trebui să se aprindă.

Pasul 4: Construcția cutiei

Construcție cutie
Construcție cutie
Construcție cutie
Construcție cutie
Construcție cutie
Construcție cutie
Construcție cutie
Construcție cutie

Aceasta presupune că se folosește versiunea de cutie tipărită 3D. Cutia are indentări pentru fiecare matriță și fiecare LED. Stratul inferior de sub fiecare LED este foarte subțire (0,24 mm), astfel încât, din plastic alb, permite luminii să strălucească foarte bine și acționează ca un difuzor. Există decupaje pentru toate comutatoarele și punctul de încărcare. Bateria are propriul compartiment.

Montați mai întâi cele 6 mini comutatoare cu buton și comutatorul glisant în poziție. Asigurați-vă că sunt la același nivel cu exteriorul. Comutatoarele cu buton au două perechi de contacte conectate în paralel. Orientați-le astfel încât contactele de comutare să fie adiacente matriței lor. Folosiți niște rășini de fixare rapidă pentru a se fixa în poziție.

Acum montați bateria și cutia acesteia în spațiul furnizat. Ar trebui să se potrivească destul de bine, dar folosiți puțin adeziv, dacă este necesar.

Lipiți încărcătorul LIPO pe perete prevăzut cu micro USB accesibil prin orificiul său.

Completați cablajul de bază prin conectarea la pământ a bateriei prin toate butoanele și butonul LIPO B- și lăsând o coadă de porc pentru conectarea la electronică. Bateria + ar trebui să treacă B + pe încărcătorul LIPO și pe comutatorul glisant. Cealaltă parte a comutatorului glisant ar trebui să meargă pe al șaselea comutator și o coadă de porc pentru electronică. Asigurați-vă că comutatorul glisant este în poziția oprit și izolați temporar cozile de porc. Nu doriți să scurtcircuitați bateria!

Lipiți pe două cozi scurte de porc neizolate pe fiecare dintre cele 5 întrerupătoare. Acestea trebuie să fie puțin flexibile.

Poziționați și fixați fiecare matriță în poziția sa prin lipirea celor două trecătoare ale comutatorului pe placa matriței, asigurându-vă că 0V al comutatorului este conectat la sursa MOSFET / punctul 0V și partea sub tensiune a comutatorului la 4K7 / poartă Mosfet. LED-urile de pe placă ar trebui să se încadreze în locașurile carcasei, iar firele de comutare ar trebui să fie suficiente pentru a menține matrița în poziție.

Apoi conectați toți anodii comuni ai celor 5 zaruri. Acest lucru este mai ușor, deoarece conexiunile perechii de diode sunt disponibile pe ambele părți ale matriței, dar rețineți că acestea sunt încrucișate pe diagonale. Nu vă lăsați confundați de firul roșu din imagine care se pare că va muri. Este doar coada și nu este conectat la nimic în acest stadiu.

Machiajul ESP-12F

Rețineți că este posibil să doriți să programați modulul ESP-12F înainte de montare. Odată ce a fost intermitent, toate celelalte actualizări pot fi făcute folosind WiFi OTA.

Alcătuiește regulatorul de 3,3 V pe un pic de card rămas peste prototip. Aceasta are doar regulatorul LDO și condensatorul de decuplare. Deși disiparea puterii este foarte mică, am lipit câteva dintre contactele împreună pentru a acționa ca un radiator pentru dispozitiv. Două fire pot ieși și pot face o conexiune directă la 3,3V / 0V al ESP-12F.

Lipiți firele pe pinii GPIO pentru cele 5 linii multiplex și comutatorul 6. Cele 4 linii de conducere cu anod LED necesită rezistențe din seria 220R / 440R în linie. Se poate folosi rezistențe mici prin găuri pe ESP-12F pentru asta sau am făcut-o cu SMD doar stivuite pe găuri, ceea ce este destul de robust și.

În cele din urmă, conectați liniile multiplex prin pinii individuali ai antetului matriței și liniile driverului anodului către lanțul lor de margaretă corespunzător.

Pasul 5: Software

Software-ul pentru aceasta se bazează pe mediul ESP8266 Arduino. Este disponibil la github.

Cod disponibil aici

Există o bibliotecă diceDriver care oferă funcțiile de nivel scăzut utilizate pentru multiplexarea LED-urilor și citirea comutatoarelor. Acest lucru este condus de întrerupere, astfel încât odată ce valorile zarurilor sunt setate, atunci se auto-întreține.

Cronometrul general este împărțit în 1 mSec interval per matriță. Perioada din acest 1 mSec pe care LED-urile sunt aprinse poate fi setată pentru fiecare matriță independent. Acest lucru permite ca iluminarea să fie echilibrată între diferite culori și, de asemenea, permite estomparea și clipirea ca parte a controlului jocului.

Biblioteca citește și comutatoarele de zaruri ca parte a multiplexului și are rutina de a „arunca” unul sau mai multe zaruri în paralel.

Schița folosește biblioteca pentru a oferi o selecție de moduri de joc de zaruri și pentru a rula aceste jocuri. De asemenea, oferă funcții de întreținere pentru a configura wifi inițial, pentru a descărca OTA firmware nou și pentru a oferi câteva funcții web de bază pentru a testa și verifica starea dispozitivului.

Software-ul este compilat într-un IDE Arduino. La fel ca și ino, folosește biblioteca BaseSupport pentru a oferi funcții de bază. Aceasta este configurată în fișierul local BaseConfig.h. O parolă implicită a „parolei” este utilizată pentru conectarea la configurarea wifi. Poate doriți să schimbați acest lucru cu altceva. De asemenea, îl puteți configura cu acreditări wifi fixe dacă nu doriți să utilizați setul încorporat. De asemenea, există aceeași parolă implicită pentru procesul de actualizare a firmware-ului OTA pe care poate doriți să o modificați. Prima dată firmware-ul trebuie încărcat prin conexiunea serială la ID-ul Arduino. Acest lucru trebuie să respecte regulile intermitente normale cu GPIO0 scăzut în timpul resetării pentru a-l introduce în modul serial flash. Acest lucru se face mai convenabil înainte ca modulul să fie în cele din urmă conectat, dar se poate face in situ dacă clipurile sunt atașate la pinii relevanți.

Când firmware-ul este rulat pentru prima dată, nu va reuși să se conecteze la wifi-ul local și va intra automat într-un mod de configurare prin configurarea unei rețele de acces proprii. Vă puteți conecta la acesta de pe un dispozitiv wifi (de exemplu, telefon) și apoi navigați la 192.168.4.1, care va permite selectarea wifi-ului local real și introducerea parolei acestuia. Dacă acest lucru este OK, se va reporni și va folosi această rețea.

OTA se face exportând binare în Arduino IDE și apoi navigând la ip / firmware unde ip este ip-ul casetei atunci când este conectat. Aceasta va solicita / căuta noul binar.

Alte funcții web sunt

  • setpower - setează puterea pentru o matriță (ip / setpower? dice = 3 & power = 50)
  • setflash - setează blițul pentru zaruri (ip / setflash? mask = 7 & interval = 300)
  • setdice - setează o valoare de tip die (ip / setdice? dice = 3 & value = 2)
  • parametri - setează parametrii rulării (ip / parameters? mask = 7 & time = 4000 & interval = 200)
  • status - returnează valorile zarurilor și comută starea

Pasul 6: Jocuri

Software-ul permite selectarea jocului și rularea jocului controlată de comutatorul principal.

Inițial, sistemul se află în modul de setare a jocului, doar prima matriță afișând un „1”. Mergeți în jurul a 12 moduri de joc diferite apăsând scurt acest buton. Prima matriță merge 1 - 6, apoi rămâne la 6, în timp ce a doua matriță arată 1-6.

Pentru a selecta un anumit joc, apăsați lung butonul (> 1 secundă) și acesta îl pune în modul de rulare a jocului.

În cadrul unui joc, o lansare este în mod normal începută cu o scurtă apăsare a acestui comutator. Pentru a reveni în modul de selectare a jocului din modul de rulare, apoi apăsați lung acest comutator și va afișa numărul jocului ca înainte și va permite o selecție suplimentară.

9 moduri de joc sunt definite în acest moment cu 3 de rezervă.

Jocurile de la 1 la 5 sunt aruncări simple ale acelui număr de zaruri. Fiecare lansare aruncă doar toate zarurile. Comutatoarele de zaruri nu au efect în aceste Jocuri.

Jocul 6 este un număr dinamic de zaruri. Apăsați unul dintre comutatoarele pentru a selecta numărul de zaruri și apoi comutatorul principal pentru a arunca zarurile. Numărul de zaruri poate fi modificat înainte de fiecare lansare.

Jocul 7 este o aruncare cu mai multe aruncări. Sunt implicate toate cele 5 zaruri. O apăsare a comutatorului principal aruncă toate zarurile. Apăsarea fiecărui întrerupător de matriță îl face să clipească. Când este apăsat comutatorul principal, se va rula doar matrița intermitentă, cu excepția faptului că, dacă niciunul nu clipeste, atunci toate vor rula. Este ca zarurile de poker sau Yahtzee. Rețineți că nu există nicio aplicare a numărului de aruncări permise. Aceasta se datorează integrității jucătorului.

Jocul 8 este ca jocul 7, cu excepția faptului că dim este folosit pentru a indica matrițele selectate care nu clipesc.

Jocul 9 folosește întrerupătoarele pentru a determina rolurile. Dacă este selectat unul dintre primele 3, atunci acesta determină numărul de zaruri de aruncat 1, 2 sau 3). Apoi, dacă unul dintre cele 2 comutatoare de jos este apăsat, atunci rândul de sus este păstrat și acest lucru selectează numărul de zaruri de aruncat în rândul de jos (1 sau 2). Aceasta este folosită în jocuri precum Risk.

Recomandat: