Სარჩევი:

წვრილმანი სახლის კომპიუტერი: 4 ნაბიჯი
წვრილმანი სახლის კომპიუტერი: 4 ნაბიჯი

ვიდეო: წვრილმანი სახლის კომპიუტერი: 4 ნაბიჯი

ვიდეო: წვრილმანი სახლის კომპიუტერი: 4 ნაბიჯი
ვიდეო: კახი კალაძე დატროლეს 😀🤣🤣 2024, ივლისი
Anonim
წვრილმანი სახლის კომპიუტერი
წვრილმანი სახლის კომპიუტერი

მე გამოვაქვეყნე ინსტრუქცია ცოტა ხნის წინ ესპრუინო პიკოს გამოყენებით სახლის კომპიუტერის დასამზადებლად:

ეს მოითხოვა თქვენ VGA მონიტორის დაკავშირება VGA კაბელის გაწყვეტით, მაგრამ ამ ინსტრუქციისთვის მე ვიყენებ დაფას სახელწოდებით Pixl.js, რომელსაც აქვს ჩაშენებული LCD ეკრანი. ეს ნიშნავს, რომ ყველაფერი რაც თქვენ უნდა დააკავშიროთ არის რამდენიმე მავთული და თქვენ გაქვთ სათანადოდ გამოსაყენებელი პატარა, დაბალი სიმძლავრის კომპიუტერი.

მაშ რა გჭირდება?

  • ესპრუინო პიქსლ. Js
  • პლასტმასის ან ხის ნაჭერი, როგორც საფუძველი
  • პურის დაფა
  • 4x4x4 კლავიატურა
  • ბევრი სტიკერი გასაღებისთვის
  • 6 კომპლექტი 8x მამრობითი-> მამრობითი Dupont სტილის Jumper მავთულები (სულ 48 მავთული)-შესატყვისი მრავალფერიანი ზოლები ცხოვრებას ბევრად ამარტივებს

ნაბიჯი 1: კლავიატურის დამზადება

კლავიატურის დამზადება
კლავიატურის დამზადება
კლავიატურის დამზადება
კლავიატურის დამზადება
კლავიატურის დამზადება
კლავიატურის დამზადება
  • მიამაგრეთ თქვენი 4 კლავიატურა ერთმანეთის გვერდით თქვენს ბაზაზე (ისინი წებოვანია უკან). შეიძლება დაგჭირდეთ მათი კიდეების ჩამოჭრა, მაგრამ ფრთხილად იყავით, რომ ძალიან შორს არ მოაწყოთ, წინააღმდეგ შემთხვევაში შეიძლება გაწყვიტოთ კონტაქტები.
  • მიამაგრეთ პურის დაფა შუაზე - ის ასევე წებოვანია უკან!
  • ჯუმბერის მავთული გაყავით ოთხ სიგრძეზე 8 - სცადეთ და შეინარჩუნეთ ფერები თითოეულზე იგივე.
  • მიამაგრეთ მავთულები კლავიშებში, დარწმუნდით, რომ ყველა ფერი ემთხვევა. გადაკეცეთ მავთულები უკან და მიამაგრეთ ისინი თქვენი ბაზის უკანა მხარეს. შეიძლება დაგჭირდეთ წებოვანი ფეხების დამატება, რათა მავთულები დაიხუროს ზედმეტად დახრილ კუთხეში.
  • ახლა დაამატეთ სტიკერი კლავიშის თითოეულ ღილაკს და მონიშნეთ ისინი ისე, როგორც გსურთ კლავიატურა. გამოიყენეთ სურათი, როგორც მაგალითი, მაგრამ როდესაც ატვირთავთ თქვენს კოდს, შეგიძლიათ შეცვალოთ 'KEYMAP' ცვლადი იმაზე, რაც გაქვთ.

ნაბიჯი 2: გაყვანილობა

გაყვანილობა
გაყვანილობა

ახლა თქვენ უნდა დააკავშიროთ კლავიატურა. თითოეული 4x4 კლავიატურა მოწყობილია როგორც ბადე და ჩვენ ვაკავშირებთ მათ ისე, თითქოს ისინი თავად იყვნენ 2x2 ქსელში - ვქმნით ღილაკების დიდ 8x8 ბადეს.

მავთული, როგორც ნაჩვენებია სურათზე, 4 ჯგუფად 4 მავთულისგან დაფაზე (შეამოწმეთ სურათების მავთულის ფერები), მარცხნიდან მარჯვნივ:

  • კლავიატურა 1 პირველი 4 მავთული -> პირველი ჯგუფი ოთხზე დაფაზე -> D0, D1, D2, D3
  • კლავიატურა 1 მეორე 4 მავთული -> მესამე ჯგუფი 4 პურის დაფაზე -> D8, D9, D10, D11
  • KeyPad 2 პირველი 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 პურის დაფაზე -> D12, D13, SDA, SCL

სურათზე ჩვენ გვაქვს 8 მავთულის 6 კომპლექტი. პირველი 2 არის 1 და 2 კლავიშებიდან, მეორე 2 მიდის Pixl.js– ზე, ხოლო მესამე 2 არის 4 და 3 კლავიშებზე.

ნაბიჯი 3: პროგრამული უზრუნველყოფა

ახლა დარწმუნდით, რომ თქვენი Pixl– ის firmware განახლებულია, დაუკავშირდით მას Espruino IDE– ით და ატვირთეთ კოდი ქვემოთ. გათიშეთ IDE და თქვენ დაასრულეთ!

// კლავიატურის გაყვანილობა 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.frCharCode (27, 91, 65), // 0x82 up String.fromCharCode (27, 91, 66), // 0x83 down String.fromCharCode (27, 91, 53, 126), // 0x84 გვერდი ზემოთ String.fromCharCode (27, 91, 54, 126), // 0x85 გვერდი ქვემოთ]; // Shift status 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); } else {g.setColor (0); g.fillRect (105, 0, 128, 6); g.setColor (1); } g.flip (); }

// გადააქციე ფაქტობრივი გასაღები სიმბოლოების თანმიმდევრობად

// და გაუგზავნე Loopback- ს (სადაც არის კონსოლი) ფუნქციის სახელური KeyKeyPress (e) {var kx = e >> 3; var ky = e & 7; if (ky> 3) {// გადაიქცევა გრძელ რიგში kx+= 8; ky- = 4; } var გასაღები = hasShift? KEYMAPUPPER [ky] [kx]: KEYMAPLOWER [ky] [kx]; if (გასაღები == "\ x01") {setShift (! hasShift); } else {setShift (ყალბი); if (გასაღები && key.length) {if (key.charCodeAt (0)> 127) გასაღები = KEYEXTRA [key.charCodeAt (0) -128]; ტერმინალი. ინექცია (გასაღები); }}}

// კლავიატურის დაყენება

მოითხოვს ("კლავიატურა"). დაკავშირება (KEYROW, KEYCOL, handleKeyPress);

ნაბიჯი 4: გამოიყენეთ იგი

მისი გამოყენება!
მისი გამოყენება!

ახლა მუშაობს:

  • კლავიატურას შეუძლია ერთდროულად დააჭიროს მხოლოდ ერთ დაჭერას, ასე რომ Shift გადააქვს დიდი ასოები (ინდიკატორი ზედა მარჯვნივ) და ასლის აკრეფა ბრუნდება მცირე ზომის. Shift და სხვა გასაღების დაჭერა არ იმუშავებს.
  • აკრეფა შეიძლება საკმაოდ მტკივნეული იყოს, ასე რომ გამოიყენეთ Tab ღილაკი (მარცხნივ) მაქსიმალურად სიტყვების ავტომატურად შესავსებად!
  • ეკრანის გრაფიკა ხელმისაწვდომია g ცვლადზე - მაგ. G.fillRect (20, 20, 40, 40) ან g.clear ().
  • ბევრი IO გამოიყენება კლავიატურისთვის, მაგრამ თქვენ მაინც გაქვთ ქინძისთავები A0, A1, A2 და A3, რომლებიც შეგიძლიათ გამოიყენოთ გარე ტექნიკის დასაკავშირებლად.
  • გადატვირთვა () აღადგენს ყველაფერს - კლავიატურის დამუშავების კოდის ჩათვლით. ამის თავიდან ასაცილებლად, ჩართეთ შენახვა გაგზავნაზე, თუნდაც Web IDE კომუნიკაციის პარამეტრებში გადატვირთვის შემდეგ და კვლავ ატვირთეთ.
  • თქვენი კომპიუტერი საოცრად ენერგოეფექტურია - თქვენ მაინც შეიძლება ელოდოთ დაახლოებით 20 დღიანი ბატარეის ხანგრძლივობას - ყოველთვის ჩართულ -გამორთულ ერთ CR2032 ბატარეაზე!

გირჩევთ: