Სარჩევი:
- ნაბიჯი 1: ნაწილების მიღება
- ნაბიჯი 2: კლავიშების შეცვლა
- ნაბიჯი 3: 3D ბეჭდვა
- ნაბიჯი 4: შეაგროვეთ ის, რაც აქამდე გაქვთ
- ნაბიჯი 5: OLED– ის დაყენება
- ნაბიჯი 6: შედუღება
- ნაბიჯი 7: შესავალი პროგრამირებაში
- ნაბიჯი 8: გადამრთველების დაპროგრამება
- ნაბიჯი 9: პროგრამირება OLED
- ნაბიჯი 10: LED- ების დაპროგრამება
- ნაბიჯი 11: შეკრება
- ნაბიჯი 12: საკუთარი გაუმჯობესება
ვიდეო: პერსონალური მაკრო მექანიკური კლავიატურა: 12 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ამ ინსტრუქციულ ინსტრუქციაში მე გაგიყვანთ თქვენი საკუთარი 6 გასაღებიანი მაკროპადის შექმნის საფუძვლებზე, რომელსაც აკონტროლებს არდუინო. მე გაგიმხელთ იმას, რაც გჭირდებათ, როგორ შეიკრიბოთ, როგორ დაპროგრამდეთ და როგორ გააუმჯობესოთ იგი ან გახადოთ თქვენი საკუთარი.
ბევრი კვლევის შემდეგ, მე ნამდვილად ვერ ვიპოვე დიდი სახელმძღვანელო იმის შესახებ, თუ როგორ უნდა გავაკეთო მაკრო კლავიატურა, ან საერთოდ ხელით გაყვანილი კლავიატურა. ასე რომ, მე გადავწყვიტე ამის გაკეთება მე თვითონ, რაც შეიძლება მარტივი გზით, დიოდების, რეზისტორების და სხვა რამის გარეშე. მე ასევე მინდოდა მქონოდა უნიკალური მოდულური კლავიატურა, სადაც შემეძლო მეჭირა ნებისმიერი ნაწილი, რაც მჭირდებოდა, ეს არის პირველი სხვა მრავალი ნაწილიდან. ამ მოდულის შთაგონება იყო კლავიატურის ისრის ღილაკები, ჯიბეში მოთავსება და სადმე გადატანა, თუკი რამდენიმე დამატებითი ღილაკი დაგჭირდებოდათ.
იმის გამო, თუ როგორ შეიქმნა ეს კლავიატურა, მე გირჩევთ რომ წაიკითხოთ ყველა ინსტრუქცია, სანამ რაიმე გადაწყვეტილებას მიიღებთ.
მე ასევე შევეცადე Instructable ლოგიკური თანმიმდევრობით, მაგრამ მე არ ვაშენებ ლოგიკურად, ამიტომ შეიძლება უკეთესი იყოს გამოტოვოთ ნაბიჯების თანმიმდევრობა იმის მიხედვით, თუ როგორ აშენებთ.
ნაბიჯი 1: ნაწილების მიღება
ყველაზე გრძელი ნაბიჯი სწორედ აქ არის, ყიდულობთ ნაწილებს და ელოდებით მათ გაგზავნას. ამაზონის ბმულები იქნება კანადური ამაზონი. ნაწილები, რომლებიც დაგჭირდებათ:
-
მექანიკური გასაღები გადამრთველები
- მე ვირჩევ გატერონის კონცენტრატორებს გამჭვირვალე ზედაპირით აქედან (გამჭვირვალე ზედაპირი ამარტივებს მომდევნო ნაბიჯს, ყველაზე გავრცელებული ტიპის გადამრთველებიც იქ არის დაფარული)
-
ყიდვის სხვა ადგილები შეგიძლიათ იხილოთ აქ თქვენი საყვარელი გადართვის განყოფილებაში
მე ასევე გირჩევთ, ჩაატაროთ კვლევა იმის შესახებ, თუ რა შეცვლა გსურთ აქ "გრძნობების" განყოფილებაში
-
მექანიკური გასაღებები
-
დარწმუნდით, რომ ისინი თავსებადია თქვენს მიერ არჩეულ გადამრთველთან!
ასევე დარწმუნდით, რომ ისინი უკანა შუქთან თავსებადია, ასე რომ თქვენ შეგიძლიათ შეცვალოთ ფერი
- გამყიდველები შეგიძლიათ ნახოთ აქ "სიახლის გასაღებები (სტანდარტული წარმოება)" განყოფილებაში, თუ არ გსურთ კლავიშების სრული ნაკრები
-
-
მისამართებიანი RGB LED ზოლები (სურვილისამებრ, მაგრამ რეკომენდირებულია)
-
მსგავსი რამ ვიყიდე ამაზონიდან
- დარწმუნდით, რომ LED- ები არის WS2812B LED- ები, მათ შეუძლიათ მიიღონ დაბალი ძაბვა.
- თქვენ ასევე შეგიძლიათ შეიძინოთ თქვენი საყვარელი ფერის 3 მმ რეგულარული LED- ები, მაგრამ დაგჭირდებათ რეზისტორები
-
-
HID თავსებადი მიკრო კონტროლერი (მე გამოვიყენე Pro Micro)
-
მე შევიძინე ამაზონიდან საუკეთესო გარიგებისთვის
თქვენ შეგიძლიათ შეიძინოთ სხვა მიკრო კონტროლერები, მაგრამ დარწმუნდით, რომ ისინი ორივე Arduino და HID (ადამიანის შეყვანის მოწყობილობა) თავსებადია
-
-
128x32 I2C OLED ეკრანი
ეს ამაზონიდან შევიძინე
-
3D პრინტერზე წვდომა
- სცადეთ თქვენს ირგვლივ არსებულ ბიბლიოთეკებთან ან სკოლებთან და ნახეთ აქვს თუ არა მათ 3D პრინტერი
- მე პირადად არასოდეს გამომიყენებია ონლაინ სერვისი, მაგრამ თქვენც შეგიძლიათ გამოიყენოთ ისინი (მსგავსი რამ)
- თხელი მავთული
-
საჭიროა ზოგადი ინსტრუმენტები
- Soldering რკინის და Solder
- გვერდითი საჭრელი ფანქარი
- მცირე ფაილები (გარკვეულწილად არჩევითი)
- ცხელი წებო იარაღი და წებო
- ხრახნები და ხრახნები თქვენი არჩევანით
ნაბიჯი 2: კლავიშების შეცვლა
დაიწყეთ თქვენ მიერ შეძენილი კონცენტრატორების დაშლა. ჩვენ ამას ვაკეთებთ იმისთვის, რომ სინათლე უკეთესად ანათებდეს და მიაღწიოს ჩვენს გასაღებებს. თუ თქვენ შეარჩიეთ კლავიშები, რომლებსაც არ აქვთ RGB მხარდაჭერა, გამოტოვეთ ეს ნაბიჯი.
აიღეთ 2 პატარა სოლი (მე გამოვიყენე 2 ბრტყელი ხრახნიანი ბიტი) და ჩავრთოთ ჩანართების ქვეშ, გადართვის მხარეს. შემდეგ დააყენეთ რაღაც ზედა და ქვედა შორის ისე, რომ არ დაიხუროს. გააგრძელეთ მეორე მხარის ჩანართების გადატანა, ასე რომ არცერთ ჩანართს მაინც არ უნდა ეჭიროს ზედა ნაწილი. ამის შემდეგ დაასრულეთ და ჩადეთ გადამრთველის ზედა ნაწილი. როგორც წესი, ოთხი ნაწილია, გარსაცმის ზედა და ქვედა ნაწილი, ზამბარა და ღერო (გადამრთველის მოცურების ნაწილი, რომელიც ფლობს გასაღებს).
დაიწყეთ პატარა პატარა ნაჭრების მოჭრა საქმის ფსკერიდან, რათა მეტი შუქი გაიაროს. ჯერ გაჭერით ჩანართი, რომელიც იკავებს გადამრთველს ფირფიტაზე. შემდეგ გაჭერით ცოტაოდენი ორიგინალური LED გავლა, (ნაწილი 4 ხვრელით, ეს არის LED- ების ფეხებისთვის). ნელ -ნელა შეამცირეთ ის ჩანართი შიგნით, რათა ბოლოში ჩახვიდეთ. შემდეგ გააგრძელეთ გადამრთველის ცილინდრული ცენტრის გაჭრა, რომელიც იკავებს ზამბარას. ჩვენ ამაზე შორს წასვლა არ გვჭირდება. ამის შემდეგ, ოდნავ გააფართოვეთ ხვრელი, ნელა გაწყვიტეთ ორივე მხარე წინასწარ ჩამოსხმული საყრდენებით. კიდევ ერთი არჩევითი ნაბიჯი არის მისი შევსება, გახადოს ის უფრო ლამაზი და ნაკლებად დაკბილული. დარწმუნდით, რომ გარსაცმის შიგნიდან პლასტმასის ნაწილები არ არის, რადგან თქვენ არ გინდათ, რომ გადამრთველმა ჩაიკეტოს. დარწმუნდით, რომ გააკეთეთ ეს ჭრა ნელა და მცირედ, რადგან მე გავტეხე რამოდენიმე შემთხვევა გვერდითი საჭრელების სიგანიდან, რაც აიძულებს საქმეს.
თუ თქვენი გადამრთველის ზედა ნახევარი ასევე არ არის გასაგები, შეეცადეთ შეცვალოთ იგი, რათა შუქმა გაანათოს. სცადეთ ნელ -ნელა შეცვლის დარღვევის გარეშე, რადგან არ გსურთ ღერო ამოვარდეს. შესაძლო გამოსავალი შეიძლება იყოს პლასტმასის ნაჭრის ამოკვეთა, რომელიც ნორმალურ LED- ს იტევს, და პლასტმასის დატოვება, რომელიც ღეროს დახურულს ინახავს, და მხოლოდ მისი ჩამოსხმა.
ნაბიჯი 3: 3D ბეჭდვა
თქვენ უნდა გადმოწეროთ ერთ -ერთი zip ფაილი ქვემოთ და 3D დაბეჭდოთ. იქნება სხვადასხვა ვერსიები იმისდა მიხედვით, რაც გსურთ. იქნება საქაღალდე ყველა ნორმალური stl ფაილით (KeybArrowSTLFiles) და ერთი Autodesk გამომგონებელი ფაილებით (KeybArrowSourceFiles), ასე რომ თქვენ შეგიძლიათ შეცვალოთ ფაილები და შეცვალოთ ისინი თქვენს საჭიროებებზე. ფაილები ოდნავ განსხვავდება იმისგან, რაც მე დავბეჭდე, ეს იმიტომ მოხდა, რომ იყო დიზაინის ხარვეზები და ვიგრძენი, რომ მათი გაუმჯობესება შემეძლო. მაგალითი იქნება საქმის მხარეები, ჩემი ძალიან მაღალი იყო, ასე რომ გასაღებები ბოლომდე არ დაიძაბებოდა, ახალმა ფაილებმა უნდა გაასწორონ ის.
მათი დიზაინი საკმაოდ რთული იყო, 30 -ზე მეტი საფეხურით. მე ვიტყვი მხოლოდ იმას, რომ თუ გსურთ ქეისის დიზაინი სხვა ზომისთვის, დარწმუნდით, რომ თქვენ გაქვთ გამოცდილება გარკვეულწილად რთულ 3D დიზაინში. ეს ნამდვილად არ არის მათთვის, ვინც ახალი დიზაინისაა.
გაითვალისწინეთ, რომ გარსაცმის ორივე ფაილი 3 გრადუსიანი კუთხისაა და საწოლზე უნდა დაიხუროთ
ნაბიჯი 4: შეაგროვეთ ის, რაც აქამდე გაქვთ
ახლა, როდესაც ჩვენ გვაქვს ყველა ჩვენი ნაწილი და გვაქვს 3D ნაბეჭდი ნაწილები, დროა შევიკრიბოთ იგი ცოტათი!
მოათავსეთ ექვსივე კონცენტრატორი ფირფიტაში და მიამაგრეთ ისინი ადგილზე. ჩვენ უნდა წებო მათ, რადგან ჩვენ შეწყვიტა ჩანართები, რომ გამართავს მას ადგილი. მე გირჩევთ დაელოდოთ OLED– ის ჩასმას, რადგან არ გსურთ მისი დახრილობა.
შემდეგი, გათიშეთ 6 LED და განათავსეთ ისინი LED ფირფიტაზე. ფირფიტის კვადრატები დაგეხმარებათ LED- ების გასწორებაში. კვადრატული LED- ები მოთავსდება მათში, ასე რომ თქვენ შეგიძლიათ 3D- ით დაბეჭდოთ სხვა, რათა დაგეხმაროთ გასწორებაში, ან უბრალოდ დააწეროთ იგი უკნიდან. დარწმუნდით, რომ ისრები მიუთითებს სხვა LED- ებზე, რადგან DO იქნება მიერთებული DI- ზე. გამოიყენეთ ეს კვადრატები LED- ებზე ცხელი წებოთი წებოვნებით და დაიჭირეთ ისინი და დაელოდეთ წებოს გამართვას.
მე გამოვიყენე პროტოტიპის ფირფიტა ჩამრთველებისთვის LED- ების ჩასატარებლად (სურათებში), რადგან არ მიყვარს ძაფის გაფლანგვა და გადავწყვიტე მისი ხელახალი გამოყენება. ახალი ფაილი არაფერზე არ იმოქმედებს, უბრალოდ გაამარტივეთ გასწორება.
ნაბიჯი 5: OLED– ის დაყენება
მე გირჩევთ გამოიყენოთ ეს ინსტრუქცია საფუძვლიანი გასავლელად. მათ მართლაც კარგად გააკეთეს ამის ახსნა.
თქვენ უნდა გადმოწეროთ და შემოიტანოთ ეს ბიბლიოთეკა და ეს ბიბლიოთეკა, რომ კოდმა იმუშაოს.
პირველ რიგში შეაერთეთ იგი. მავთულის VCC to VCC და GND to GND. შემდეგ შეაერთეთ SDA და SCL ქინძისთავები. SDA და SCL ქინძისთავები შეიძლება განსხვავდებოდეს თითოეული Arduino– სგან, მაგრამ პრო მიკროზე, SDA მავთულხლართამდეა მიმაგრებული 2 – მდე, ხოლო SCL მავთულხლართამდეა 3. დაათვალიერეთ თქვენი მიკრო კონტროლერის პინტუსი, თუ არ ხართ დარწმუნებული SDA და SCL არის სადენიანი.
შემდეგი არის მისი ჩვენება და სურათების შექმნა. ქვემოთ იქნება ფაილები, თუ როგორ უნდა იმუშაოს იგი. პირველი ნაბიჯი არის ScreenScan კოდის გამოყენება (თავდაპირველად მოწოდებულია Arduino– ს მიერ აქ). ატვირთეთ კოდი Pro Micro– ზე და გახსენით სერიული მკითხველი (ინსტრუმენტების ჩანართის ზედა ნაწილში). ის წაგიკითხავთ OLED– ის მისამართს. თუ თქვენი მისამართი არის 0x3C, მაშინ არაფრის შეცვლა არ გჭირდებათ. თუ ეს ასე არ არის, თქვენ უნდა წახვიდეთ და შეცვალოთ მისამართი ssd1306_128x32_i2c კოდში და საბოლოო კოდი (სახელად ArrowKeypad) ისე, რომ ის სწორად იმუშაოს.
ახლა გამოსცადეთ მაგალითი კოდი, რომელიც შედიოდა Adafruit ssd1306 ბიბლიოთეკაში 128x32 i2c კოდისთვის (სახელად ssd1306_128x32_i2c)
ამის შემდეგ, ჩართეთ Arduino და შეეცადეთ დააყენოთ OLED გადართვის ფირფიტაზე, შემდეგ გამორთეთ და სცადეთ წებო მის ადგილას. თქვენ, სავარაუდოდ, არ მიიღებთ ამ პირველ მცდელობას, მაგრამ განაგრძეთ მორგება, რათა შეეცადოთ გაათანაბროთ იგი ისე, რომ დასრულების შემდეგ ის არ იყოს დახრილი. მე გირჩევთ ცოტათი წებოთ ერთი მხარე და შეამოწმოთ სანამ წებოვდებით მეორე მხარეს დავრწმუნდეთ რომ ის დახრილი არ არის.
ჩამოტვირთეთ კოდი ახლავე და გამოიყენეთ სხვა ფაილები კოდი მე –8 ნაბიჯში მოგვიანებით ამ ინსტრუქციაში
ნაბიჯი 6: შედუღება
Fritzing ფაილი ხელმისაწვდომი იქნება ქვემოთ. ეს საშუალებას მოგცემთ იმოქმედოთ სქემასთან და თუ დააწკაპუნეთ მარცხნივ, შეგიძლიათ ნახოთ რა მავთულები არის ყველა დაკავშირებული (მონიშნულია ყვითელ წერტილებში) ფაილები, რომლებიც უნდა შემოიტანოს Fritzing– ში სანამ გახსნით ფაილს ქვემოთ (ქვემოთ პრო მიკრო და LED- ები).
დარწმუნდით, რომ ქინძისთავები წარწერით „MOSI, MISO ან SCLK“გამოუყენებელია, ან ეს გამოიწვევს OLED– ის ხარვეზებს
მას შემდეგ, რაც 6 შუქდიოდური LED გაჭრა ერთ ზოლში და დააწებეთ ფირფიტაზე. მოათავსეთ გამაგრილებელი რკინა სპილენძის ბალიშებზე და დაამატეთ გამაგრება თითოეულ ბალიშზე. გაჭერით მავთულის პატარა ნაჭრები და გააცალეთ ნახევარი, გადააბრუნეთ, შემდეგ ამოიღეთ მეორე ნახევარი და გადააბრუნეთ მავთული. მავთული უნდა დაიჭიროს ქლიბთან ან შედუღების დამხმარე ხელებით, ხოლო თქვენ მიამაგრებთ მას გამაგრებით. დაამატეთ მეტი გამაგრება, რომ იქ ლამაზად დაიჭიროთ. ზემოდან ყველა LED განათავსეთ ერთად. გაჭერით მავთული და შეაერთეთ იგი LED- ის ბოლომდე, პირველ რიგში, წარწერით "DO" ან "D-" და შეაერთეთ იგი მეორე LED- ის პირველ LED- ზე, ეტიკეტით "DI" ან "D+" '. ამის გაკეთება შეგიძლიათ 5v და GND– ითაც, მაგრამ ეს უფრო ადვილია, თუ თითოეულ ველზე პირველი LED- ები 5v და GND ერთმანეთთან არის დაკავშირებული. შეაერთეთ 5V მავთული VCC– ზე, მონაცემთა pin ნებისმიერ ციფრულ პინზე (კოდი მითითებულია, როგორც 10) და GND GND– ზე Arduino– ზე.
იმისათვის, რომ არდუინომ აღიაროს შეყვანა, კონცენტრატორებმა უნდა დააკავშირონ მიწა მონაცემთა პინთან. ასე რომ, თქვენ შეგიძლიათ შეაერთოთ ერთი მავთული, რომ დააკავშიროთ ყველა 6 კონცენტრატორი მიწას. თითოეულ მრგვალზე დაასხით ერთი მავთული და თუ ეს შესაძლებელია, შეეცადეთ შეცვალოთ მავთულის ფერები, რათა თვალყური ადევნოთ რა გადამრთველია რა მავთული. მიაწოდეთ მავთულები LED ფირფიტის საშუალებით და მიამაგრეთ ისინი Arduino– ს მონაცემთა პინზე (ამისთვის მე გამოვიყენე მონაცემთა ქინძისთავები 5-9)
გვერდის ორ გადამრთველს აქვს განსხვავებული ფუნქციები, ერთი არის პროგრამირების გადატვირთვის გადამრთველი, ხოლო მეორე არის ფუნქციის გადამრთველი, რომელიც გადაერთვება კლავიატურის ფენებს შორის, რათა სწრაფად შეიცვალოს ღილაკების ფუნქციები. ზედა გადამრთველი, სადენიანია გადატვირთვისთვის (RST) და GND, როდესაც დაკავშირებულია, ეს იწვევს გადატვირთვას. ქვედა გადამრთველი მავთულხლართამდეა მიმაგრებული 18 -მდე, რომელსაც Pro Micro- ზე ეწოდება წარწერა A0. მიეცით თავს გადართვის სადენები, რადგან თქვენ მაინც გჭირდებათ ფირფიტებში სრიალი და ძალიან ცოტა მავთული არ დაუშვებს ფირფიტები ჩასვით ზემოდან.
ნაბიჯი 7: შესავალი პროგრამირებაში
სანამ საქმის დახურვას აპირებთ, გსურთ მისი გამოცდა და დარწმუნდით, რომ მუშაობს. თქვენ შეგიძლიათ გადახვიდეთ მე –11 საფეხურზე, რომ შეაგროვოთ იგი ახლა. მე უბრალოდ აღმოვაჩინე, რომ მისი წინასწარი ტესტირება ხელს უწყობს მისი გახსნისა და დახურვის რაოდენობის შემცირებას. მიუხედავად იმისა, რომ მასზე დიდად არ უნდა იმოქმედოს, მე გამოვიყენე Arduino IDE ვერსია 1.8.3, ასე რომ, თუ თქვენ გაქვთ რაიმე პრობლემა, სცადეთ გამოიყენოთ ეს ვერსია. კოდი არის მე –5 საფეხურზე, ეს არის zip ფაილი, რომლის ამოღება და ატვირთვა დაგჭირდებათ Arduino– ს საშუალებით.
ქვემოთ იქნება რამოდენიმე კოდი. ერთი იქნება საბოლოო კოდი, ორი იქნება OLED– ის შესამოწმებლად (ერთი შესამოწმებლად, ერთი მისამართის საპოვნელად) და ერთი იქნება RGB– ის შესამოწმებლად. გამოიყენეთ საბოლოო კოდი კონცენტრატორების შესამოწმებლად.
თუ გსურთ შეიმუშაოთ საკუთარი კოდი, მე ვასწავლი ამას მომდევნო 3 ნაბიჯში, მაგრამ სრულიად კარგია თუ გსურთ გამოიყენოთ ჩემი კოდი, ან აიღოთ იგი და შეცვალოთ იგი.
ამის პროგრამირების რამდენიმე საფუძველი
- "ინსტრუმენტების" ჩანართის შემდეგ, "დაფის" ჩანართზე დააყენეთ ის Arduino Leonardo (თუ არ გაქვთ მიკრო კონტროლერი, რომელიც განსხვავდება Pro Micro– სგან)
- გამოიყენეთ გადატვირთვის გადამრთველი ყოველ ჯერზე, როდესაც კოდს ატვირთავთ Pro Micro- ში. აღმოვაჩინე, რომ მას შემდეგ, რაც შედგენის ზოლი სავსეა და ჯერ კიდევ იტვირთება, კარგი დროა გადართვა და გამორთვა პროგრამაზე. (თუ ამას არ გააკეთებთ, ატვირთვა უბრალოდ ვერ ჩაიტვირთება.)
-
ყველა გამოყენებული ბიბლიოთეკა უნდა იყოს დაინსტალირებული და იმპორტირებული
იმპორტისთვის გადადით ინსტრუმენტების ჩანართზე და დააჭირეთ ბიბლიოთეკის ჩართვას. (ასევე გაითვალისწინეთ, რომ ჩემს ვებ – გვერდზე კოდის მაგალითებს უნდა ჰქონდეთ ბიბლიოთეკის სახელი, მე ვერ შევძლებ მათ კოდის მაგალითის განყოფილებაში მომდევნო რამოდენიმე ნაბიჯზე)
-
LED და OLED ბიბლიოთეკები ინიციალიზებული იქნება როგორც ობიექტები, თქვენ შეგიძლიათ დაასახელოთ ისინი რაც არ უნდა იყოს, მაგრამ დემონსტრაციის გულისთვის მე მათ დავასახელებ "ზოლს" და "ჩვენებას"
დარეკეთ ფუნქციები ობიექტიდან ობიექტის სახელის აკრეფით, წერტილის მითითებით, შემდეგ კი იმ ფუნქციის აკრეფით, რომლის გამოყენებაც გსურთ
შემდეგ შეამოწმეთ LED- ები, ატვირთეთ კოდი და დარწმუნდით, რომ ყველა მუშაობს. თუ არცერთი არ მუშაობს, თქვენ გამოტოვებთ მათთან მიმაგრებულ ქინძისთავს, შეამოწმეთ პირველი LED- ის შედუღება.
დაბოლოს, გამოიყენეთ საბოლოო კოდი თქვენი კონცენტრატორების შესამოწმებლად. ეს უნდა იყოს ყველაზე ადვილი გასაკეთებელი. გაითვალისწინეთ, რომ ახლა, HID კოდის ატვირთვის შემდეგ, თქვენ დაგჭირდებათ Arduino– ს გადატვირთვა ყოველ ჯერზე, როდესაც მასში ატვირთავთ კოდს. უბრალოდ გადატვირთეთ მისი ატვირთვა ნახევარში და ის უნდა იმუშაოს.
ნაბიჯი 8: გადამრთველების დაპროგრამება
ყველა პროგრამირებიდან, კონცენტრატორები ყველაზე ნაკლებად რთულია. იმისათვის, რომ ის აღიარდეს როგორც კლავიატურა, ყველაფერი რაც თქვენ გჭირდებათ არის Arduino კლავიატურის ბიბლიოთეკა და პირობითი განცხადებები. დარწმუნდით, რომ ინსტრუმენტების ჩანართში დაფა მითითებულია Arduino Leonardo– ზე, თუ თქვენ იყენებთ ჩემსავით Pro Micro– ს.
სანამ დავიწყებთ პირობითი განცხადებებით, ჩვენ გვჭირდება ქინძისთავების დაყენება. ჩვენ გვჭირდება ეს მხოლოდ ერთხელ გასაშვებად, ასე რომ ჩადეთ იგი სიცარიელეში. დაიწყეთ pinMode– ით (PinNum, INPUT_PULLUP); ეს არდუინოს ეუბნება, რომ PinNum ელოდება შეყვანას და ამატებს გამწევ რეზისტორს (ისე, რომ ჩვენ არ გვჭირდება აპარატურაში რაიმე მავთულის შეერთება)
შეყვანის ამოღებას აქვს 2 მდგომარეობა, LOW და HIGH. Arduino წაიკითხავს LOW- ს პინზე, როდესაც ის დაკავშირებულია Ground- თან (GND) და წაიკითხავს HIGH როდესაც ის გათიშულია. იმის დასადგენად, თუ რას კითხულობს პინი, ჩვენ ვიყენებთ digitalRead (PinNum).
საფუძვლებიდან დაწყებული, ჩვენ ვიყენებთ პირობითი if განცხადებებს, რათა ვიპოვოთ გასაღები დაჭერილი. ჩვენ გვსურს, რომ ეს ისევ და ისევ გადიოდეს, ასე რომ ჩვენ გვინდა, რომ ეს იყოს ბათილი მარყუჟი. თუ გასაღები დარეგისტრირდა როგორც "LOW" მაშინ ჩვენ გვსურს რომ ის იყოს დაჭერილი და გასაღები გათავისუფლდეს როდესაც შეყვანა არის "HIGH". ასე რომ, ამის გასაკეთებლად, ჩვენ ვაკოდირებთ თუ (digitalRead (PinNum) == LOW) {[კოდი ღილაკზე დაჭერისას]} და კოდი თუ (digitalRead (PinNum) == HIGH) {[კოდი ღილაკის გამოშვებისას] }
კლავიატურის კოდისთვის შეიყვანეთ კლავიატურის ბიბლიოთეკა. განათავსეთ კლავიატურა. დაწყება (); სიცარიელის დაყენებაში. შემდეგ ჩვენი პირობითი განცხადებების შიგნით, ჩვენ ვიყენებთ keyboard.press ([გასაღები]); და კლავიატურა. გამოშვება ([გასაღები]); ან keyboard.releaseAll (); თუ თქვენ გაქვთ რამდენიმე ღილაკი დაჭერილი. თქვენ ასევე შეგიძლიათ გამოიყენოთ keyboard.print ([სიმებიანი]); და keyboard.println ([სიმებიანი]) სტრიქონების დასაბეჭდად, პაროლის მსგავსად. print და println მსგავსია, მაგრამ println უბრალოდ ამატებს ENTER- ს, ასე რომ ის ავტომატურად გადადის შემდეგ სტრიქონზე.
ნაბიჯი 9: პროგრამირება OLED
OLED პროგრამირებიდან დაწყებული, თქვენ დაგჭირდებათ ძირითადი კონფიგურაციის კოდი. ეს ძირითადად ეუბნება კომპიუტერს, სადაც მდებარეობს თქვენი OLED, მისი ზომა და როგორ არის დაპროგრამებული. მას შემდეგ რაც მიიღებთ OLED– ის დაყენების კოდს, თუ თქვენ მხოლოდ ტექსტს აჩვენებთ, მისი დაპროგრამება საკმაოდ მარტივი უნდა იყოს. პირველი მოიცავს Wire და SSD1306 ბიბლიოთეკებს.
განსაზღვრეთ OLED_RESET როგორც 4 და შეიყვანეთ SSD1306 ბიბლიოთეკა თქვენს კოდში. განათავსეთ Adafruit_SSD1306 ჩვენება (OLED_RESET); თქვენს კოდში, რომ დაიწყოთ Adafruit SSD1306 ბიბლიოთეკის გამოყენება.
დაწყება Serial.begin (9600); შემდეგ display.begin (SSD1306_SWITCHCAPVCC, 0x3C); i2C ჩვენების ინიციალიზაცია 0x3C მისამართით (თუ ის არ შეცვლილა მე –5 ნაბიჯში). ჩადეთ ორივე ბათილად დაყენებაში, რადგან მათ მხოლოდ ერთხელ გაშვება სჭირდებათ.
ეკრანის დაპროგრამებამდე, დარწმუნდით, რომ იყენებთ display.clearDisplay- ს. თუ არ გააკეთებთ იმას, რაც შეყვანილია, გადაფარავს და იმისდა მიხედვით, თუ რა შეიცვალა, არ იქნება იკითხება. თქვენ ასევე გსურთ დაადგინოთ წარმოშობა, ამიტომ გამოიყენეთ display.setCursor (0, 0); თქვენს ეკრანზე მდებარე წერტილზე დასაყენებლად (0, 0) დააბრუნეთ იგი თავიდან. ტექსტის ზომის დასაყენებლად გამოიყენეთ display.setTextSize (1); მე არ გავდიოდი 1 -ზე ბევრად დიდზე, ის ბევრად უფრო დიდია ვიდრე მოსალოდნელი იყო.
მიუხედავად იმისა, რომ ჩვენი ეკრანი მონოქრომულია, ჩვენ უნდა დავაყენოთ ტექსტის ფერი, ამიტომ ჩვენ ვპროგრამებთ მას როგორც display.setTextColor (WHITE);
ახლა, როდესაც თქვენ გაქვთ ბიბლიოთეკა იმპორტირებული და ჩვენების ობიექტი, შეგიძლიათ დაიწყოთ მისი დაპროგრამება. ტექსტის დასამატებლად გამოიყენეთ display.print (); და display.println (); სტრიქონების დასაბეჭდად. ისევ და ისევ, ბეჭდვა არ მატებს ანაზღაურებას, ხოლო println ავტომატურად ბრუნდება მომდევნო სტრიქონზე, როდესაც რამე კვლავ იბეჭდება.
სანამ რამეს აჩვენებთ, თქვენ უნდა განაახლოთ OLED და უთხრათ განახლება, თქვენ იყენებთ display.display (); პარამეტრების გარეშე და განახლდება.
კოდი ახლა ასე უნდა გამოიყურებოდეს:
// კოდი დამზადებულია ფოსტერ ფილიპსის მიერ
#მოიცავს Adafruit_SSD1306.h #მოიცავს Wire.h #განსაზღვრეთ OLED_RESET 4 Adafruit_SSD1306 ჩვენება (OLED_RESET); void setup () {pinMode (SWITCH, INPUT_PULLUP); სერიული.დაწყება (9600); ჩვენება. დასაწყისი (SSD1306_SWITCHCAPVCC, 0x3C); ჩვენება. ჩვენება (); დაგვიანება (2000); display.clearDisplay (); display.setTextSize (1); display.setTextColor (WHITE); } void loop () {display.display (); დაგვიანება (2000); display.clearDisplay (); display.setTextSize (1); display.setCursor (0, 0); display.println ("გამარჯობა მსოფლიო!"); display.println ("გამარჯობა ინსტრუქციებო!"); }
ეს Instructable და ეს Github ბმული ორივე ძალიან კარგი მითითებაა პრობლემების აღმოსაფხვრელად და შესაბამისად მეტის სწავლისთვის ეკრანის დაპროგრამებაზე.
ნაბიჯი 10: LED- ების დაპროგრამება
LED ნათურები ასევე საკმაოდ გონივრულია. ჩვენ ვიყენებთ ადაფრუტის ნეოპიქსელის ბიბლიოთეკას. პირადად, NeoPixel ბიბლიოთეკა ძალიან ჰგავს პროგრამირების დამუშავებას, თუ თქვენ ოდესმე დაპროგრამებული გაქვთ.
არის პირველი კონფიგურაციის კოდი, რომელიც ეხება ბიბლიოთეკას, რომელსაც ვიყენებთ და მასივის დაყენება, რომელშიც ნათქვამია, რამდენი LED არის პინზე, რა არის მონაცემებისთვის და როგორ არის დაპროგრამებული. ეს კეთდება ისეთი მაგალითით, როგორიცაა Adafruit_NeoPixel strip = Adafruit_NeoPixel (6, 10, NEO_GRB + NEO_KHZ800); ეს განმარტავს, რომ არსებობს 6 LED, პინი არის პინ ნომერი 10 და ის იყენებს NEO_GRB + NEO_KZH800 ტიპის მისამართის ზოლებს. ჩვეულებრივ, ბოლო არგუმენტს არ სჭირდება შეხება, LED ზოლები, რომლებიც მე გამოვიყენე, არ მჭირდება, რომ შეიცვალოს.
ამის შემდეგ გჭირდებათ strip.begin (); ფუნქცია აჩვენებს, რომ თქვენ მზად ხართ დაიწყოთ მათი გამოყენება.ფრჩხილებში არაფერია საჭირო.
ამის მიღების შემდეგ შეგიძლიათ ზარის სხვადასხვა ფუნქციის გამოძახება. [ფუნქცია]
ერთი რაც თქვენ უნდა იცოდეთ არის strip.setPixelColour. მას აქვს 4 ფუნქცია ფრჩხილებში. თქვენ გაქვთ LED- ები LED- ების 'მასივში' (გახსოვდეთ, მასივები იწყება 0-დან) და შესაბამისი წითელი, მწვანე და ლურჯი მნიშვნელობები 0-255-დან. ეს საშუალებას მოგცემთ აურიოთ სასურველი წითელი მწვანე და ლურჯი მნიშვნელობები, რომ მიიღოთ სასურველი ფერი. კოდი უნდა გამოიყურებოდეს: strip.setPixelColour (0, 0, 255, 255); თუ გინდათ ცისფერი ფერი პირველ LED- ზე.
LED ასევე უნდა გაიგზავნოს ეს მონაცემები, რაც არის strip.show (); აკეთებს ის განაახლებს პიქსელებს მას შემდეგ რაც თქვენ მათთან რაიმე შეცვლით. ფრჩხილებში არაფერია საჭირო.
კოდი უნდა გამოიყურებოდეს:
// კოდი დამზადებულია ფოსტერ ფილიპსის მიერ
#მოიცავს Adafruit_NeoPixel.h #განსაზღვრეთ PIN 10 #განსაზღვრეთ ნომერი 6 Adafruit_NeoPixel ზოლები = Adafruit_NeoPixel (რიცხვი, PIN, NEO_GRB + NEO_KHZ800); void setup () {strip.begin (); ზოლები. ჩვენება (); } void loop () {strip.setPixelColor (0, 255, 0, 0); strip.setPixelColor (1, 255, 0, 0); strip.setPixelColor (2, 255, 0, 0); strip.setPixelColor (4, 255, 0, 0); strip.setPixelColor (3, 0, 0, 255); strip.setPixelColor (5, 0, 0, 255); ზოლები. ჩვენება (); }
დამატებითი ინფორმაცია შეგიძლიათ იხილოთ აქ.
ნაბიჯი 11: შეკრება
ეს არის ალბათ ყველაზე მარტივი ნაბიჯი და ყველაზე მაგარი.
დაიწყეთ პრო მიკროში მოთავსებით და ჩამოსრიალებით საქმის დახურვაზე. მიამაგრეთ იგი ადგილზე ცხელი წებოთი.
ქეისი/დახურვა ისე იყო შემუშავებული, რომ თქვენ შეგეძლოთ გადახვიდეთ ფირფიტაზე და LED ფირფიტაზე. უბრალოდ ჩაასრიალეთ იგი და იმისდა მიხედვით, თუ როგორ დაბეჭდავთ, შეიძლება დაგჭირდეთ სლაიდების შიგნიდან შეტანა ან მოჭრა პლასტმასის გადახურვის მიზნით.
ამის შემდეგ, აიღეთ თქვენი ხრახნები და უბრალოდ ჩაყარეთ იგი იქ და გააკეთეთ საკუთარი ხრახნიანი ხვრელები. ფაილების შემუშავებისას მე არ მქონდა კონკრეტული ხრახნიანი ძაფები, ამიტომ მე უბრალოდ ხვრელი გავაკეთე ხრახნის ზომით და ჩავახველე იგი საკუთარ თავში. სანთებელაზე გათბობა ხელს შეუწყობს თქვენთვის საჭირო ხრახნიან ფორმირებას და ჩვეულებრივ ფენების გაძლიერებას. დარწმუნდით, რომ არ დააჭიროთ ძალიან ბევრს ხრახნებზე, ან შეგიძლიათ თავი გაშიშვლოთ. მე გამოვიყენე ალენის გასაღები ხრახნები ამ რისკის შესამცირებლად.
შემდეგ უბრალოდ დააწექით გასაღებების თავებს კლავიშებზე. მაშინ ეს საკმაოდ გაკეთებულია! Arrow Key Macropad– ის ჩემი ვერსია დასრულებულია!
ნაბიჯი 12: საკუთარი გაუმჯობესება
ახლა, როდესაც თქვენ იცით, როგორ გააკეთოთ ჩემი ვერსია, შეგიძლიათ შექმნათ თქვენი საკუთარი! კლავიატურები შეიძლება იყოს საკუთარი თავის გამოხატვის შესახებ, ამიტომ სხვისი დიზაინის ქონა არ არის სახალისო, თუ თქვენ არ შეცვლით მას თქვენთვის! ბევრი გაუმჯობესება შეგიძლიათ გააკეთოთ! აქ არის რამოდენიმე გაუმჯობესება, რომელთა დამატება ან მოფიქრება მინდა!
- პროგრამა Tetris და სხვა მარტივი თამაშები
- გააკეთე ის bluetooth
- მიეცით საშუალება წაიკითხოს მონაცემები სლაიდების ჩვენებიდან და აჩვენოს ერთი OLED (აჩვენეთ სლაიდების ნომერი და სლაიდის სახელი)
-
ამ ტექნიკის გამოყენებით გააკეთეთ სრული ზომის კლავიატურა ან უფრო დიდი მაკროპედი
თქვენ უნდა ისწავლოთ როგორ გააკეთოთ გადართვის მატრიცა ამისათვის
- პროგრამირება მეტი ფერის პარამეტრები
- პროგრამის მაკრო თამაშები, ვიდეო მონტაჟი და ა.შ.
- გამოიყენეთ Autodesk Inventor წყაროს ფაილები თქვენი საკუთარი საქმის გასაკეთებლად, ან შეცვალეთ ის რომ იყოს თქვენი!
- დაამატეთ ხმის დაფა, რომ გაორმაგდეს როგორც მუსიკალური პლეერი
გაერთეთ დამზადებით! მოგერიდებათ დაამატოთ რჩევები ან მთხოვეთ გარკვევა!
თუ გსურთ ნახოთ სხვა ნაწილების პროგრესი, განიხილეთ ჩემი ინსტაგრამის შემოწმება. მადლობა რომ კითხულობ ჩემს ინსტრუქციას!
მეორე ადგილი მიკროკონტროლერის კონკურსში
გირჩევთ:
Diy მაკრო ობიექტივი AF– ით (განსხვავდება ყველა სხვა წვრილმანი მაკრო ლინზისგან): 4 ნაბიჯი (სურათებით)
Diy მაკრო ობიექტივი AF– ით (განსხვავდება ყველა სხვა წვრილმანი მაკრო ლინზისგან): მე მინახავს ბევრი ადამიანი, ვინც ამზადებს მაკრო ლინზებს სტანდარტული ნაკრების ლინზებით (ჩვეულებრივ 18-55 მმ). მათი უმრავლესობა არის ობიექტივი, რომელიც მხოლოდ კამერაზეა შემორჩენილი ან წინა ელემენტი ამოღებულია. ორივე ამ ვარიანტს აქვს უარყოფითი მხარეები. ლინზების დასამაგრებლად
Arduino მექანიკური კლავიატურა: 5 ნაბიჯი (სურათებით)
Arduino მექანიკური კლავიატურა: მე მჭირდებოდა საყრდენი ბალიში სხვა პროექტისთვის, ამიტომ გადავწყვიტე მე გამეკეთებინა კლავიატურა იმ ნაწილებით, რაც მე მქონდა სახლში
3D ბეჭდვით Arduino მაკრო კლავიატურა: 6 ნაბიჯი (სურათებით)
3D ბეჭდვით Arduino მაკრო კლავიატურა: ეს იყო ჩემი პირველი პროექტი Arduino Pro Micro– სთან ერთად. თქვენ შეგიძლიათ გამოიყენოთ იგი Zoom- ში ან Discord- ის ჩატებში, რათა გააკეთოთ ისეთი რამ, როგორიცაა მუნჯი გადართვა, თქვენი ვიდეოს გადართვა ან ეკრანის გაზიარება. ამის გარდა, თქვენ შეგიძლიათ დააპროგრამოთ ის, რომ გახსნას ხშირად გამოყენებული პროგრამები თქვენს
Cherry Pi Split მექანიკური კლავიატურა: 45 ნაბიჯი (სურათებით)
Cherry Pi Split მექანიკური კლავიატურა: მე წლებია ვიყენებ Microsoft Natural Elite კლავიატურას. და თითქმის 20 წლიანი ერთგული სამსახურის შემდეგ, ის სიცოცხლის ბოლომდეა. შემცვლელის ძიების დროს მე ასევე შევხედე სხვადასხვა მექანიკურ კლავიშებს. და რადგან მე რეგულარულად ვაკეთებ წვრილმანებს
ErgoDox მექანიკური კლავიატურა: 11 ნაბიჯი (სურათებით)
ErgoDox მექანიკური კლავიატურა: ErgoDox კლავიატურა არის გაყოფილი, მექანიკური და პროგრამირებადი კლავიატურა. ეს არის სრულად ღია წყარო, ასე რომ, ყველაფერი რაც თქვენ გჭირდებათ, არის ნაწილების ყიდვა და დროის დათმობა. მე ვმუშაობ პროგრამული უზრუნველყოფის ინჟინრად და ყოველთვის ვეძებ გზებს ჩემი პროდუქტიულობის გასაუმჯობესებლად