Satura rādītājs:

DIY mājas dators: 4 soļi
DIY mājas dators: 4 soļi

Video: DIY mājas dators: 4 soļi

Video: DIY mājas dators: 4 soļi
Video: НЕ ВЗДУМАЙ выбросить старую газовую горелку! Отличная идея своими руками для мастерской 2024, Novembris
Anonim
DIY mājas dators
DIY mājas dators

Pirms kāda laika es publicēju pamācību, izmantojot Espruino Pico, lai izveidotu mājas datoru:

Šim nolūkam jums bija jāpievieno VGA monitors, pārgriežot VGA kabeli, taču šim pamācībai es izmantoju dēli ar nosaukumu Pixl.js, kurā ir iebūvēts LCD ekrāns. Tas nozīmē, ka viss, kas jums jāpievieno, ir daži vadi, un jums ir pareizi lietojams mazs, mazjaudas dators.

Tātad, kas jums nepieciešams?

  • Espruino Pixl.js
  • Plastmasas vai koka gabals, kas darbojas kā pamats
  • Maizes dēlis
  • 4x 4x4 KeyPads
  • Daudz uzlīmju atslēgām
  • 6 komplekti 8x vīriešu-> vīriešu Dupont stila džemperu vadi (kopā 48 vadi)-atbilstošas daudzkrāsainas sloksnes ievērojami atvieglo dzīvi

1. darbība. Tastatūras izgatavošana

Tastatūras izgatavošana
Tastatūras izgatavošana
Tastatūras izgatavošana
Tastatūras izgatavošana
Tastatūras izgatavošana
Tastatūras izgatavošana
  • Uzlīmējiet 4 KeyPad blakus viens otram uz pamatnes (tie ir lipīgi). Iespējams, vēlēsities apgriezt to malas uz leju, taču esiet piesardzīgs, lai neapgrieztu pārāk tālu, pretējā gadījumā jūs varētu nogriezt dažus kontaktus.
  • Ielīmējiet maizes dēli vidū - arī tā ir lipīga mugura!
  • Sadaliet džempera vadu 4 garumos pa 8 - mēģiniet saglabāt krāsas vienādas.
  • Ievietojiet vadus KeyPads, pārliecinoties, ka visas krāsas atbilst. Salieciet vadus atpakaļ un pielīmējiet tos pie pamatnes aizmugures. Iespējams, vēlēsities pievienot dažas lipīgas pēdas, lai vadi netiktu saliekti pārāk lielā leņķī.
  • Tagad pievienojiet uzlīmi katrai tastatūras pogas pogai un iezīmējiet tās, kā vēlaties tastatūru. Izmantojiet attēlu kā piemēru, bet, augšupielādējot kodu, varat mainīt mainīgo “KEYMAP” uz to, kas jums ir.

2. solis: Elektroinstalācija

Elektroinstalācija
Elektroinstalācija

Tagad jums ir jāpievieno tastatūra. Katra 4x4 tastatūra ir sakārtota kā režģis, un mēs tos savienojam tā, it kā viņi paši būtu 2x2 režģī - veidojot lielu 8x8 pogu pogu.

Vadu, kā parādīts attēlā, sadaliet 4 vadu grupās pa maizes dēli (pārbaudiet vadu krāsas attēlos), no kreisās uz labo:

  • KeyPad 1 Pirmie 4 vadi -> pirmā 4 cilvēku grupa uz maizes dēļa -> D0, D1, D2, D3
  • KeyPad 1 Otrie 4 vadi -> trešā grupa 4 uz maizes dēļa -> D8, D9, D10, D11
  • KeyPad 2 Pirmie 4 vadi -> pirmā 4 cilvēku grupa uz maizes dēļa -> D0, D1, D2, D3
  • KeyPad 2 otrie 4 vadi -> ceturtā grupa 4 uz maizes dēļa -> D12, D13, SDA, SCL
  • KeyPad 3 Pirmie 4 vadi -> otrā grupa 4 uz maizes dēļa -> D4, D5, D6, D7
  • KeyPad 3 Otrie 4 vadi -> trešā grupa 4 uz maizes dēļa -> D8, D9, D10, D11
  • KeyPad 4 Pirmie 4 vadi -> otrā grupa 4 uz maizes dēļa -> D4, D5, D6, D7
  • KeyPad 4 otrie 4 vadi -> ceturtā grupa 4 uz maizes dēļa -> D12, D13, SDA, SCL

Attēlā mums ir 6 8 vadu komplekti. Pirmie 2 ir no 1. un 2. tastatūras, otrie 2 - uz Pixl.js, bet trešie 2 - uz 4. un 3. tastatūru.

3. solis: programmatūra

Tagad pārliecinieties, vai jūsu Pixl programmaparatūra ir atjaunināta, izveidojiet savienojumu ar to, izmantojot Espruino IDE, un augšupielādējiet tālāk norādīto kodu. Atvienojiet IDE un esat pabeidzis!

// Tastatūras elektroinstalācija KEYROW = [D7, D6, D5, D4, D3, D2, D1, D0]; var KEYCOL = [A5, A4, D13, D12, D11, D10, D9, D8];

// Taustiņu kartes tastatūrai

var KEYMAPLOWER = ["" 1234567890-= / x08 "," / tqwertyuiop n "," / 0asdfghjkl; '#\ x84 / x82 / x85 "," / x01 / zxcvbnm,./ / x80 / x83 / x81 ",]; var KEYMAPUPPER = ["¬! \" £ $%^&*() _+\ x08 "," / tQWERTYUIOP {} n "," / 0ASDFGHJKL:@~ / x84 / x82 / x85 "," / x01 | ZXCVBNM? / x80 / x83 / x81 ",];

/* Ja taustiņu kartes simbols ir> = 128, atņemiet 128 un meklējiet šajā masīvā vairāku rakstzīmju atslēgu kodus*/ var KEYEXTRA = [String.fromCharCode (27, 91, 68), // 0x80 left String.fromCharCode (27, 91, 67), // 0x81 right String.fromCharCode (27, 91, 65), // 0x82 up String.fromCharCode (27, 91, 66), // 0x83 down String.fromCharCode (27, 91, 53, 126), // 0x84 page up String.fromCharCode (27, 91, 54, 126), // 0x85 lapa uz leju]; // Shift statuss var hasShift = false; funkcija setShift (s) {hasShift = s; // zīmēt nobīdes indikatoru uz ekrāna, ja (hasShift) {g.setColor (1); g.fillRect (105, 0, 128, 6); g.setColor (0); g.drawString ("SHIFT", 107, 1); g.setColor (1); } cits {g.setColor (0); g.fillRect (105, 0, 128, 6); g.setColor (1); } g.flip (); }

// Pārvērst faktisko atslēgu rakstzīmju secībā

// Un nosūtīt uz Loopback (kur atrodas konsole) funkciju rokturisKeyPress (e) {var kx = e >> 3; var ky = e & 7; ja (ky> 3) {// pārvēršas garā rindā kx+= 8; ky- = 4; } var atslēga = hasShift? ATSLĒGTAPS [ky] [kx]: ATSLĒGVADĪTĀJS [ky] [kx]; ja (atslēga == "\ x01") {setShift (! hasShift); } else {setShift (false); if (key && key.length) {if (key.charCodeAt (0)> 127) key = KEYEXTRA [key.charCodeAt (0) -128]; Terminal.inject (atslēga); }}}

// iestatīt tastatūru

pieprasīt ("KeyPad"). connect (KEYROW, KEYCOL, handleKeyPress);

4. solis: izmantojiet to

Izmantojot to!
Izmantojot to!

Tagad tas darbojas:

  • Tastatūra var noteikt tikai vienu nospiešanu vienlaikus, tāpēc taustiņš Shift pārslēdz lielos burtus (ar indikatoru augšējā labajā stūrī), un, ierakstot burtu, tiek atgriezti mazie burti. Nospiežot Shift un citu taustiņu, nedarbosies.
  • Rakstīšana var būt diezgan sāpīga, tāpēc, lai automātiski aizpildītu vārdus, pēc iespējas vairāk izmantojiet taustiņu Tab (kreisajā pusē)!
  • Ekrāna grafika ir pieejama, izmantojot mainīgā g metodes, piemēram, g.fillRect (20, 20, 40, 40) vai g.clear ().
  • Tastatūrai tiek izmantots daudz IO, taču jums joprojām ir tapas A0, A1, A2 un A3, kuras varat izmantot ārējās aparatūras savienošanai.
  • reset () atiestatīs visu, ieskaitot jūsu tastatūras apstrādes kodu. Lai no tā izvairītos, ieslēdziet saglabāšanu nosūtīšanas laikā pat pēc atiestatīšanas Web IDE sakaru opcijās un augšupielādējiet vēlreiz.
  • Jūsu dators ir pārsteidzoši energoefektīvs - jūs joprojām varētu gaidīt aptuveni 20 dienu akumulatora darbības laiku - vienmēr ieslēgtu un izslēgtu vienu CR2032 akumulatoru!

Ieteicams: