Оглавление:

Домашний компьютер своими руками: 4 шага
Домашний компьютер своими руками: 4 шага

Видео: Домашний компьютер своими руками: 4 шага

Видео: Домашний компьютер своими руками: 4 шага
Видео: Как собрать компьютер самому, подробная сборка ПК 2024, Июль
Anonim
Домашний компьютер своими руками
Домашний компьютер своими руками

Некоторое время назад я опубликовал Instructable, используя Espruino Pico для создания домашнего компьютера:

Это потребовало от вас подключения монитора VGA, разрезав кабель VGA, но для этого руководства я использую плату под названием Pixl.js, в которую встроен ЖК-экран. Это означает, что все, что вам нужно подключить, - это несколько проводов, и у вас есть крошечный маломощный компьютер, который можно использовать как следует.

Так что тебе нужно?

  • Эспруино Pixl.js
  • Кусок пластика или дерева в качестве основы
  • Макетная плата
  • 4x 4x4 клавиатуры
  • Множество наклеек на ключи
  • 6 наборов 8x штекерных-> штекерных перемычек в стиле Dupont (всего 48 проводов) - подходящие разноцветные полоски значительно облегчают жизнь

Шаг 1. Изготовление клавиатуры

Изготовление клавиатуры
Изготовление клавиатуры
Изготовление клавиатуры
Изготовление клавиатуры
Изготовление клавиатуры
Изготовление клавиатуры
  • Прикрепите 4 клавиатуры рядом друг с другом на базе (они липкие). Вы можете обрезать их края, но будьте осторожны, чтобы не обрезать слишком сильно, иначе вы можете отрезать некоторые контакты.
  • Вставьте макет посередине - он тоже липнет!
  • Разделите перемычку на 4 отрезка по 8 штук - старайтесь, чтобы цвета на каждом из них были одинаковыми.
  • Вставьте провода в клавиатуры, убедившись, что все цвета совпадают. Сложите провода и прикрепите их к задней части базы. Вы можете добавить несколько липких ножек, чтобы провода не сгибались под слишком большим углом.
  • Теперь добавьте стикер к каждой кнопке на клавиатуре и пометьте их так, как хотите, на клавиатуре. Используйте изображение в качестве примера, но когда вы загружаете свой код, вы можете изменить переменную KEYMAP на то, что у вас есть.

Шаг 2: Подключение

Проводка
Проводка

Теперь вам нужно подключить клавиатуру. Каждая клавиатура 4x4 организована в виде сетки, и мы соединяем их так, как если бы они сами были в сетке 2x2, создавая большую сетку кнопок 8x8.

Проведите, как показано на изображении, в 4 группы по 4 провода поперек макета (проверьте цвета проводов на изображениях) слева направо:

  • Клавиатура 1 Первые 4 провода -> первая группа из 4 на макетной плате -> D0, D1, D2, D3
  • Клавиатура 1 Второй 4 провода -> третья группа из 4 на макете -> D8, D9, D10, D11
  • KeyPad 2 Первые 4 провода -> первая группа из 4 на макетной плате -> D0, D1, D2, D3
  • Клавиатура 2 Вторые 4 провода -> четвертая группа из 4 на макетной плате -> D12, D13, SDA, SCL
  • Клавиатура 3 Первые 4 провода -> вторая группа из 4 на макетной плате -> D4, D5, D6, D7
  • Клавиатура 3 Вторые 4 провода -> третья группа из 4 на макетной плате -> D8, D9, D10, D11
  • Клавиатура 4 Первые 4 провода -> вторая группа из 4 на макетной плате -> D4, D5, D6, D7
  • Клавиатура 4 Вторые 4 провода -> четвертая группа из 4 на макетной плате -> D12, D13, SDA, SCL

На изображении у нас 6 наборов по 8 проводов. Первые 2 относятся к клавиатурам 1 и 2, вторые 2 - к Pixl.js, а третьи 2 - к клавиатурам 4 и 3.

Шаг 3: Программное обеспечение

Теперь убедитесь, что прошивка вашего Pixl обновлена, подключитесь к ней с помощью Espruino IDE и загрузите приведенный ниже код. Отключите IDE, и все готово!

// Подключение клавиатуры var KEYROW = [D7, D6, D5, D4, D3, D2, D1, D0]; var KEYCOL = [A5, A4, D13, D12, D11, D10, D9, D8];

// Карты клавиш для клавиатуры

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

/ * Если символ в раскладке клавиатуры> = 128, вычтите 128 и найдите в этом массиве многосимвольные коды клавиш * / var KEYEXTRA = [String.fromCharCode (27, 91, 68), // 0x80 left String.fromCharCode (27, 91, 67), // 0x81 right String.fromCharCode (27, 91, 65), // 0x82 вверх String.fromCharCode (27, 91, 66), // 0x83 вниз String.fromCharCode (27, 91, 53, 126), // 0x84 стр. вверх String.fromCharCode (27, 91, 54, 126), // 0x85 страница вниз]; // Статус смены var hasShift = false; функция setShift (s) {hasShift = s; // рисуем индикатор сдвига на экране if (hasShift) {g.setColor (1); g.fillRect (105, 0, 128, 6); g.setColor (0); g.drawString ("SHIFT", 107, 1); g.setColor (1); } еще {g.setColor (0); g.fillRect (105, 0, 128, 6); g.setColor (1); } g.flip (); }

// Преобразуем фактический ключ в последовательность символов

// И отправляем в Loopback (где находится консоль) function handleKeyPress (e) {var kx = e >> 3; var ky = e & 7; if (ky> 3) {// превращаемся в длинную строку kx + = 8; ky- = 4; } var key = hasShift? KEYMAPUPPER [ky] [kx]: KEYMAPLOWER [ky] [kx]; если (ключ == "\ x01") {setShift (! hasShift); } else {setShift (ложь); if (key && key.length) {if (key.charCodeAt (0)> 127) key = KEYEXTRA [key.charCodeAt (0) -128]; Terminal.inject (ключ); }}}

// настраиваем клавиатуру

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

Шаг 4: Использование

Используй это!
Используй это!

Теперь работает:

  • Клавиатура может обнаруживать только одно нажатие за раз, поэтому Shift переключает заглавные буквы (с индикатором в правом верхнем углу), а ввод буквы возвращается к нижнему регистру. Удерживая нажатой клавишу Shift, другая клавиша работать не будет.
  • Ввод текста может быть довольно болезненным, поэтому как можно чаще используйте клавишу Tab (слева) для автоматического заполнения слов!
  • Графика для экрана доступна через методы переменной g, например g.fillRect (20, 20, 40, 40) или g.clear ().
  • Для клавиатуры используется много IO, но у вас все еще есть контакты A0, A1, A2 и A3, которые вы можете использовать для подключения внешнего оборудования.
  • reset () сбросит все, включая ваш код для работы с клавиатурой. Чтобы этого избежать, включите сохранение при отправке даже после сброса в параметрах связи Web IDE и повторите загрузку.
  • Ваш компьютер на удивление энергоэффективен - вы все равно можете рассчитывать примерно на 20 дней автономной работы - всегда включенной и отключенной от одной батареи CR2032!

Рекомендуемые: