Table des matières:

Ordinateur personnel de bricolage : 4 étapes
Ordinateur personnel de bricolage : 4 étapes

Vidéo: Ordinateur personnel de bricolage : 4 étapes

Vidéo: Ordinateur personnel de bricolage : 4 étapes
Vidéo: Les bases du dépannage informatique 2024, Novembre
Anonim
Ordinateur à la maison de bricolage
Ordinateur à la maison de bricolage

J'ai publié un Instructable il y a quelque temps en utilisant un Espruino Pico pour créer un ordinateur domestique:

Celui-ci vous obligeait à connecter un moniteur VGA en coupant un câble VGA, mais pour ce Instructable, j'utilise une carte appelée Pixl.js, qui intègre l'écran LCD. Cela signifie que tout ce que vous avez à connecter sont quelques fils et que vous avez un petit ordinateur à faible consommation correctement utilisable.

Alors de quoi avez-vous besoin ?

  • Un Espruino Pixl.js
  • Un morceau de plastique ou de bois pour servir de base
  • Une planche à pain
  • 4x 4x4 claviers
  • Beaucoup d'autocollants pour les clés
  • 6 ensembles de 8x fils de raccordement mâle-> mâle de style Dupont (48 fils au total) - les bandes multicolores assorties rendent la vie beaucoup plus facile

Étape 1: fabrication du clavier

Faire le clavier
Faire le clavier
Faire le clavier
Faire le clavier
Faire le clavier
Faire le clavier
  • Collez vos 4 claviers les uns à côté des autres sur votre base (ils sont collants). Vous voudrez peut-être couper leurs bords, mais faites attention à ne pas trop couper ou vous pourriez couper certains contacts.
  • Collez votre planche à pain au milieu - elle est également collante !
  • Divisez le fil de liaison en 4 longueurs de 8 - essayez de garder les mêmes couleurs sur chacune.
  • Collez les fils dans les claviers, en vous assurant que les couleurs correspondent toutes. Repliez les fils et collez-les à l'arrière de votre base. Vous voudrez peut-être ajouter des pieds collants pour éviter que les fils ne se plient à un angle trop important.
  • Ajoutez maintenant un autocollant à chaque bouton du clavier et étiquetez-les comme vous le souhaitez sur votre clavier. Utilisez l'image comme exemple, mais lorsque vous téléchargez votre code, vous pouvez modifier la variable 'KEYMAP' par ce que vous avez.

Étape 2: Câblage

Câblage
Câblage

Maintenant, vous devez câbler le clavier. Chaque clavier 4x4 est disposé en grille, et nous les câblons comme s'ils étaient eux-mêmes dans une grille 2x2 - faisant une grande grille 8x8 de boutons.

Câblez comme indiqué dans l'image en 4 groupes de 4 fils sur la planche à pain (vérifiez les couleurs des fils dans les images), de gauche à droite:

  • KeyPad 1 4 premiers fils -> premier groupe de 4 sur maquette -> D0, D1, D2, D3
  • KeyPad 1 Second 4 fils -> troisième groupe de 4 sur maquette -> D8, D9, D10, D11
  • KeyPad 2 4 premiers fils -> premier groupe de 4 sur maquette -> D0, D1, D2, D3
  • KeyPad 2 Deuxième 4 fils -> quatrième groupe de 4 sur maquette -> D12, D13, SDA, SCL
  • KeyPad 3 Premiers 4 fils -> deuxième groupe de 4 sur maquette -> D4, D5, D6, D7
  • KeyPad 3 Deuxième 4 fils -> troisième groupe de 4 sur maquette -> D8, D9, D10, D11
  • KeyPad 4 4 premiers fils -> deuxième groupe de 4 sur maquette -> D4, D5, D6, D7
  • KeyPad 4 Second 4 fils -> quatrième groupe de 4 sur maquette -> D12, D13, SDA, SCL

Dans l'image, nous avons 6 jeux de 8 fils. Les 2 premiers proviennent des claviers 1 et 2, les 2 seconds vont au Pixl.js, et les 2 troisièmes vont aux claviers 4 et 3.

Étape 3: Logiciel

Assurez-vous maintenant que le firmware de votre Pixl est à jour, connectez-vous avec l'IDE Espruino et téléchargez le code ci-dessous. Déconnectez l'IDE et le tour est joué !

// Câblage du claviervar KEYROW = [D7, D6, D5, D4, D3, D2, D1, D0]; var KEYCOL = [A5, A4, D13, D12, D11, D10, D9, D8];

// Cartes de touches pour le clavier

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",];

/* Si un caractère dans le keymap est >=128, soustrayez 128 et recherchez dans ce tableau les codes de clé à plusieurs caractères */ 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 page vers le bas]; // Statut du changement var hasShift = false; function setShift(s) { hasShift = s; // dessine l'indicateur de décalage à l'écran if (hasShift) { g.setColor(1); g.fillRect(105, 0, 128, 6); g.setColor(0); g.drawString("MAJ", 107, 1); g.setColor(1); } else { g.setColor(0); g.fillRect(105, 0, 128, 6); g.setColor(1); } g.flip(); }

// Convertit une clé réelle en une séquence de caractères

// Et envoyer à Loopback (où se trouve la console) function handleKeyPress(e) { var kx = e>>3; var ky = e&7; if (ky>3) { // se transforme en longue ligne kx+=8; ky-=4; } clé var = hasShift ? KEYMAPUPPER[ky][kx]: KEYMAPLOWER[ky][kx]; if (key=="\x01") { setShift(!hasShift); } else { setShift(false); if (key && key.length) { if (key.charCodeAt(0)>127) key = KEYEXTRA[key.charCodeAt(0)-128]; Terminal.inject(clé); } } }

// configurer le clavier

require("KeyPad").connect(KEYROW, KEYCOL, handleKeyPress);

Étape 4: l'utiliser

En l'utilisant!
En l'utilisant!

Maintenant ça marche:

  • Le clavier ne peut détecter qu'une seule pression à la fois, donc Shift bascule les lettres majuscules (avec un indicateur en haut à droite) et la saisie d'une lettre revient en minuscule. Maintenez la touche Maj enfoncée et une autre touche ne fonctionnera pas.
  • La frappe peut être assez pénible, alors utilisez autant que possible la touche Tab (à gauche) pour remplir automatiquement les mots !
  • Les graphiques de l'écran sont disponibles via des méthodes sur la variable g - par exemple, g.fillRect (20, 20, 40, 40) ou g.clear().
  • Beaucoup d'E/S sont utilisées pour le clavier, mais vous avez toujours les broches A0, A1, A2 et A3 que vous pouvez utiliser pour connecter du matériel externe.
  • reset() réinitialisera tout - y compris votre code pour la gestion du clavier. Pour éviter cela, activez l'enregistrement à l'envoi, même après une réinitialisation dans les options de communication de l'IDE Web et téléchargez à nouveau.
  • Votre ordinateur est étonnamment économe en énergie - vous pouvez toujours vous attendre à une autonomie d'environ 20 jours - toujours allumée - éteinte avec une seule pile CR2032 !

Conseillé: