Roll ar stilu ar šo DIY elektronisko D20 die

Roll ar stilu ar šo DIY elektronisko D20 die

Vai vēlaties kaut ko nedaudz unikālu savai nākamajai lomu spēļu lomai uz galda? Kā būtu ar elektronisko D20 ar pielāgotu grafiku kritiskiem trāpījumiem? Šodien es jums parādīšu, kā izveidot savu, izmantojot Arduino un dažas vienkāršas detaļas.





Neuztraucieties, ja nekad iepriekš neesat lietojis Arduino, mums ir darba sākšanas ceļvedis .





Veidot plānu

Šis ir vienkāršs projekts. Arduino vadīs OLED displeju, un poga ritinās kauliņu. Pielāgota grafika tiks rādīta kritisku trāpījumu vai kritisku garāmgājienu laikā. Jūs varat viegli mainīt kodu, lai tas būtu D8, D10 vai D12.





Ko tev vajag

  • 1 x Arduino
  • 1 x 0,96 collas I2C OLED displejs
  • 1 x spiedpoga
  • 1 x 10k? Rezistors
  • 1 x maizes dēlis
  • Dažādi savienojami vadi
  • Pilns kods šeit, ja nevēlaties ievērot rakstiskos norādījumus.

Šīs ir galvenās detaļas, kas nepieciešamas, lai izveidotu savu D20. Iespējams, vēlēsities to instalēt korpusā (aplūkots turpmāk) un pielodēt ķēdi pastāvīgākā stāvoklī. Šeit ir papildu daļas, kas jums būs nepieciešamas, lai to izdarītu:

Šie OLED displeji ir ļoti forši. Tos parasti var iegādāties baltā, zilā, dzeltenā krāsā vai trīs maisījumos. Es nopirku vienu zilā krāsā, lai tas atbilstu manam gadījumam. Pārliecinieties, ka saņemat I2C modeli, nevis SPI .



Gandrīz jebkurš Arduino būs piemērots. Esmu izvēlējies Nano, jo tie ir pietiekami mazi, lai ietilptu korpusā. Plašāku informāciju par Arduino modeļiem skatiet mūsu pirkšanas rokasgrāmatā.

Ķēde

Šeit ir nepieciešama ķēde:





Savienot VCC un GND uz OLED displeja uz Arduino +5V un zemes . Savienot analogs 4 uz Arduino līdz tapai, kas apzīmēta SDA . Savienot analogs 5 uz SCL pin. Šajās tapās ir shēma, kas nepieciešama displeja vadīšanai, izmantojot I2C kopni. Precīzas tapas būs atšķirīgas atkarībā no modeļa, bet A4 un A5 tiek izmantotas Nano un Uno. Pārbaudiet Vadu bibliotēkas dokumentācija savam modelim, ja neizmantojat Uno vai Nano.

Pievienojiet akumulatoru zemei ​​un VĪNS pin. Tas nozīmē spriegumu un pieņem dažādus dažādus līdzstrāvas spriegumus, taču vispirms pārbaudiet savu konkrēto modeli, un tas dažreiz var nedaudz atšķirties.





Savienojiet pogu ar digitālā tapa 2 . Ievērojiet, kā 10k? rezistors ir pievienots zemei. Tas ir ļoti svarīgi! Tas ir pazīstams kā nolaižamais rezistors, un tas neļauj Arduino atklāt pogas nospiestu informāciju vai traucējumus. Tas kalpo arī dēļa aizsardzībai. Ja šis rezistors netiktu izmantots, +5V nonāktu tieši zemē. Tas ir pazīstams kā a miris īss un tas ir vienkāršs veids, kā nogalināt Arduino.

Ja lodējat šo ķēdi, aizsargājiet savienojumus ar termiski saraušanās caurulēm:

Pārliecinieties, ka nesasildāt pārāk daudz, un dariet to tikai tad, kad esat pārliecināts, ka ķēde darbojas. Iespējams, vēlēsities savīt kabeļus pāros. Tas viņus uztur glītus un palīdz pasargāt no pārmērīga stresa:

Pogas tests

Tagad, kad esat izveidojis ķēdi, augšupielādējiet šo testa kodu (noteikti atlasiet pareizo plati un portu no Rīki> Padome un Rīki> Ports izvēlnes):

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);
}
}

Pēc augšupielādes turiet Arduino savienotu, izmantojot USB, un atveriet seriālo monitoru ( Augšā pa labi> Sērijas monitors ). Jums vajadzētu redzēt vārdus Tas strādā parādās katru reizi, kad nospiežat pogu.

Ja nekas nenotiek, dodieties un vēlreiz pārbaudiet ķēdi.

OLED iestatīšana

Lai vadītu displeju, jums jāinstalē divas bibliotēkas. Lejupielādēt Adafruit_SSD1306 un Adafruit-GFX [vairs nav pieejamas] bibliotēkas no Github un saglabājiet tās savā bibliotēkas mapē. Ja neesat pārliecināts, kur atrodas bibliotēkas mapes, izlasiet manu retro spēļu pamācību, kur es konfigurēju šo pašu displeju sīkāk.

Restartējiet Arduino IDE un augšupielādējiet testa skici no Fails> Piemēri izvēlne. Izvēlieties Adafruit SSD 1306 un tad ssd1306_128x64_i2c . Augšupielādējiet šo kodu (tas prasīs kādu laiku), un displejā vajadzētu redzēt daudz formu un rakstu:

Ja nekas nenotiek, vēlreiz pārbaudiet savienojumus. Ja pēc pārbaudes tas joprojām nedarbosies, jums būs jāmaina parauga kods.

kā koplietot savu atrašanās vietu iPhone

Mainiet šo rindu (sākumā uzstādīt funkcija):

display.begin(SSD1306_SWITCHCAPVCC, 0x3D);

Šim nolūkam:

display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

Tas bibliotēkai sniedz konkrētu informāciju par jūsu izmantoto displeju. Tagad jums ir jābūt gatavam turpināt būvniecību.

Lieta

Ja jūs to veidojat uz maizes dēļa vai nevēlaties to iesaiņot, varat izlaist šo darbību.

Es izstrādāju un 3D izdrukāju šo kastīti. Ieslēdziet failus Thingiverse . Neuztraucieties, ja jums nav 3D printera - tiešsaistes pakalpojumi 3D centrmezgli un Formas nodrošināt tiešsaistes drukāšanas pakalpojumus.

Šo kastīti var viegli izgatavot no koka vai iegādājoties plastmasu projekta kaste .

Vāks ir vienkāršs spiedpoguļa dizains, un tajā ir daži aparatūras izgriezumi:

Kods

Tagad, kad viss ir gatavs, ir pienācis laiks kodam. Lūk, kā tas darbosies Pseidokods :

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

Lai tas darbotos pareizi, ir jāģenerē nejaušs skaitlis - tas ir kauliņu rullis. Arduino ir nejaušu skaitļu ģenerators, ko sauc nejauši , bet nevajadzētu to izmantot. Lai gan tas ir pietiekami labs izlases pamata uzdevumiem, tas vienkārši nav pietiekami nejaušs elektroniskai mirstībai. Iemesli ir nedaudz sarežģīti, taču, ja jūs interesē, varat izlasīt vairāk boallen.com .

Lejupielādēt TrueRandom bibliotēka pēc sirleech vietnē Github. Pievienojiet to savai bibliotēkas mapei un restartējiet IDE.

Tagad izveidojiet jaunu failu un iestatiet sākotnējo kodu (vai vienkārši paņemiet gatavo kodu no 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() {

}

Šis kods konfigurē OLED un ietver visas bibliotēkas, kas nepieciešamas, lai ar to sazinātos, kā arī jauno nejaušo skaitļu bibliotēku. Tagad pievienojiet to galvenajai cilpai:

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);
}
}

Tas ir diezgan vienkāršs brīdī, bet tas ir strādājošs D20. Ikreiz, kad tiek nospiesta poga, ekrānā tiek parādīts nejaušs skaitlis no viena līdz 20:

Tas darbojas labi, bet tas ir mazliet garlaicīgi. Padarīsim to labāku. Izveidojiet divas jaunas metodes, drawDie un eraseDie :

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

Tie ekrāna vidū uzzīmēs kauliņu. Iespējams, vēlēsities to padarīt sarežģītāku, iespējams, uzzīmējot D20 vai D12 un tā tālāk, taču vienkāršāk ir uzzīmēt pamata sešpusējo kauliņu. Šeit ir pamata lietojums:

drawDie();

Pēc tam mainiet galveno cilpu, lai uzzīmētu nejaušu skaitli, tikai lielāku un vidū. Mainiet teksta lielumu un kursoru uz šo:

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

Tagad izskatās daudz labāk:

Vienīgā problēma ir skaitļi, kas ir lielāki par deviņiem:

Labojums tam ir vienkāršs. Jebkuriem skaitļiem, kas ir mazāki par 10, kursors tiks iestatīts citā vietā nekā šie skaitļi 10 vai lielāki. Aizstāt šo rindu:

skatīties mūzikas videoklipus tiešsaistē, nevis youtube
display.setCursor(57, 21);

Ar šo:

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);
}

Lūk, kā tas izskatās tagad:

Tagad atliek tikai attēli, kad tiek veikts kritisks trāpījums. Ir daži soļi, taču tas ir pietiekami vienkāršs process.

Atrodiet piemērotu attēlu, ko vēlaties izmantot (jo vienkāršāks, jo labāk, jo displejs ir tikai vienkrāsains). Šeit ir attēli, kurus izmantoju:

Attēla kredīts: publicdomainvectors.org

Jebkurš attēls, kuru vēlaties izmantot, būs jāpārveido par HEX masīvu. Šis ir attēla attēlojums koda formā. Lai to izdarītu, ir pieejami daudzi rīki, un daži ir rakstīti tieši OLED displejiem. Vienkāršākais veids ir izmantot AttēlsC_Hex tiešsaistes rīks. Šeit ir vajadzīgie iestatījumi:

kā atgriezties pie vecā gmail?

Augšupielādējiet attēlu un iestatiet koda formātu HEX: 0x . Uzstādīt Izmanto uz Melna/balta visām zīmēšanas attēla funkcijām . Visas pārējās iespējas atstājiet kā noklusējuma vērtības. Ja nepieciešams, varat mainīt attēla izmēru šeit. Nospiediet Iegūstiet C virkni un jums vajadzētu redzēt attēla datus:

Šie ģenerētie dati būs nepieciešami minūtes laikā. Izveidojiet divas funkcijas ar nosaukumu drawExplosion un drawSkull (vai jūsu versijai piemērots nosaukums). Šeit ir kods:

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
}

Ja vēlaties izmantot manis izmantotos attēlus, tad turpiniet un nokopējiet kodu. Ja vēlaties izmantot savus iepriekš ģenerētos attēlus, kopējiet baitu kodu mapē imSku un imExp masīvi pēc vajadzības.

Lūk, kā šie attēli izskatās displejā:

Šī koda vissvarīgākā daļa ir šī rinda:

static const unsigned char PROGMEM imSku[]

Tas liek Arduino saglabāt jūsu attēlus EEPROM ( kas ir EEPROM? ) RAM vietā ( ātrs RAM ceļvedis ). Iemesls tam ir vienkāršs; Arduino ir ierobežota operatīvā atmiņa, un, ja to visu izmantosit attēlu saglabāšanai, jūsu kodam netiks atstāts atlikums

Mainiet savu galveno ja paziņojums, lai parādītu šīs jaunās grafikas, kad tiek izmests viens vai 20. Ievērojiet koda rindiņas, lai parādītu arī numuru, kas velmēts kopā ar attēliem:

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
}

Un šādi izskatās šie jaunie ruļļi:

Tas viss koda pusē (paņemiet kodu no GitHub, ja to visu izlaidāt). Jūs varētu viegli pārveidot to par D12, D8 un tā tālāk.

Galīgā montāža

Tagad, kad viss pārējais ir pabeigts, ir pienācis laiks visu iesaiņot. Ieskrūvējiet displeju, pārliecinoties, ka skrūves nav pārāk pievilktas. Iespējams, šī ir visgrūtākā daļa. To darot, es saplaisāju displejā, tāpēc, iespējams, vēlēsities izmantot dažas plastmasas paplāksnes. Es izgriezu dažus kvadrātus Plastmasas kartona :

Mazos uzgriežņus un skrūves var būt grūti savienot. Padoms: Lai ieskrūvētu uzgriežņus, izmantojiet nelielu Blu-Tack gabalu skrūvgrieža galā:

Ieskrūvējiet pogu, pievienojiet akumulatoru un aizveriet vāku. Esiet piesardzīgs, lai netiktu iesprostoti vadi un nesalipināti pārāk cieši, iespējams, izraisot īssavienojumu. Atkarībā no jūsu vadu garuma, iespējams, būs jāaizsargā atklātie savienojumi ar kādu izolāciju (sērijveida kārba darbojas labi):

Lūk, kā tas izskatās iekšpusē:

Un šeit ir gatavais produkts:

Tagad jums vajadzētu būt lepnam elektroniskā D20 īpašniekam!

Kādas modifikācijas jūs veicāt? Vai esat mainījis attēlus? Paziņojiet mums komentāros, mēs labprāt redzētu, ko jūs darījāt!

Kopīgot Kopīgot Čivināt E -pasts Rokas animācijas rokasgrāmata iesācējiem

Runas animēšana var būt izaicinājums. Ja esat gatavs sākt pievienot dialogu savam projektam, mēs to sadalīsim jūsu vietā.

Lasīt Tālāk
Saistītās tēmas
  • DIY
  • Arduino
  • Galda spēle
  • Elektronika
Par autoru Džo Koburns(Publicēti 136 raksti)

Džo ir absolvējis datorzinātnes Linkolnas universitātē, Lielbritānijā. Viņš ir profesionāls programmatūras izstrādātājs, un, kad viņš nelido ar droniem un neraksta mūziku, viņu bieži var atrast, fotografējot vai veidojot video.

Vairāk no Džo Kobērna

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu
Kategorija Diy