Оглавление:
- Шаг 1. Изготовление клавиатуры
- Шаг 2: Подключение
- Шаг 3: Программное обеспечение
- Шаг 4: Использование
Видео: Домашний компьютер своими руками: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Некоторое время назад я опубликовал 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!
Рекомендуемые:
Светодиодный адвент-календарь своими руками: 3 шага
Светодиодный адвент-календарь своими руками: я расскажу, как мы сделали эти аналоговые часы, которые одновременно выполняют функцию адвент-календаря. 24 светодиода ws2811 круглосуточно вращаются по кругу, и каждый из них горит зеленым светом до дней перед Рождеством. В день Рождества все огни горят
Очиститель воздуха HEPA своими руками: 4 шага
Очиститель воздуха HEPA своими руками: все началось, когда я не выспался достаточно, чтобы спать в 4 утра, меня внезапно осенило, почему бы не сделать очиститель воздуха для себя. Я знаю, что на фото он выглядит некрасиво, но просто покрасьте его в черный цвет и ты в порядке? Я видел эту штуку на каком-то ш
DemUino - Домашний компьютер / Контроллер: 7 шагов
DemUino - Домашний компьютер / Контроллер: компьютер в стиле Arduino от DemeterArt Получите максимум от своей старой клавиатуры PS2. Взломайте его на персональном компьютере, чтобы управлять всем! Я всегда хотел собрать свой собственный домашний компьютер в стиле ретро, ничего особенного, кроме как с
Создайте мини-гидропонные системы своими руками и сад гидропонных трав своими руками с помощью предупреждений Wi-Fi: 18 шагов
Постройте мини-гидропонные системы своими руками и сад гидропонных трав своими руками с помощью предупреждений Wi-Fi: в этом уроке мы покажем вам, как построить систему #DIY #hydroponics. Эта гидропонная система, сделанная своими руками, будет поливать в соответствии с индивидуальным гидропонным циклом полива с 2 минутами включения и 4 минутами перерыва. Он также будет контролировать уровень воды в резервуаре. Эта система
Простой в сборке настоящий домашний компьютер: Z80-MBC2 !: 9 шагов (с изображениями)
Простой в сборке настоящий самодельный компьютер: Z80-MBC2 !: Если вам интересно, как компьютер работает и взаимодействует с «внешними объектами», в настоящее время существует множество плат, готовых к игре, таких как Arduino, Raspberry и многие другие. Но у этих плат все тот же "лимит" … им привет