Rul i stil med denne DIY elektroniske D20 Die

  • William Charles
  • 0
  • 5082
  • 1565
Reklame

Vil du have noget lidt unikt til dit næste bordplads-rollespil? Hvad med en elektronisk D20 med brugerdefineret grafik til kritiske hits og misser? I dag viser jeg dig, hvordan du bygger din egen med en Arduino og et par enkle dele.

Bare rolig, hvis du aldrig har brugt en Arduino før, vi har en guide til at komme i gang Kom godt i gang med Arduino: En begynderguide Kom godt i gang med Arduino: En begynderguide Arduino er en open source-elektronik-prototype-platform baseret på fleksibel, let- at bruge hardware og software. Det er beregnet til kunstnere, designere, hobbyister og enhver der er interesseret i at skabe interaktive objekter eller miljøer. .

Byg plan

Dette er et simpelt projekt. En Arduino vil køre en OLED-skærm, og en knap ruller matrisen. Tilpasset grafik vises for kritiske hit eller kritiske miss ruller. Du kan let ændre koden til at være en D8, D10 eller D12.

Hvad du har brug for

  • 1 x Arduino
  • 1 x 0,96 "I2C OLED-skærm
  • 1 x trykknap
  • 1 x 10k? Modstand
  • 1 x Breadboard
  • Assorterede ledninger
  • Fuld kode her, hvis du ikke vil følge hele vejen gennem de skriftlige instruktioner.

Det er de vigtigste dele, du har brug for for at bygge din egen D20. Det kan være nødvendigt at installere det i en sag (diskuteret nedenfor) og lodde kredsløbet i en mere permanent tilstand. Her er de ekstra dele, du skal bruge for at gøre det:

  • 4 x M2 x 10 mm (0,4 tommer) bolte
  • 4 x M2 møtrikker
  • 4 x 7 mm skiver
  • 9V batteri snap (eller passende alternativ)
  • Assorteret varmekrympeslange

Disse OLED-skærme er meget seje. De kan normalt købes i hvid, blå, gul eller en blanding af de tre. Jeg har købt en i blå for at matche min sag. Sørg for, at du får en I2C model i stedet for SPI.

Næsten enhver Arduino vil være egnet. Jeg har valgt en Nano, da de er små nok til at passe ind i sagen. Se vores købsguide Arduino Købsguide: Hvilket bord skal du få? Arduino Købsvejledning: Hvilket bord skal du få? Der er så mange forskellige slags Arduino-tavler derude, du vil blive tilgitt for at blive forvirret. Hvilket skal du købe til dit projekt? Lad os hjælpe med denne Arduino-købsguide! for mere information om Arduino-modeller.

Kredsløbet

Her er det kredsløb, du har brug for:

Opret forbindelse VCC og GND på OLED-skærmen til Arduino +5V og jord. Opret forbindelse analog 4 på Arduino til pin-mærket SDA. Opret forbindelse analog 5 til SCL pin. Disse ben indeholder det kredsløb, der er nødvendigt for at køre displayet ved hjælp af I2C-bussen. De nøjagtige stifter varierer efter model, men A4 og A5 bruges på Nano og Uno. Se Wire-bibliotekets dokumentation for din model, hvis du ikke bruger en Uno eller Nano.

Tilslut batteriet til jorden og VIN pin. Dette står for spænding i og accepterer en række forskellige jævnspændinger - men kontroller først din specifikke model, og den kan undertiden variere lidt.

Tilslut knappen til digital pin 2. Bemærk, hvordan 10k? modstand er forbundet til jorden. Dette er meget vigtigt! Dette er kendt som en pull down-modstand, og det forhindrer, at Arduino opdager falske data eller interferens som et knaptryk. Det tjener også til at beskytte tavlen. Hvis denne modstand ikke blev brugt, ville + 5V gå direkte i jorden. Dette er kendt som en død kort og er en nem måde at dræbe en Arduino på.

Hvis du lodder dette kredsløb, skal du beskytte dine forbindelser med varmekrympeslange:

Sørg for, at du ikke opvarmer den for meget, og gør det kun, når du er sikker på, at kredsløbet fungerer. Det kan også være en god idé at vri dine kabler i par. Dette holder dem pæne og hjælper med at beskytte dem mod unødig stress:

Knapestest

Nu, hvor du har bygget kredsløbet, skal du uploade denne testkode (sørg for at vælge det rigtige kort og port fra Værktøjer> Tavle og Værktøjer> Port menuer):

const int-knapPin = 2; // nummeret på indstillingen af ​​nålen til knapnåle () pinMode (buttonPin, INPUT); // setup-knap Serial.begin (9600); // setup serial void loop () if (digitalRead (buttonPin) == HIGH) Serial.print ("Det fungerer"); forsinkelse (250); 

Når Arduino er uploadet, skal du oprette forbindelse via USB og åbne den serielle skærm (Øverst til højre> Seriel skærm). Du skal se ordene Det virker vises hver gang du trykker på knappen.

Hvis der ikke sker noget, skal du tjekke dit kredsløb dobbelt.

OLED-opsætning

Du skal installere to biblioteker for at køre skærmen. Download bibliotekerne Adafruit_SSD1306 og Adafruit-GFX [No Longer Available] fra Github, og gem dem i din biblioteksmappe. Hvis du ikke er sikker på, hvor biblioteksmapperne er, skal du læse min retro-gaming-tutorial Arduino Retro-spil med en OLED-skærm Arduino Retro-spil med en OLED-skærm Har du nogensinde spekuleret på, hvor meget arbejde det tager at skrive dine egne retrospil? Hvor let er Pong at kode for Arduino? , hvor jeg konfigurerer den samme skærm mere detaljeret.

Genstart din Arduino IDE og upload en testskitse fra Fil> Eksempler menu. Vælg Adafruit SSD1306 og så ssd1306_128x64_i2c. Upload denne kode (det vil tage et stykke tid), og du skal se masser af figurer og mønstre på displayet:

Hvis der ikke sker noget, skal du tjekke dine forbindelser. Hvis det efter kontrol stadig ikke fungerer, skal du ændre prøvekoden.

Skift denne linje (i starten af Opsætning fungere):

display.begin (SSD1306_SWITCHCAPVCC, 0x3D);

Til dette:

display.begin (SSD1306_SWITCHCAPVCC, 0x3C);

Dette fortæller biblioteket specifikke detaljer om det display, du bruger. Du skal nu være klar til at fortsætte med build.

Sagen

Hvis du bygger dette på en brødbræt, eller ikke ønsker at bokse det op, kan du springe dette trin over.

Jeg designet og 3D trykte denne boks. Hent filerne på Thingiverse. Bare rolig, hvis du ikke har en 3D-printer - online-tjenester 3D Hubs og Shapeways leverer online-udskrivningstjenester.

Du kan nemt fremstille denne kasse af træ eller ved at købe en plastikprojektkasse.

Låget er et simpelt push fit design og indeholder et par udskæringer til hardware:

Koden

Nu hvor alt er klar, er det tid for koden. Sådan fungerer det i Pseudocode:

hvis der trykkes på knappen generer tilfældigt tal, hvis tilfældigt tal er 20 vis grafik ellers hvis tilfældigt tal er 1 vis grafik ellers vis nummer

For at dette kan fungere ordentligt, skal der genereres et tilfældigt tal - dette er matrullen. Arduino har en tilfældig talgenerator kaldet tilfældig, men bør ikke bruge det. Selvom det er godt nok til grundlæggende tilfældige opgaver, er det bare ikke tilfældigt nok til en elektronisk matrice. Årsagerne er lidt komplicerede, men det kan du også, hvis du er interesseret på boallen.com.

Download TrueRandom-biblioteket af sirleech på Github. Føj dette til din biblioteksmappe, og genstart IDE'en.

Opret nu en ny fil, og indstil din oprindelige kode (eller bare tag den færdige kode fra GitHub):

#include #include #include #include #include Adafruit_SSD1306 display (4); tom opsætning () display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // opsæt OLED-pinMode (buttonPin, INPUT); // setup-knap void loop () 

Denne kode konfigurerer OLED og inkluderer alle de biblioteker, du har brug for for at kommunikere med den, sammen med dit nye tilfældige nummerbibliotek. Føj dette nu til hovedsløjfen:

if (digitalRead (buttonPin) == HØJ) forsinkelse (15); if (digitalRead (buttonPin) == HØJ) display.fillScreen (SVART); // slet hele displayet.setTextColor (WHITE); display.setTextSize (2); display.set markør (0, 0); display.println (TrueRandom.random (1, 21)); // udskriv visning af tilfældigt tal.display (); // skriv for at få vist forsinkelse (100); 

Dette er ganske grundlæggende i øjeblikket, men det er en fungerende D20. Hver gang der trykkes på knappen, vises et tilfældigt tal mellem en og 20 på skærmen:

Dette fungerer godt, men det er lidt kedeligt. Lad os gøre det bedre. Opret to nye metoder, drawDie og eraseDie:

void drawDie () display.drawRect (32, 0, 64, 64, WHITE); 

Disse tegner en matrice midt på skærmen. Du ønsker måske at gøre dette mere kompliceret, måske ved at tegne en D20, eller en D12 osv., Men det er lettere at tegne en grundlæggende seks-sidet matrice. Her er den grundlæggende anvendelse:

drawDie ();

Derefter skal du ændre din hovedsløjfe for at tegne det tilfældige tal, kun større og i midten. Skift tekststørrelse og markør til dette:

display.setTextColor (WHITE); display.set markør (57, 21);

Det ser meget bedre ud nu:

Det eneste problem er med tal større end ni:

Rettelsen til dette er enkel. Eventuelle tal under 10 har markøren indstillet til en anden position end numrene 10 eller større. Erstat denne linje:

display.set markør (57, 21);

Med dette:

int roll = TrueRandom.random (1, 21); // gem det tilfældige nummer, hvis (rulle < 10)  // single character number display.setCursor(57, 21);  else  // dual character number display.setCursor(47, 21); 

Her er hvordan det ser ud nu:

Alt, hvad der er tilbage nu, er for billederne, når du ruller et kritisk hit eller går glip af. Der er et par trin involveret, men det er en enkel nok proces.

Find et passende billede, du vil bruge (jo enklere, jo bedre, da skærmen kun er en farve). Her er de billeder, jeg brugte:

Billedkredit: publicdomainvectors.org

Ethvert billede, du ønsker at bruge, skal konverteres til en HEX-matrix. Dette er en repræsentation af billedet i kodeform. Der er mange tilgængelige værktøjer til at gøre dette, og nogle er skrevet specifikt til OLED-skærme. Den nemmeste måde er at bruge PicturetoC_Hex online-værktøjet. Her er de nødvendige indstillinger:

Upload dit billede, og indstil kodeformatet til HEX: 0x. Sæt Anvendes til til Sort / hvid til alle tegnefunktioner. Efterlad alle de andre indstillinger som standard. Du kan ændre størrelsen på billedet her, hvis du har brug for det. Trykke Få C-streng og du skal se billeddataene vises:

Du har brug for disse genererede data på et minut. Opret to kaldte funktioner drawExplosion og drawSkull (eller et passende navn til din version). Her er koden:

void drawExplosion () // butikbillede i EEPROM statisk const usigneret char PROGMEM imExp [] = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 , 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc, 0x00,0x00,0x00 , 0x00,0x00,0x78,0x7f, 0xff, 0xc0,0x00,0x00,0x00,0x00,0xfe, 0xff, 0xff, 0xf0,0x00,0x00,0x00,0x3f, 0xff, 0xff, 0xff, 0xfb, 0x00,0x00,0x00 , 0x7f, 0xff, 0xff, 0xff, 0xff, 0xc0,0x00,0x00,0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,0x01,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,0x03,0xff , 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,0x03,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,0x03,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,0x03,0xff, 0xff , 0xff, 0xff, 0xff, 0xff, 0xf0,0x07,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,0x07,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,0x07,0xff, 0xff, 0xff , 0xff, 0xff, 0xff, 0xe0,0x07,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,0x1f, 0xff, 0xff, 0xff, 0xff , 0xff, 0xff, 0xe0,0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,0x03,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,0x03,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,0x03,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0,0x01,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,0x00,0x0f, 0xff, 0xff, 0xff, 0xff, 0xFE, 0x00,0x00,0x07,0xff, 0xff, 0xf9,0xff, 0xd8, 0x00,0x00,0x00,0x3f, 0xff, 0xf0,0x0f, 0x00,0x00,0x00,0x00,0x1f, 0x1f, 0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x0f, 0xe0,0x00,0x00,0x00, 0x00,0x00,0x00,0x0f, 0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x0f, 0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x0f, 0xf0,0x00,0x00,0x00,0x00, 0x00,0x00,0x0f, 0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x0f, 0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x3f, 0xf8,0x00,0x00,0x00,0x00,0x00, 0x00,0x7f, 0xff, 0x00,0x00,0x00,0x00,0x00,0x00,0x7f, 0xff, 0x00,0x00,0x00,0x00,0x00,0x00,0x7f, 0xff, 0x00,0x00,0x00,0x00,0x00,0x00, 0x7f, 0xFE, 0x00,0x00,0x00,0x00,0x00,0x00,0x7f, 0xfc, 0x00,0x00,0x00,0x00,0x00,0x00,0x0f, 0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x07, 0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xe0, 0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x0f, 0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x0f, 0xf8,0x00, 0x00,0x00,0x00,0x00,0x00,0x0f, 0xfc, 0x00,0x00,0x00,0x00,0x00,0x00,0x1f, 0xff, 0x00,0x00,0x00,0x00,0x00,0x0f, 0xff, 0xff, 0xff, 0x00, 0x00,0x00,0x07,0xff, 0xff, 0xff, 0xff, 0xf0,0x00,0x00,0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,0x00,0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,0x00,0x01,0xbf, 0xff, 0xff, 0xff, 0x30,0x00,0x00,0x00,0x13,0xf7,0xb8,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00; display.drawBitmap (0, 0, imExp, 64, 62, 1); // draw champignon sky void drawSkull () // store billede i EEPROM statisk const unsigned char PROGMEM imSku [] = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 , 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0xf0,0x00,0x00,0x00 , 0x00,0x78,0x00,0x07,0xf0,0x00,0x00,0x00,0x00,0xfc, 0x00,0x07,0xf8,0x00,0x00,0x00,0x00,0xfe, 0x00,0x07,0xf8,0x00,0x00,0x00,0x01 , 0xFE, 0x00,0x07,0xfc, 0x00,0x00,0x00,0x01,0xfe, 0x00,0x07,0xfe, 0x00,0x3f, 0xc0,0x03,0xfe, 0x00,0x01,0xff, 0x81,0xff, 0xfc, 0x07,0xec , 0x00,0x00,0x3f, 0xc7,0xff, 0xff, 0x1f, 0xc0,0x00,0x00,0x0f, 0xcf, 0xff, 0xff, 0xDF, 0x00,0x00,0x00,0x07,0xbf, 0xff, 0xff, 0xee, 0x00,0x00 , 0x00,0x01,0x7f, 0xff, 0xff, 0xf0,0x00,0x00,0x00,0x00,0xff, 0xff, 0xff, 0xf8,0x00,0x00,0x00,0x01,0xff, 0xff, 0xff, 0xf8,0x00,0x00,0x00 , 0x03,0xff, 0xff, 0xff, 0xfc, 0x00,0x00,0x00,0x07,0xff, 0xff, 0xff, 0xFE, 0x00,0x00,0x00,0x0f, 0xff, 0xff, 0xff, 0xff, 0x00,0x00,0x00,0x0f , 0xff, 0xff, 0xff, 0xff, 0x00,0x00,0x00,0x1f, 0xff, 0xff, 0xff, 0xff, 0x80,0x00,0x00 , 0x1f, 0xff, 0xff, 0xff, 0xff, 0x80,0x00,0x00,0x1f, 0xff, 0xff, 0xff, 0xff, 0x80,0x00,0x00,0x1f, 0xff, 0xff, 0xff, 0xff, 0x80,0x00,0x00,0x1f , 0xff, 0xff, 0xff, 0xff, 0x80,0x00,0x00,0x1f, 0xff, 0xff, 0xff, 0xff, 0x80,0x00,0x00,0x1e, 0x3f, 0xff, 0x3f, 0xc7,0x80,0x00,0x00,0x1e, 0x0C , 0x0F, 0x00,0x07,0x80,0x00,0x00,0x1e, 0x00,0x0f, 0x00,0x0f, 0x80,0x00,0x00,0x1e, 0x00,0x19,0x80,0x0f, 0x00,0x00,0x00,0x0f, 0x00,0x19 , 0x80,0x0f, 0x00,0x00,0x00,0x0d, 0x00,0x30,0xc0,0x1f, 0x00,0x00,0x00,0x05,0x80,0x70,0xc0,0x1e, 0x00,0x00,0x00,0x05,0xf0,0xe0,0xe0 , 0x36,0x00,0x00,0x00,0x01,0xff, 0xe0,0x7f, 0xf0,0x00,0x00,0x00,0x03,0xff, 0xc4,0x7f, 0xf0,0x00,0x00,0x00,0x03,0xff, 0xcc, 0x7f, 0xf0 , 0x00,0x00,0x00,0x03,0xff, 0xcc, 0x7f, 0xf0,0x00,0x00,0x00,0x03,0xff, 0x9e, 0x7f, 0xf0,0x00,0x00,0x00,0x00,0xff, 0xFE, 0x7f, 0xc0,0x00 , 0x00,0x00,0x00,0x01,0xff, 0xf8,0x1c, 0x00,0x00,0x00,0x03,0xe0,0x3f, 0x01,0xbf, 0x00,0x00,0x00,0x07,0xa6,0x40,0x09,0x9f, 0x80,0x00 , 0x00,0x1f, 0x27,0x5a, 0x39,0x9f, 0xf8,0x00,0x01,0xff, 0x27,0xdb, 0x39,0x0f, 0xfc, 0x00,0x03,0xfe, 0x31,0x7f, 0x39,0x07,0xfc, 0x00,0x03 , 0xfc, 0x10,0x1a, 0x02,0x03,0xf8,0x00,0x03,0xf8,0x10,0x00,0x02,0x01,0xf0,0x00,0x01,0xf8,0x10,0x00,0x02,0x01,0xe0,0x00,0x00,0x78 , 0x10,0x00,0x02,0x00,0xe0,0x00,0x00,0x70,0x30,0x00,0x02,0x00,0x00,0x00,0x00,0x30,0x20,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x64 , 0x00,0x1b, 0x00,0x00,0x00,0x00,0x00,0x73,0x55,0x63,0x00,0x00,0x00,0x00,0x00,0xf9,0x55,0x4f, 0x00,0x00,0x00,0x00,0x00,0x7f, 0x14 , 0x1f, 0x00,0x00,0x00,0x00,0x00,0x1f, 0xe0,0xfe, 0x00,0x00,0x00,0x00,0x00,0x0f, 0xff, 0xfc, 0x00,0x00,0x00,0x00,0x00,0x07,0xff, 0xf0 , 0x00,0x00,0x00,0x00,0x00,0x03,0xff, 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 , 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00; display.drawBitmap (0, 0, imSku, 60, 64, 1); // tegne skull sky

Hvis du ønsker at bruge de billeder, jeg har brugt, skal du gå videre og kopiere koden. Hvis du vil bruge dine egne billeder, du har genereret tidligere, skal du kopiere bytekoden til imSku og imExp arrays efter behov.

Sådan ser disse billeder ud på skærmen:

Den vigtigste del af denne kode er denne linje:

statisk const usigneret char PROGMEM imSku []

Dette fortæller Arduino at gemme dine billeder i EEPROM (hvad er EEPROM? Sådan bruges Arduino EEPROM til at gemme data mellem strømcykler Sådan bruges Arduino EEPROM til at gemme data mellem strømcykler Vidste du, at Arduino kan gemme data, når det er slukket ? Jeg taler om EEPROM, så vær med, da jeg viser dig, hvordan du læser og skriver til den.) I stedet for dens RAM (hurtig guide til RAM En hurtig og beskidt guide til RAM: Hvad du har brug for at vide en hurtig og Dirty Guide til RAM: Hvad du har brug for at vide RAM er en vigtig komponent på enhver computer, men det kan være forvirrende. Vi deler det ned i let at forstå begreber, du vil forstå.) Årsagen til dette er enkel; Arduino har begrænset RAM, og at bruge det hele til at gemme billeder kan muligvis ikke efterlade noget tilbage for din kode at udføre

Rediger dit hoved hvis erklæring for at vise disse nye grafik, når en eller 20 rulles. Bemærk kodelinjerne for også at vise antallet, der rulles sammen med billederne:

if (rulle == 20) drawExplosion (); display.set markør (80, 21); display.println ( "20");  andet hvis (rulle == 1) display.setCursor (24, 21); display.println ( "1"); drawSkull ();  andet hvis (rulle < 10)  // single character number display.setCursor(57, 21); display.println(roll); // write the roll drawDie(); // draw the outline  else  // dual character number display.setCursor(47, 21); display.println(roll); // write the roll drawDie(); // draw the outline 

Og her ser de nye ruller ud:

Det er alt for kodesiden (gå tag koden fra GitHub, hvis du sprang over alt det). Du kan let ændre dette til at være en D12, D8 og så videre.

Afslutning

Nu hvor alt andet er færdigt, er det tid til at bokse alt sammen. Skru skærmen på, og sørg for ikke at stramme boltene for meget. Dette er muligvis den sværeste del. Jeg knækkede et display ved at gøre det, så du kan ønske at bruge nogle plastikskiver. Jeg skar nogle firkanter ud af Plasticard:

De små møtrikker og bolte kan være vanskelige at forbinde. Tip: Brug et lille stykke Blu-Tack på enden af ​​en skruetrækker til at placere møtrikkerne oprindeligt:

Skru på knappen, tilslut batteriet og luk låget. Vær forsigtig med ikke at fange nogen ledninger eller bundt dem for tæt sammen, muligvis forårsage en kort. Afhængigt af længden på dine bagerste ledninger, skal du muligvis beskytte udsatte forbindelser med en vis isolering (en seriekasse fungerer godt):

Sådan ser det ud indeni:

Og her er det færdige produkt:

Du skal nu være den stolte ejer af en elektronisk D20!

Hvilke ændringer foretog du? Har du ændret billederne? Fortæl os det i kommentarerne, vi vil meget gerne se, hvad du gjorde!




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.