Სარჩევი:
- მარაგები
- ნაბიჯი 1: ელექტრული წრე
- ნაბიჯი 2: შეკრება
- ნაბიჯი 3: პროგრამირება
- ნაბიჯი 4: მალსახმობების კონფიგურაცია
- ნაბიჯი 5: გაუმჯობესება
ვიდეო: პროგრამირებადი კლავიატურა: 5 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
ამ პროექტში მე ვაჩვენებ, თუ როგორ უნდა გავაკეთოთ შედარებით მარტივი და იაფი პროგრამირებადი კლავიატურა თქვენი ყველაზე ხშირად გამოყენებული კლავიატურის მალსახმობების, პროგრამების და სხვათა გამოსახატად.
ეს კლავიატურა გამოვლენილია როგორც კლავიატურა ყველა ძირითად ოპერაციულ სისტემაში, დამატებითი დრაივერები არ არის საჭირო.
მარაგები
- მბრუნავი კოდირება.
- ბევრი (დამოკიდებულია თქვენს საჭიროებებზე) ღილაკზე.
- Arduino Pro Micro, Arduino Leonardo ან ნებისმიერი სხვა dev board Atmega32U4 MCU– ით.
- მავთული, solder, soldering რკინის და ა.შ.
- (სურვილისამებრ) რაღაც მძიმე საფუძველია კლავიატურის მოცურებისგან, მე ვიყენებ ძველ 3.5 დიუმიან მყარ დისკს
ნაბიჯი 1: ელექტრული წრე
მე ავირჩიე Arduino Pro Micro dev დაფის გამოყენება Atmega32U4 MCU– ით, რომელსაც აქვს 18 გამოსაყენებელი ციფრული ქინძისთავები.
ღილაკები და მბრუნავი კოდირების დასაკავშირებლად მინიშნებები შეირჩა განსაკუთრებული წესრიგის გათვალისწინებით, მაგრამ ზოგიერთი რამ უნდა აღინიშნოს:
- ყველა ციფრული წაკითხვის უნარიანი ქინძისთავები აქვს შიდა გამწევებს, რაც საშუალებას იძლევა შემსუბუქდეს გარე გამწევ რეზისტორები. რა თქმა უნდა, კოდი უნდა განახლდეს შესაბამისად, რადგან ის ელოდება, რომ ღილაკების დაჭერისას პინის მდგომარეობა დაბალიდან მაღალი იქნება.
- Encoder.h ბიბლიოთეკის მაგალითში აღინიშნა, რომ კოდირების საუკეთესო მოქმედება მიიღწევა მაშინ, როდესაც MCU– სთან დაკავშირებული ორივე ქინძისთავები წყვეტს შესაძლებელ ქინძისთავებს. Atmega32U4– ის ანალოგიურ ქინძისთავებს არ აქვთ შეწყვეტის შესაძლებლობა.
- ზუსტი ჩამოსაშლელი რეზისტორის ღირებულებებს დიდი მნიშვნელობა არ აქვს, 1 kΩ– დან 100 kΩ– მდე ყველაფერი კარგად იმუშავებს. უფრო დიდი წინააღმდეგობის ღირებულებები იძლევა ენერგიის უფრო მცირე გაფრქვევას, მაგრამ იწვევს ძაბვის ცვლილებებზე უფრო ნელა რეაგირებას. უბრალოდ შეარჩიეთ რა მნიშვნელობის რეზისტორები გაქვთ ყველაზე მეტად.
- მექანიკური დამშიფრებლები არ არის ყველაზე საიმედო საგნები კონტაქტის აცვიათა და ხახუნის გამო. ამიტომაც არის საჭირო კარგი გამოსავალი. ჩემი არჩეული კონდენსატორის მნიშვნელობები და კოდში დაგვიანებული დრო ალბათ არ მოგაწვდით საუკეთესო შედეგს. ამიტომ ცოტა ექსპერიმენტია საჭირო. ან გადადით ოპტიკურ კოდირებაზე, მაგრამ მისი ფასი მნიშვნელოვნად მაღალია.
ნაბიჯი 2: შეკრება
მინდოდა, რომ კლავიატურა მაქსიმალურად სუფთა ყოფილიყო, ამიტომ პროტოტიპის დაფის უკანა ნაწილზე შევკარი ყველა კომპონენტი. მე მივხვდი, რომ კლავიატურა უფრო ერგონომიული იქნებოდა, თუ ის მცირე კუთხეზე მაღლა გამოიყენებოდა. ამიტომაც Arduino Pro Micro შევაერთე ცალკეულ დაფაზე და დავაკავშირე ყველა ციფრული ქინძისთავი მავთულხლართზე ღილაკების დასაჭერად. უფრო მოსახერხებელია USB კაბელის დაკავშირება ამ გზით.
მე ვიპოვე ძველი 3.5 მყარი დისკი, რომელიც გამოიყენებოდა როგორც კლავიატურის საფუძველი, ის საკმაოდ მძიმეა და ხელს უშლის დაფის ჩამოსვლას სამუშაო მაგიდაზე მუშაობისას (მოცურების საწინააღმდეგო ბალიშებიც ეხმარება). ასევე აქვს მოსახერხებელი 3 მმ ხრახნიანი ხვრელები, რომლებშიც მე ხრახნიან სპილენძს და დააფიქსირეთ დაფა მცირე კუთხით.
ნაბიჯი 3: პროგრამირება
კოდი დაწერილია Arduino IDE– ით. თქვენ უნდა დააინსტალიროთ 2 ბიბლიოთეკა:
- კოდირება პოლ სტოფრიგენის მიერ
- კლავიატურა Arduino– ს მიერ
Atmega32U4– ის შესადგენად თქვენ ასევე უნდა დააინსტალიროთ Arduino Pro Micro დაფის ფაილი, Sparkfun– ს აქვს შესანიშნავი სამეურვეო გზა ამის გაკეთება.
ერთი რამ, რაც წინასწარ უნდა აღინიშნოს, არის ფრთხილად, რომ არ დატოვოთ "გასაღებები დაჭერილი" თქვენს კოდში. ეს დამემართა და MCU მუდმივად ავრცელებდა რამდენიმე ძირითადი პრესის კომბინაციას. ერთადერთი გზა, რაც მე ვიცი, როგორ გამოვასწორო ეს არის ჩატვირთვის ჩამტვირთველის ხელახლა დაწვა MCU– ში. თუ თქვენ დასრულდება ჩემსავით, შეგიძლიათ მიჰყევით ამ სახელმძღვანელოს ჩატვირთვის ჩამტვირთავი, თქვენ დაგჭირდებათ სხვა arduino დაფა პროგრამისტად გამოსაყენებლად.
მთავარ მარყუჟში MCU პირველად კითხულობს თითოეული ღილაკის მდგომარეობას, თუ გამოვლინდა მდგომარეობის შეცვლა LOW– დან HIGH– ში, ფუნქცია keyboard_shortcut (i) შესრულებულია. ცვლადი i არის დაჭერილი ღილაკის ID, ღილაკის მთლიანი ნომერი განისაზღვრება ALL_BUTTONS- ით (ჩემს შემთხვევაში 15). როდესაც შესრულდება, keyboard_shortcut (i) აგზავნის CTRL+SHIFT და შემდეგ ასო, რომელიც აისახება ღილაკის id: 1-> A, 2-> B, 3-> C და ა.შ. ზოგიერთი კომბინაცია, როგორიცაა CTRL+SHIFT+N გამოტოვებულია, რადგან ის უკვე ნაგულისხმევად გამოიყენება Windows 10 -ში (ამ შემთხვევაში ახალი საქაღალდის შესაქმნელად). აქ არის Windows– ის ყველა ნაგულისხმევი მალსახმობების სია. მცირე დაგვიანების შემდეგ MCU აგზავნის სიგნალს ყველა გასაღების გასათავისუფლებლად და ფუნქცია გამოდის მთავარ მარყუჟში.
ყველა ღილაკის შემოწმების შემდეგ, MCU ამოწმებს, შეიცვალა თუ არა მბრუნავი კოდირების პოზიცია და თუ შეიცვალა, keyboard_shortcut (i) შესრულებულია უნიკალური პირადობის მოწმობით.
კოდირების ღილაკი დააჭირეთ ინვერსს encoderButtonFlag ლოგიკური ცვლადი. როდესაც კოდირება ბრუნდება, სხვადასხვა მალსახმობი იგზავნება კომპიუტერში, ეს დამოკიდებულია როტაციის მიმართულებაზე და კოდირების ღილაკზე დროშის მნიშვნელობაზე.
თუ debugFlag არის მითითებული 1 გამართვის შეტყობინება იგზავნება UART– ის სერიულ მონიტორზე.
ნაბიჯი 4: მალსახმობების კონფიგურაცია
რასაც თითოეული მალსახმობი აკეთებს თქვენც, ჩვენ ყველას გვაქვს განსხვავებული შეღავათები. მე მოგაწოდებთ რა მალსახმობებს, როგორც მაგალითს, ჩემთვის. მე ვიყენებ Linux Mint 19.3 xfce4 დესკტოპის მენეჯერთან ერთად, ამიტომ ჩემი მაგალითები ძირითადად მოიცავს bash სკრიპტებს, მაგრამ მე ვაჩვენებ რამდენიმე ძირითად მაგალითს Windows 10 -ისთვისაც.
პირველ სურათზე შეგიძლიათ ნახოთ რომელი სკრიპტები რომელ მალსახმობებზე დავნიშნე. ეს კეთდება xfce პარამეტრების მენიუდან, პროცესი პირდაპირ წინ მიდის. თქვენ შეგიძლიათ იპოვოთ ეს სკრიპტები ჩემს GitHub საცავში
უფრო მცირე ზომის 6 ღილაკი ბოლოში არის ისეთი პროგრამების დასაწყებად, როგორიცაა ბრაუზერი ან ფაილ მენეჯერი, ზოგიერთ მათგანს ეწოდება start_only_one_app.sh სკრიპტი, რომელიც იღებს ყველა დაწყებულ პროგრამას და ეძებს იმ პროგრამას, რომლის დაწყებაც გსურთ. თუ პროგრამის ფანჯარა უკვე არსებობს, ის ფოკუსირდება, წინააღმდეგ შემთხვევაში დაიწყება განაცხადის ახალი მაგალითი.
სხვა სკრიპტები:
- 2nd_display_control.sh - ჩართავს/გამორთავს მეორე მონიტორს.
- moon_lamp.sh - ჩართავს/გამორთავს ჩემს Moon Lamp- ს.
- pc_load.sh - ქმნის შეტყობინების ბუშტს პროცესორისა და GPU– ს ამჟამინდელი მოხმარებით და ტემპერატურით.
- shutdown.sh - იწყებს კომპიუტერის გამორთვას 1 წუთის დაგვიანებით და ქმნის შეტყობინების ბუშტს, რომელშიც ნაჩვენებია დარჩენილი დრო.
- spec_vpn.sh - უკავშირდება კონკრეტულ OpenVPN სერვერს ან თუ კავშირი უკვე არსებობს, გათიშულია სერვერთან.
- shortcut_controll.sh - იღებს ბრძანებას (პლუს, მინუს, ჩანართი, დახურვა) არგუმენტად, ამოიცნობს რა ფანჯარაზეა აქცენტი გაკეთებული და თუ კონკრეტული პროგრამა აქტიურია, ასრულებს საკონტროლო მოქმედებას. მაგალითად, ახალი ჩანართის გასახსნელად დიადი ტექსტური რედაქტორის ნაგულისხმევი მალსახმობი არის "CTRL+N" და xfce ტერმინალში - "CTRL+T", ასე რომ, ეს სკრიპტი საშუალებას გაძლევთ გახსნათ ახალი ჩანართი ამაღლებულსა და ტერმინალში ერთი და იგივე ღილაკით.
მბრუნავი კოდირების პირველი ფუნქციაა მოცულობის კონტროლი, მეორე ფუნქცია არის ფანჯრის აქტიური მასშტაბირების კონტროლი shortcut_controll.sh.
Windows OS– სთვის შეგიძლიათ პროგრამების მალსახმობების რუქა პროგრამის თვისებების ფანჯრის საშუალებით, როგორც ეს ნაჩვენებია მეორე სურათზე. სხვა რამისთვის თქვენ გსურთ გამოიყენოთ AutoHotkey. ეს არის ავტომატიზაციის სკრიპტირების ენა Windows- ისთვის.
AHK სინტაქსის რამდენიმე მარტივი მაგალითი:
;Ხმის კონტროლი
^+t:: გაგზავნა {Volume_Up}
დაბრუნების
^+v:: გაგზავნა {Volume_Down}
დაბრუნების
დახურეთ აქტიური ფანჯარა
^+თ:: WinGetTitle, სათაური, ა
PostMessage, 0x112, 0xF060,,, %Title %
დაბრუნების
კომპიუტერის გამორთვა;
^+b:: გათიშვის /ების გაშვება
ნაბიჯი 5: გაუმჯობესება
რამდენიმე შესაძლო გაუმჯობესება:
- უკეთესი ხარისხის ღილაკები.
- პროტოტიპი PCB საკმაოდ იკეცება ღილაკების დაჭერისას.
- RGB განათება იცვლის ფერს იმისდა მიხედვით, თუ რომელ ფუნქციაზეა დაყენებული მბრუნავი კოდირება.
- მეტი ღილაკი (გამოიყენეთ IO გაფართოების IC).
- უკეთესი მბრუნავი კოდირება (ან უკეთესი გამოსავალი).
გირჩევთ:
Renegade-i (პროგრამირებადი IC ტესტერი, რომელიც ნამდვილ ნივთს ჰგავს): 3 ნაბიჯი (სურათებით)
Renegade-i (პროგრამირებადი IC ტესტერი, რომელიც ნამდვილ ნივთს ჰგავს): მილიონი დოლარის ოცნება. ოდესმე გიოცნებიათ სახლში თქვენი საკუთარი IC ტესტერი? არა მხოლოდ გაჯეტი, რომელსაც შეუძლია IC- ს შემოწმება, არამედ "პროგრამირებადი" მანქანა, რომელიც გრძნობს თავს ნახევარგამტარი ტესტის ინდუსტრიის უდიდესი მოთამაშეების ერთ -ერთ ფლაგმანურ პროდუქტად, წარმატებით
პროგრამირებადი გოგრის შუქი: 25 ნაბიჯი (სურათებით)
პროგრამირებადი გოგრის შუქი: ეს ინსტრუქცია არის პროგრამირებადი გოგრის შუქის შესაქმნელად ATTiny მიკროკონტროლით. ეს შეიქმნა როგორც სასწავლო დემო, რათა ნებისმიერი (8 წელზე უფროსი ასაკის) დანერგოს ელექტრონიკაში და დაპროგრამდეს მიკროკონტროლერები Arduino IDE გამოყენებით. დახრილი ობჟეკი
Stranger Things პროგრამირებადი ჰუდი: 9 ნაბიჯი (სურათებით)
Stranger Things პროგრამირებადი კაპიტანი: შეიძლება არასოდეს დაგჭირდეს დროის გატარება მონსტრების კოშმარულ სამყაროში, მაგრამ ხანდახან გინდა უბრალოდ ჩაიცვი პერანგი, რომელიც ამბობს, რომ თუ მოინდომებ, შეგიძლია იქ იცხოვრო. ვინაიდან ასეთი პერანგი არ არსებობს ღია ბაზარზე, ჩვენ გადავწყვიტეთ, რომ გაგვეკეთებინა
მუყაოს პროგრამირებადი კლავიატურა: 8 ნაბიჯი (სურათებით)
მუყაოს პროგრამირებადი კლავიატურა: როგორც ტექნოლოგია ვითარდება, ადამიანებს სურთ, რომ ყველაფერი უფრო ვირტუალური იყოს, თუმცა ხანდახან უფრო პრაქტიკული და მოსახერხებელია გქონდეს რაღაც ფიზიკური, რასაც რეალურად შეხება და შეხება საკუთარი ხელით. ერთი მაგალითი
სწრაფი და ბინძური Das კლავიატურა (ცარიელი კლავიატურა): 3 ნაბიჯი
სწრაფი და ჭუჭყიანი Das კლავიატურა (ცარიელი კლავიატურა): Das Keyboard არის ყველაზე პოპულარული კლავიატურის სახელი კლავიშებზე წარწერების გარეშე (ცარიელი კლავიატურა). Das კლავიატურა 89,95 დოლარად იყიდება. ეს ინსტრუქცია გაგიძღვებათ, თუკი თქვენ თვითონ გააკეთებთ მას რომელიმე ძველი კლავიატურით, რომლის გარშემოც იწექით