Мазмуну:
- 1 -кадам: Баскычтопту жасоо
- 2 -кадам: Кабелдөө
- 3 -кадам: Программалык камсыздоо
- 4 -кадам: Аны колдонуу
Video: DIY үй компьютери: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Мен үй компьютерин жасоо үчүн Espruino Pico менен инструкцияны бир аз мурун жарыяладым:
Бул VGA кабелин кесүү менен VGA мониторун туташтырууңузду талап кылды, бирок бул көрсөтмө үчүн мен LCD экраны орнотулган Pixl.js деп аталган тактаны колдонуп жатам. Бул болгону бир нече зымдарды туташтырууңуз керек жана сизде туура колдонула турган кичинекей, кубаты аз компьютер бар дегенди билдирет.
Демек, эмне кылышыбыз керек?
- An Espruino Pixl.js
- Пластмассадан же жыгачтан жасалган бөлүк негиз катары иштейт
- A Breadboard
- 4x 4x4 баскычтар
- Ачкычтар үчүн стикерлер көп
- 6 топтом 8x Male-> Эркек Дюпон стилиндеги Jumper зымдары (бардыгы 48 зым)-дал келген түстүү тилкелер жашоону бир топ жеңилдетет
1 -кадам: Баскычтопту жасоо
- 4 KeyPadти бири-бириңиздин базаңызга жабыштырыңыз (алар жабышчаак-кайра). Сиз алардын четтерин ылдый кыркып салгыңыз келиши мүмкүн, бирок өтө алыс кыркуудан сак болуңуз, болбосо кээ бир байланыштарды кесип салышыңыз мүмкүн.
- Нан тактаңызды ортого түшүрүңүз - бул дагы жабышчаак!
- Өткөргүч зымды 8 узундугуна бөлүңүз - ар биринде түстөрдү бирдей сактоого аракет кылыңыз.
- Түстөрдүн бардыгына дал келерин текшерип, зымдарды KeyPadтарга чаптаңыз. Зымдарды артка бүктөп, базаңыздын артына скотч менен жабыңыз. Зымдарды өтө көп бурчтан ийилип калуудан сактоо үчүн жабышчаак буттарды кошуп койсоңуз болот.
- Эми баскычтоптун ар бир баскычына чаптама кошуп, клавиатура каалагандай белгилеңиз. Мисал катары сүрөттү колдонуңуз, бирок кодуңузду жүктөгөнүңүздө 'KEYMAP' өзгөрмөсүн сизде бар нерсеге өзгөртө аласыз.
2 -кадам: Кабелдөө
Эми клавиатураны зым менен жабышыңыз керек. Ар бир 4x4 баскычтобу торчо катары жайгаштырылган жана биз аларды 2х2 сеткадагыдай кылып зымдап жатабыз - чоң 8x8 түймөчөлөр торун жасоо.
Сүрөттө көрсөтүлгөндөй, панелдеги 4 зымдан турган 4 топко бөлүңүз (сүрөттөрдөгү зымдардын түстөрүн текшериңиз), солдон оңго карай:
- KeyPad 1 Биринчи 4 зым -> нан тобундагы 4төн турган биринчи топ -> D0, D1, D2, D3
- KeyPad 1 Экинчи 4 зым -> нан үчүнчү 4 топтун үчүнчү тобу -> D8, D9, D10, D11
- KeyPad 2 Биринчи 4 зым -> нан тобундагы 4төн турган биринчи топ -> D0, D1, D2, D3
- KeyPad 2 Экинчи 4 зым -> 4 -төртүнчү топтогу панелде -> D12, D13, SDA, SCL
- KeyPad 3 Биринчи 4 зым -> нан тобундагы 4төн турган экинчи топ -> D4, D5, D6, D7
- KeyPad 3 Экинчи 4 зым -> нан боюнча 4төн үчүнчү топ -> D8, D9, D10, D11
- KeyPad 4 Биринчи 4 зым -> нан тобундагы 4төн турган экинчи топ -> D4, D5, D6, D7
- KeyPad 4 Экинчи 4 зымдары -> нан панелиндеги 4төн турган 4 -топ -> D12, D13, SDA, SCL
Сүрөттө бизде 8 зымдан турган 6 топтом бар. Биринчи 2 клавиатура 1 жана 2ден, экинчиси Pixl.jsке, үчүнчү 2 4 жана 3 баскычтарына.
3 -кадам: Программалык камсыздоо
Эми Pixl түзмөгүңүздүн жаңыртылгандыгын текшериңиз, ага Espruino IDE менен туташыңыз жана төмөнкү кодду жүктөңүз. IDEди ажыратып койсоңуз болот!
// Keyboard wiringvar 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 сол String.fromCharCode (27, 91, 67), // 0x81 оң сап.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 бет төмөн]; // Shift абалы var hasShift = false; setShift (s) функциясы {hasShift = s; // экранда сменанын индикаторун тартуу, эгерде (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? АЧКЫЧ КАПИПЕР [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 (key); }}}
// баскычтопту орнотуу
талап кылуу ("KeyPad"). туташтыруу (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 батарейкасы!
Сунушталууда:
JCN: Вектордук тең салмактуу тамак -аш компьютери түшүнүгү: 9 кадам
JCN: Вектордук тең салмактуу тамак -аштын компьютер концепциясы: Биз алдыдагы видеонун трейлери менен ачылабыз " JCN жана астронавттар; "Космостогу тамак -аш жана көңүл ачуу эпикалык жомогу". Долбоордун видеоконференцияларынан алып салганым - биз мейкиндик түшүнүктөрүнө көңүл буруп, КЫЗЫКТУУ болушубуз керек! Мен сүйөм
Телевизор, дизельпунк компьютери: 5 кадам
Телевизор, дизельпунк компьютери: " Телевизор " бул кичинекей ITX аналык платасына жана эски Bakelit радио корпусуна негизделген кичинекей компьютер. Мен бул турак жайдын бир аз бузулганын жана бош экенин эски радио дүкөнүнүн бир бурчунан таптым. Мен " куткарууга " Узак убакытка
JCN: Вектордук тең салмактуу тамак -аш компьютери V60.s түшүнүгү: 10 кадам
JCN: Vector Equilibrium Food Computer Concept V60.s: Hello and Welcome.This is a professional category submit.I has this two taking two projects to take on this project. Менин артыкчылыктарым НАСАнын окумуштуулары жана башкалар менен болгон телеконференциялардан алынган. Менин бул сессиялардан алган нерселерим бул
PiDP-8: Raspberry Pi PDP-8 кичи компьютери катары: 7 кадам
PiDP-8: Raspberry Pi PDP-8 кичи компьютери катары: Баары PDP-8 кичи компьютерин каалашчу. Ооба, баары бир 1968 -жылы. Raspberry Piдеги SD картасынын сүрөтүн жүктөө менен мини -компьютерлердин Алтын кылымын жашаңыз. Кошумча, Blinkenlights тажрыйбасын кайра түзүү үчүн репликанын алдыңкы панелин кошуңуз. Жөнөкөй хакердин версиясы
Чемодандагы көчмө оюн компьютери: 7 кадам (сүрөттөр менен)
Чемодандагы көчмө оюнчу компьютер: Эскертүү: кадамдар бир нече маанилүү кеңештерди бөлүп көрсөтөт. Сураныч, видеону (төмөндө) толугу менен куруу процесси үчүн көрүңүз. Бул Нускамада мен эски шайман корпусун (же чемоданды) муздак көрүнүүчү көчмө оюн компьютерине кантип айландырууну көрсөтөм. Спецификанын кереги жок