Gumulong sa Estilo Gamit Ang DIY Electronic D20 Die

Gumulong sa Estilo Gamit Ang DIY Electronic D20 Die

Nais mo ba ng kaunting kakaiba para sa iyong susunod na laro ng role-play ng tabletop? Paano ang tungkol sa isang elektronikong D20 na may pasadyang graphics para sa mga kritikal na hit at miss? Ngayon ipapakita ko sa iyo kung paano bumuo ng iyong sariling gamit ang isang Arduino at ilang simpleng mga bahagi.





Huwag magalala kung hindi ka pa nakakagamit ng Arduino dati, mayroon kaming panimulang gabay .





Bumuo ng Plano

Ito ay isang simpleng proyekto. Ang isang Arduino ay magdadala ng isang display na OLED, at isang pindutan ang igulong ng mamatay. Ipapakita ang mga pasadyang graphics para sa mga kritikal na hit o kritikal na miss roll. Madali mong mababago ang code upang maging isang D8, D10, o D12.





Ang iyong kailangan

  • 1 x Arduino
  • 1 x 0.96 ' I2C OLED display
  • 1 x Push Button
  • 1 x 10k? Resistor
  • 1 x Breadboard
  • Iba't ibang mga wire ng kawit
  • Buong code dito, kung hindi mo nais na sundin ang lahat ng mga paraan sa pamamagitan ng nakasulat na mga tagubilin.

Iyon ang mga pangunahing bahagi na kailangan mo upang makabuo ng iyong sariling D20. Maaari mong hilingin na mai-install ito sa isang kaso (tinalakay sa ibaba) at solder ang circuit sa isang mas permanenteng estado. Narito ang mga karagdagang bahagi na kakailanganin mong gawin iyon:

Ang mga ipinakitang OLED na ito ay napaka-cool. Karaniwan silang maaaring bilhin sa puti, asul, dilaw, o pinaghalong tatlo. Bumili ako ng isa na asul, upang maitugma ang aking kaso. Siguraduhin na nakakuha ka ng I2C modelo sa halip na SPI .



Halos anumang Arduino ay magiging angkop. Pinili ko ang isang Nano, dahil ang mga ito ay sapat na maliit upang magkasya sa kaso. Suriin ang aming gabay sa pagbili para sa karagdagang impormasyon sa mga modelo ng Arduino.

Ang Circuit

Narito ang circuit na kailangan mo:





Kumonekta VCC at GND sa OLED display sa Arduino + 5V at lupa . Kumonekta analog 4 sa Arduino sa pin na may label SDA . Kumonekta analog 5 sa SCL pin Naglalaman ang mga pin na ito ng circuitry na kinakailangan upang himukin ang display gamit ang I2C bus. Ang eksaktong mga pin ay mag-iiba ayon sa modelo, ngunit ang A4 at A5 ay ginagamit sa Nano at Uno. Suriin ang Dokumentasyon ng wire library para sa iyong modelo kung hindi ka gumagamit ng isang Uno o Nano.

Ikonekta ang baterya sa lupa at ang WINE pin Ito ay kumakatawan sa boltahe, at tumatanggap ng iba't ibang iba't ibang mga boltahe ng DC - ngunit suriin muna ang iyong tukoy na modelo, at kung minsan ay maaaring mag-iba ito nang bahagya.





Ikonekta ang pindutan sa digital pin 2 . Pansinin kung paano ang 10k? ang risistor ay konektado sa lupa. Ito ay napakahalaga! Kilala ito bilang isang pull down risistor, at pinipigilan nito ang pagtuklas ng Arduino ng maling data o panghihimasok bilang isang pindot ng pagpindot. Naghahain din ito upang protektahan ang board. Kung ang resistor na ito ay hindi ginamit, + 5V ay dumidiretso sa lupa. Ito ay kilala bilang a patay maikli at ay isang madaling paraan upang pumatay ng isang Arduino.

Kung naghihinang ka sa circuit na ito, protektahan ang iyong mga koneksyon sa heat shrink tubing:

Siguraduhin na hindi mo masyadong pinainit, at gawin lamang ito sa sandaling sigurado ka na gumagana ang circuit. Maaari mo ring hilingin na paikutin ang iyong mga kable sa mga pares. Pinapanatili itong malinis at nakakatulong na protektahan sila mula sa labis na pagkapagod:

Pagsubok sa Butones

Ngayon na binuo mo ang circuit, i-upload ang test code na ito (tiyaking pipiliin ang tamang board at port mula sa Mga tool> Lupon at Mga tool> Port mga menu):

const int buttonPin = 2; // the number of the button pin
void setup() {
pinMode(buttonPin, INPUT); // setup button
Serial.begin(9600); // setup serial
}
void loop(){
if(digitalRead(buttonPin) == HIGH) {
Serial.print('It Works');
delay(250);
}
}

Kapag na-upload, panatilihing nakakonekta ang Arduino sa pamamagitan ng USB at buksan ang serial monitor ( Nangungunang Kanan> Serial Monitor ). Dapat mong makita ang mga salita Gumagana siya lilitaw tuwing pinindot mo ang pindutan.

Kung walang nangyari, pumunta at i-double check ang iyong circuit.

OLED Setup

Kailangan mong mag-install ng dalawang mga aklatan upang himukin ang display. I-download ang Adafruit_SSD1306 at Adafruit-GFX [Wala nang Magagamit na] mga aklatan mula sa Github, at i-save ang mga ito sa iyong folder ng library. Kung hindi ka sigurado kung nasaan ka mga folder ng silid-aklatan, basahin ang aking tutorial sa paglalaro ng retro, kung saan iko-configure ko ang parehong display na ito nang mas detalyado.

I-restart ang iyong Arduino IDE at mag-upload ng isang test sketch mula sa File> Mga Halimbawa menu Pumili Adafruit SSD1306 at pagkatapos ssd1306_128x64_i2c . I-upload ang code na ito (tatagal ito), at dapat mong makita ang maraming mga hugis at pattern sa display:

Kung walang nangyari, i-double check ang iyong mga koneksyon. Kung, pagkatapos suriin, hindi pa rin ito gagana, kakailanganin mong baguhin ang sample code.

kung paano ayusin ang gmail ayon sa pangalan

Baguhin ang linyang ito (sa simula ng pag-setup pagpapaandar):

display.begin(SSD1306_SWITCHCAPVCC, 0x3D);

Sa ganito:

display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

Sinasabi nito sa tukoy na detalye ng library tungkol sa display na iyong ginagamit. Dapat ay handa ka na ngayong magpatuloy sa pagbuo.

Ang kaso

Kung itinatayo mo ito sa isang breadboard, o hindi nais na maitaguyod ito, maaari mong laktawan ang hakbang na ito.

Dinisenyo ko at 3D ang naka-print na kahon na ito. I-on ang mga file Thingiverse . Huwag mag-alala kung wala kang isang 3D printer - mga serbisyong online 3D Hubs at Mga Shapeway magbigay ng mga serbisyong online sa pag-print.

Madali mong maisasagawa ang kahon na ito sa kahoy, o sa pamamagitan ng pagbili ng isang plastik kahon ng proyekto .

Ang takip ay isang simpleng disenyo ng push fit, at naglalaman ng ilang mga ginupit para sa hardware:

Ang Code

Ngayon na handa na ang lahat, oras na para sa code. Narito kung paano ito gagana Pseudocode :

if button is pressed
generate random number
if random number is 20
show graphic
else if random number is 1
show graphic
else
show number

Upang ito ay gumana nang maayos, isang random na numero ang kailangang mabuo - ito ang roll ng die. Ang Arduino ay mayroong isang random number generator na tinatawag sapalaran , ngunit hindi dapat gamitin ito. Habang ito ay sapat na mahusay para sa pangunahing mga random na gawain, hindi lamang ito sapat na random para sa isang elektronikong pagkamatay. Ang mga dahilan kung bakit medyo kumplikado, ngunit maaari kang magbasa nang higit pa kung interesado ka boallen.com .

I-download ang TrueRandom silid-aklatan ng sirleech kay Github. Idagdag ito sa iyong folder ng library at i-restart ang IDE.

Lumikha ngayon ng isang bagong file at i-setup ang iyong paunang code (o kunin lamang ang natapos na code mula sa GitHub):

#include
#include
#include
#include
#include
Adafruit_SSD1306 display(4);
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // setup the OLED
pinMode(buttonPin, INPUT); // setup button
}
void loop() {

}

Ang code na ito ay nag-configure ng OLED, at kasama ang lahat ng mga aklatan na kailangan mo upang makipag-ugnay dito, kasama ang iyong bagong library ng random na numero. Idagdag ito ngayon sa pangunahing loop:

if(digitalRead(buttonPin) == HIGH) {
delay(15);
if(digitalRead(buttonPin) == HIGH) {
display.fillScreen(BLACK); // erase the whole display
display.setTextColor(WHITE);
display.setTextSize(2);
display.setCursor(0, 0);
display.println(TrueRandom.random(1, 21)); // print random number
display.display(); // write to display
delay(100);
}
}

Ito ay medyo pangunahing sa minuto, ngunit ito ay isang gumaganang D20. Kailan man pinindot ang pindutan, isang random na numero sa pagitan ng isa at 20 ang ipinapakita sa screen:

Ito ay gumagana nang maayos, ngunit medyo nakakainip. Pagandahin natin ito. Lumikha ng dalawang bagong pamamaraan, drawDie at burahin siDie :

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

Ang mga ito ay gumuhit ng isang mamatay sa gitna ng screen. Maaari mong hilingin na gawing mas kumplikado ito, marahil sa pamamagitan ng pagguhit ng D20, o isang D12 at iba pa, ngunit mas simple na gumuhit ng pangunahing anim na panig na mamatay. Narito ang pangunahing paggamit:

drawDie();

Susunod, baguhin ang iyong pangunahing loop upang iguhit ang random na numero, mas malaki lamang at nasa gitna. Baguhin ito sa laki ng teksto at cursor:

display.setTextColor(WHITE);
display.setCursor(57, 21);

Mas maganda ang hitsura nito ngayon:

Ang problema lang sa mga bilang na mas malaki sa siyam:

Ang pag-aayos para dito ay simple. Anumang mga numero na mas mababa sa 10 ay magkakaroon ng cursor na nakatakda sa ibang posisyon kaysa sa mga numerong 10 o mas malaki. Palitan ang linyang ito:

kung paano basahin ang isang .dat file
display.setCursor(57, 21);

Kasama nito:

int roll = TrueRandom.random(1, 21); // store the random number
if (roll <10) {
// single character number
display.setCursor(57, 21);
}
else {
// dual character number
display.setCursor(47, 21);
}

Narito kung ano ang hitsura ngayon:

Ang natitira ngayon ay para sa mga imahe kapag gumulong ka ng isang kritikal na hit o miss. Mayroong ilang mga kasangkot na hakbang, ngunit ito ay isang simpleng sapat na proseso.

Maghanap ng angkop na imaheng nais mong gamitin (mas simple ang mas mahusay habang ang display ay solong kulay lamang). Narito ang mga larawang ginamit ko:

Credit sa Larawan: publicdomainvectors.org

Anumang imahe na nais mong gamitin ay kailangang mai-convert sa isang HEX array. Ito ay isang representasyon ng imahe sa form ng code. Maraming mga tool na magagamit upang gawin ito, at ang ilan ay partikular na nakasulat para sa mga OLED display. Ang pinakamadaling paraan ay ang paggamit ng PicturetoC_Hex online na tool. Narito ang mga setting na kinakailangan:

naglalaro ba ang wii u ng mga larong gamecube?

I-upload ang iyong imahe, at itakda ang format ng code sa HEX: 0x . Itakda Ginagamit para sa sa Itim / Puti para sa lahat ng paggana ng imahe ng gumuhit . Iwanan ang lahat ng iba pang mga pagpipilian bilang mga default. Maaari mong baguhin ang laki dito ang imahe kung kailangan mo. Pindutin Kunin ang C String at dapat mong makita ang paglabas ng data ng imahe:

Kakailanganin mo ang nabuong data sa isang minuto. Lumikha ng dalawang pagpapaandar na tinatawag gumuhitExplosion at drawSkull (o isang angkop na pangalan para sa iyong bersyon). Narito ang code:

void drawExplosion() {
// store image in EEPROM
static const unsigned 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 mushroom cloud
}
void drawSkull() {
// store image in EEPROM
static 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); // draw skull cloud
}

Kung nais mong gamitin ang mga imaheng ginamit ko, magpatuloy at kopyahin ang code. Kung nais mong gamitin ang iyong sariling mga imaheng nabuo nang mas maaga, kopyahin ang byte code sa imSku at imExp arrays tulad ng kinakailangan.

Narito kung ano ang hitsura ng mga larawang iyon sa display:

Ang pinakamahalagang bahagi ng code na iyon ay ang linyang ito:

static const unsigned char PROGMEM imSku[]

Sinasabi nito sa Arduino na iimbak ang iyong mga imahe sa EEPROM ( ano ang EEPROM? ) sa halip na RAM nito ( mabilis na gabay sa RAM ). Ang dahilan para dito ay simple; ang Arduino ay may limitadong RAM, at ang paggamit ng lahat ng ito upang mag-imbak ng mga imahe ay maaaring hindi mag-iwan ng anumang natitira para sa iyong code upang maipatupad

Baguhin ang iyong pangunahing kung pahayag upang ipakita ang mga bagong graphics kapag ang isa o 20 ay pinagsama. Tandaan ang mga linya ng code upang maipakita ang bilang na pinagsama kasama ng mga imahe pati na rin:

if(roll == 20) {
drawExplosion();
display.setCursor(80, 21);
display.println('20');
}
else if(roll == 1) {
display.setCursor(24, 21);
display.println('1');
drawSkull();
}
else if (roll <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
}

At narito kung ano ang hitsura ng mga bagong rolyo:

Iyon lang ang para sa panig ng code (pumunta sunggaban ang code mula sa GitHub kung nilaktawan mo ang lahat ng iyon). Madali mong mababago ito upang maging isang D12, D8, at iba pa.

Huling pagtitipon

Ngayon na ang lahat ng iba pa ay tapos na, oras na upang i-box up ang lahat. Bolt ang display sa, siguraduhin na hindi masyadong higpitan ang mga bolt. Ito ay marahil ang pinakamahirap na bahagi. Nag-crack ako ng isang display sa paggawa nito, kaya maaaring gusto mong gumamit ng ilang mga plastic washer. Pinutol ko ang ilang mga parisukat Plasticard :

Ang maliliit na mani at bolt ay maaaring mahirap makonekta. Tip: Gumamit ng isang maliit na piraso ng Blu-Tack sa dulo ng isang distornilyador upang paunang upuan ang mga mani:

I-screw ang button, ikonekta ang baterya at isara ang takip. Mag-ingat na hindi ma-trap ang anumang mga wire, o i-bundle ang mga ito nang masyadong mahigpit, posibleng maging sanhi ng isang maikli. Depende sa haba ng iyong mga sumusunod na direksyon, maaaring kailangan mong protektahan ang mga nakalantad na koneksyon sa ilang pagkakabukod (gumagana nang maayos ang isang serial box):

Narito kung ano ang hitsura sa loob:

At narito ang natapos na produkto:

Dapat mo na ngayong maging mapagmataas na may-ari ng isang elektronikong D20!

Anong mga pagbabago ang ginawa mo? Binago mo ba ang mga imahe? Ipaalam sa amin sa mga komento, nais naming makita kung ano ang iyong ginawa!

Magbahagi Magbahagi Mag-tweet Email Isang Gabay ng Baguhan sa Animating Speech

Ang animating pagsasalita ay maaaring maging isang hamon. Kung handa ka nang magsimulang magdagdag ng diyalogo sa iyong proyekto, sisirain namin ang proseso para sa iyo.

Basahin Susunod
Mga Kaugnay na Paksa
  • DIY
  • Arduino
  • Board Game
  • Elektronika
Tungkol sa May-akda Joe Coburn(136 Mga Artikulo Na-publish)

Si Joe ay nagtapos sa Computer Science mula sa University of Lincoln, UK. Siya ay isang propesyonal na developer ng software, at kapag hindi siya lumilipad ng mga drone o sumusulat ng musika, madalas siyang matagpuan na kumukuha ng mga larawan o gumawa ng mga video.

Higit pa Mula kay Joe Coburn

Mag-subscribe sa aming newsletter

Sumali sa aming newsletter para sa mga tip sa tech, pagsusuri, libreng ebook, at eksklusibong deal!

Mag-click dito upang mag-subscribe
Kategorya Diy