Sisällysluettelo:

Sateenkaari nopat: 6 vaihetta (kuvilla)
Sateenkaari nopat: 6 vaihetta (kuvilla)

Video: Sateenkaari nopat: 6 vaihetta (kuvilla)

Video: Sateenkaari nopat: 6 vaihetta (kuvilla)
Video: Things Mr Welch is No Longer Allowed to do in a RPG #1501-1699 2024, Heinäkuu
Anonim
Rainbow noppaa
Rainbow noppaa

Tämä tekee noppapelilaatikon, jossa on 5 tikkiä, jotka koostuvat smd -LED -valoista 5 värissä. Sitä ohjaava ohjelmisto mahdollistaa erilaiset pelitilat, joissa on mukana useita noppaa.

Yksi pääkytkin mahdollistaa pelin valinnan ja nopan heiton. Jokaisen nopan vieressä olevat yksittäiset kytkimet mahdollistavat pelityypin mukaisen valinnan tai hallinnan.

Rakennuskustannukset ovat erittäin vaatimattomat, mutta vaativat melkoisen rakennusajan, hyvän juotosraudan ja tukevan käden.

Elektroniikka perustuu ESP8266-moduuliin (ESP-12F), joka käyttää verkkopalvelinta, joka mahdollistaa helpot laiteohjelmistopäivitykset ja mahdollisuuden pelien seurantaan / laajentamiseen.

Laatikko on akkukäyttöinen ladattavalla akulla, ja koska virrankulutus on melko vaatimaton, se toimii monta tuntia yhdellä latauksella.

Vaihe 1: Osat ja työkalut

Osat ja työkalut
Osat ja työkalut
Osat ja työkalut
Osat ja työkalut
Osat ja työkalut
Osat ja työkalut

Komponentit

Seuraavia komponentteja tarvitaan. Ne ovat kaikki saatavilla eBayssa

  1. ESP-12F ESP8266 wifi-käsittelymoduuli. (1,50 €)
  2. 18650 akku ja pidike (3,00 €)
  3. SMD -LEDit x7 punaista, sinistä, vihreää, keltaista, valkoista (pakkaus 20 kpl jokaista väriä 0,99 €)
  4. Painike 6 mm: n kytkimet x6 (0,12 €)
  5. Liukukytkin mini 8x4mm (0,10 €)
  6. LIPO USB -akkulaturi (0,20 €)
  7. n kanavan MOSFETS - AO3400 x6 (0,20 €)
  8. 3,3 V alhaisen pudotuksen säädin - XC6203E (0,20 €)
  9. 220uF elektrolyytti (0,15 €)
  10. 220R vastus x5 (0,05 €)
  11. 4K7 -vastus x 6 (0,06)
  12. Prototyyppilevy eristetyt kaksipuoliset reiät (0,50 €)
  13. Joustava kiinnityslanka
  14. Emaloitu kuparilanka 32
  15. Otsatapit 40 -nastaiset nauhat x3 (0,30 €)

Lisäksi tarvitaan kotelo. Suunnittelin 3D -tulostetun laatikon, joka pitää kaiken ja sallii LED -valojen loistaa läpi. Tämä on saatavilla Thingiversessä.

Työkalut

  1. Hieno pisteen juotosrauta
  2. Hienot pinsetit
  3. Lankaleikkurit
  4. Junior hakata -saha
  5. Neulatiedostot ovat hyödyllisiä
  6. Hartsi liima
  7. Pääsy 3D -tulostimeen, jos käytät mukana tulevaa laatikkoa.

Vaihe 2: Piirin kuvaus

Piirin kuvaus
Piirin kuvaus

Kaaviossa ESP-12F-moduuli ajaa noppaa muodostavia 5 LED-ryhmää.

Jokainen noppa koostuu 7 LEDistä, jotka on järjestetty 3 pariksi (2 lävistäjää ja keskelle) sekä yksi keskimmäinen LED. Näiden LEDien valitsemiseksi tarvitaan 4 GPIO -nastaa. 220R -vastuksia käytetään virran määrittämiseen ja kahta käytetään sarjassa keskivalolle siten, että virta on sama.

Viisi noppaa multipleksoidaan 5 GPIO -linjalla, jotka käyttävät MOSFET -kytkimiä. Vain yksi kytkin on käytössä kerrallaan. Ohjelmisto sallii 1 mSec per kuolema, joten koko virkistysjakso on 200 Hz eikä välkyntää.

Jokaiseen muottiin liittyy 5 kytkintä. Koska GPIO on rajoitettu, ne luetaan käyttämällä samoja rivejä kuin nopan multipleksointiin. Multipleksisekvenssin aikana nämä ohjauslinjat asetetaan tuloiksi, joissa on vedot ja kytkinten tila luetaan. Ne palautetaan sitten lähtöihin muulle multipleksisekvenssille.

GPIO16 -rivi lukee kuudennen yleisen ohjauksen kytkimen. Tämä voi olla vain vedettävä alas, joten kytkin on kytketty 3,3 volttiin. Tämä lukee alhaisena, kun kytkin on auki, ja korkealla, kun se on kiinni.

Vaihe 3: DIe: n rakentaminen

DIe: n rakentaminen
DIe: n rakentaminen
DIe: n rakentaminen
DIe: n rakentaminen

Tämä on aikaa vievin osa työstä ja vaatii hoitoa.

Jokainen muotti on rakennettu 6 -reikäisen x 6 -reikäisen neliön prototyyppilevyn palalle. Ensimmäinen askel on leikata viisi näistä yhdeltä levyltä käyttämällä minihakkasahaa. Yritä jättää mahdollisimman pieni raja reikien ulkopuolelle.

Seuraava vaihe on lisätä 2 6 -nastaista otsikkoa kummallekin puolelle ja 2 sarjaa 3 eristettyä nastaa näiden viereen ja sitten toinen pari keskelle. Nämä pitävät SMD -LEDit. Minusta on hyvä poistaa 2 käyttämätöntä nastaa kustakin ulkopuolisesta sarakkeesta. Levyn yläpuolelta, johon LED -valot asennetaan, tulee otsikkotapit leikata pois niin, että vain noin 1 mm tulee esiin. Yritä pitää ne kaikki tasolla. Tämä mahdollistaa LED -valojen työntymisen levyn pinnan yläpuolelle.

7 SMD -LEDiä on nyt juotettu jokaisen nastaparin päälle. Tämä on hankalin osa kokonaisrakentamista, mutta ei vie liian kauan harjoituksen jälkeen. Tekniikka, jonka käytin, oli tinata puolet nastojen yläosasta, joten juotosta oli jo olemassa. Pidä sitten LEDiä pinseteissä, sulata juote uudelleen ja käytä LEDiä siihen. Älä huolehdi liikaa liitoksen laadusta tässä vaiheessa. Tärkeämpää on saada LED -kohdistus mahdollisimman hyväksi, vaakasuoraan ja nastojen poikki. Kun LED on paikallaan, se voidaan juottaa oikein toisesta päästä tapilleen ja sitten ensimmäinen liitos juottaa tarvittaessa uudelleen.

Diodien napaisuuden on oltava oikea. Järjestän kaikki ulkoiset otsikkotapit liitettäviksi anodeihin. Keskimmäinen LED -suunta on sama kuin vasemmanpuoleinen pylväs (kasvot katsottuna ja vararivi alhaalla. Diodissa on heikko jälki katodissa, mutta on myös hyvä tarkistaa mittarilla. syttyvät, kun käytetään vastusaluetta (esimerkiksi 2K) ja punaista johtoa anodilla ja mustaa katodilla. Ne jäävät palamaan päinvastoin. Tämä on myös hyvä tapa tarkistaa värit, jos ne sekoittuvat.

Kun LEDit on asennettu, loput levyt voidaan viimeistellä.

Taulun alapuolella.

  1. Kytke kaikki katodit yhteen ohuella yksisäikeisellä eristämättömällä langalla.
  2. Juotos mosfet tyhjennystapilla, joka on kytketty katodijonoon
  3. Kytke mosfet -lähde sen otsatappiin, joka on lopulta 0V
  4. Kytke portti 4K7 -vastuksen läpi otsatappiin. Tämä on hyvä juurtua toisen alemman reiän läpi, kuten kuvassa, koska kytkin muodostaa yhteyden tähän.

Liitä levyn ristin etuosaan 3 paria anodeja.

  1. Käytä juotettavaa emaloitua lankaa pitämään profiili matalana.
  2. Tinaa jokaisen langan toinen pää
  3. Juotetaan se yhteen anodiin.
  4. Vie se läpi ja leikkaa pituudeksi.
  5. Esivinaa ja juota se siihen vastaavaan anodipariin.

Tässä vaiheessa on hyvä tehdä jokaisen muotin alustava testi yleismittarilla. Kun musta johto on yleisissä katodeissa (Mosfet -tyhjennys), punainen johto voidaan siirtää 3 anodipariin ja yksittäiseen anodiin. Vastaavien merkkivalojen pitäisi syttyä.

Vaihe 4: Laatikon rakentaminen

Laatikon rakentaminen
Laatikon rakentaminen
Laatikon rakentaminen
Laatikon rakentaminen
Laatikon rakentaminen
Laatikon rakentaminen
Laatikon rakentaminen
Laatikon rakentaminen

Tämä olettaa, että käytetään 3D -tulostettua laatikkoversiota. Laatikossa on sisennykset jokaiselle muotille ja jokaiselle LED -valolle. Alempi kerros jokaisen LEDin alapuolella on erittäin ohut (0,24 mm), joten valkoisella muovilla se antaa valon loistaa hyvin ja toimii hajottimena. Kaikissa kytkimissä on katkaisut ja latauspiste. Akulla on oma lokero.

Asenna ensin 6 minipainiketta ja liukukytkin paikalleen. Varmista, että ne ovat samassa tasossa ulkopuolen kanssa. Painonappikytkimissä on kaksi rinnakkain kytkettyä kosketinparia. Suuntaa ne siten, että kytkinkoskettimet ovat muotin vieressä. Käytä pikakovettuvaa hartsia lukitaksesi paikalleen.

Asenna nyt akku ja sen kotelo sille varattuun tilaan. Sen pitäisi olla melko tiukka, mutta käytä tarvittaessa liimaa.

Liimaa LIPO -laturi seinään, jossa on mikro -USB, johon pääsee sen reiän kautta.

Viimeistele perusvirtajohdotus silmukkaamalla akun maadoitus kaikkien painonappikytkimien ja LIPO B -liitännän läpi ja jättämällä sikahäntä elektroniikkaa varten. Akun + pitäisi mennä B + -laitteeseen LIPO -laturissa ja liukukytkimen päälle. Liukukytkimen toisen puolen pitäisi mennä kuudennen kytkimen ja elektroniikan sikahäntä. Varmista, että liukukytkin on off -asennossa ja eristä sianhäntä tilapäisesti. Et halua lyhentää akkua!

Juotetaan kahdelle lyhyelle eristämättömälle sianhädälle jokaiseen 5 muotti -kytkimestä. Näiden on oltava hieman joustavia.

Aseta ja varmista jokainen suutin paikoilleen juottamalla kaksi kytkimen lettiä muottilevylle varmistaen, että kytkimen 0 V on kytketty mosfet -lähteen / 0 V -pisteeseen ja kytkimen jännitteinen puoli 4K7 / porttiin mosfet. Levyllä olevien LED -valojen on oltava kotelon syvennyksissä ja kytkentäjohtojen on oltava riittävät pitämään muotti paikallaan.

Yhdistä seuraavaksi kaikki 5 nopan yleiset anodit. Tämä on helpompaa, koska diodipariliitännät ovat saatavana muotin molemmilla puolilla, mutta muista, että ne ovat ristissä diagonaalien kanssa. Älä hämmenny kuvan punaisesta langasta, joka ilmeisesti kuolee. Se on vain letti, eikä se ole yhteydessä mihinkään tässä vaiheessa.

ESP-12F meikki

Huomaa, että haluat ehkä ohjelmoida ESP-12F-moduulin ennen asennusta. Kun se on välähtänyt, kaikki muut päivitykset voidaan tehdä wifi OTA: n avulla.

Täytä 3,3 V: n säädin hiukan jäljellä olevasta prototyyppikortista. Tässä on vain LDO -säädin ja irrotuskondensaattori. Vaikka virrantuotto on hyvin pieni, juotan muutamia koskettimia yhteen toimimaan laitteen jäähdytyselementtinä. Kaksi johtoa voi työntyä ulos ja muodostaa suoran yhteyden ESP-12F: n 3.3V / 0V-jännitteeseen.

Juotetaan johdot GPIO -nastoille viidelle multipleksilinjalle ja kytkimelle 6. 4 LED -anodin ohjainlinjaa varten tarvitaan 220R / 440R -sarjan vastukset. Tähän voidaan käyttää pieniä reikävastuksia ESP-12F: lle tai tein sen SMD: llä, joka oli vain pinottu reikiin, mikä on myös melko vankka.

Lopuksi johdottele multiplekserilinjat yksittäisten muottiotsikoiden nastoihin ja anodin ohjainlinjat vastaaviin ketjuihin.

Vaihe 5: Ohjelmisto

Ohjelmisto tätä varten perustuu ESP8266 Arduino -ympäristöön. Se on saatavilla githubissa.

Koodi saatavilla täältä

On diceDriver -kirjasto, joka tarjoaa matalan tason toimintoja, joita käytetään LEDien multipleksointiin ja kytkinten lukemiseen. Tämä on keskeytysvetoinen, joten kun noppa -arvot on asetettu, se ylläpitää itseään.

Kokonaisaika on jaettu 1 mSec väliin per kuolema. Tämän 1 ms: n ajanjakso, jonka kuluessa LEDit palavat, voidaan asettaa kullekin muotille itsenäisesti. Tämä mahdollistaa valaistuksen tasapainon eri väreissä sekä himmennyksen ja vilkkumisen osana peliohjausta.

Kirjasto lukee myös noppikytkimet osana multipleksia ja sisältää rutiinit yhden tai useamman nopan rullaamiseksi rinnakkain.

Luonnos käyttää kirjastoa valikoiman noppapelitiloja varten ja näiden pelien suorittamiseen. Se tarjoaa myös ylläpitotoimintoja wifi: n määrittämiseksi aluksi, OTA: n lataamaan uuden laiteohjelmiston ja joitakin perusverkkotoimintoja laitteen tilan testaamiseksi ja tarkistamiseksi.

Ohjelmisto on koottu Arduino IDE: hen. Inon lisäksi se käyttää BaseSupport -kirjastoa perustoimintojen tarjoamiseen. Tämä on määritetty paikallisessa BaseConfig.h -tiedostossa. Oletussalasanaa 'salasana' käytetään yhdistettäessä sen wifi -asetuksiin. Haluat ehkä muuttaa sen johonkin muuhun. Voit myös määrittää sen kiinteillä wifi -tunnuksilla, jos et halua käyttää sisäänrakennettuja asetuksia. Samoin OTA -laiteohjelmiston päivitysprosessissa on sama oletussalasana, jonka haluat ehkä muuttaa. Tämän on noudatettava normaaleja vilkkumissääntöjä GPIO0: n ollessa alhaalla nollauksen aikana, jotta se siirtyy salaman sarjatilaan. Tämä on helpompaa tehdä ennen moduulin lopullista kytkemistä, mutta se voidaan tehdä paikan päällä, jos kiinnikkeet kiinnitetään asianomaisiin nastoihin.

Kun laiteohjelmisto ajetaan ensimmäisen kerran, se ei muodosta yhteyttä paikalliseen wifi -verkkoon ja siirtyy automaattisesti asetustilaan luomalla oma liityntäverkko. Voit muodostaa yhteyden tähän wifi -laitteesta (esim. Puhelimesta) ja selata sitten osoitteeseen 192.168.4.1, jonka avulla voit valita oikean paikallisen wifi -verkon ja syöttää sen salasanan. Jos tämä on kunnossa, se käynnistyy uudelleen ja käyttää tätä verkkoa.

OTA tehdään viemällä binääritiedostoja Arduino IDE: hen ja selaamalla sitten ip/laiteohjelmistoon, jossa ip on laatikon ip, kun se on yhdistetty. Tämä kysyy / selaa uutta binaaria.

Muut verkkotoiminnot ovat

  • setpower - asettaa tehon nopalle (ip/setpower? dice = 3 & power = 50)
  • setflash - asettaa noppaa noppaa varten (ip/setflash? mask = 7 & interval = 300)
  • setdice - asettaa yhden nopan arvon (ip/setdice? dice = 3 & value = 2)
  • parametrit - asettaa rullaparametrit (ip/settings? mask = 7 & time = 4000 & interval = 200)
  • tila - palauttaa nopan arvot ja vaihtaa tilan

Vaihe 6: Pelit

Ohjelmisto mahdollistaa pelin valinnan ja pelin ajamisen pääkytkimellä.

Aluksi järjestelmä on peliasetustilassa, ja vain ensimmäinen tikka näyttää 1. Voit kiertää 12 eri pelitilaa painamalla lyhyesti tätä painiketta. Ensimmäinen noppa menee 1 - 6 ja pysyy 6: ssa, kun taas toinen heitto näyttää 1-6.

Voit valita tietyn pelin painamalla painiketta pitkään (> 1 sekunti), jolloin peli siirtyy pelitilaan.

Pelissä rulla käynnistetään normaalisti painamalla tätä kytkintä lyhyesti. Jos haluat palata pelinvalintatilaan ajon tilasta, paina pitkään tätä kytkintä ja se näyttää pelin numeron kuten ennen ja sallii lisävalinnan.

Tällä hetkellä 9 pelitilaa määritellään 3 varaosalla.

Pelit 1–5 ovat yksinkertaisia heittoja kyseisestä nopasta. Jokainen heitto heittää vain kaikki nopat. Noppukytkimillä ei ole vaikutusta näissä peleissä.

Peli 6 on dynaaminen määrä noppaa. Paina nopankytkintä valitaksesi nopan määrän ja sitten pääkytkintä heittääksesi noppaa. Nopan määrää voidaan muuttaa ennen jokaista heittoa.

Peli 7 on monen heiton heitto. Kaikki 5 noppaa ovat mukana. Pääkytkimen painaminen heittää kaikki nopat. Jokaisen suutinkytkimen painaminen saa sen vilkkumaan. Kun pääkytkintä painetaan, vain vilkkuva muotti rullaa, paitsi jos mikään ei vilku, kaikki rullaavat. Tämä on kuin pokerin noppa tai Yahtzee. Huomaa, että sallittujen heittojen määrää ei valvota. Tämä johtuu pelaajien rehellisyydestä.

Peli 8 on kuin peli 7, paitsi että himmennystä käytetään osoittamaan, että valittu koukku ei vilku.

Peli 9 käyttää heittokytkimiä rullan määrittämiseen. Jos valitaan yksi kolmesta parhaasta, tämä määrittää heitettävien noppien määrän 1, 2 tai 3). Sitten jos jompaakumpaa alimmasta 2 kytkimestä painetaan, ylärivi pidetään ja tämä valitsee heitettavien noppien määrän alimmalla rivillä (1 tai 2). Tätä käytetään Riskin kaltaisissa peleissä.

Suositeltava: