Სარჩევი:

4x4 კლავიატურის გამოყენება CircuitPython– ით: 4 ნაბიჯი
4x4 კლავიატურის გამოყენება CircuitPython– ით: 4 ნაბიჯი

ვიდეო: 4x4 კლავიატურის გამოყენება CircuitPython– ით: 4 ნაბიჯი

ვიდეო: 4x4 კლავიატურის გამოყენება CircuitPython– ით: 4 ნაბიჯი
ვიდეო: კლავიატურა 2024, ნოემბერი
Anonim
4x4 კლავიატურის გამოყენება CircuitPython– ით
4x4 კლავიატურის გამოყენება CircuitPython– ით

ეს იაფი კლავიატურა გთავაზობთ ციფრული შეყვანის მარტივ მეთოდს თქვენს CircuitPython პროექტებში. მე ვაპირებ გამოვიყენო იგი Adafruit ItsyBitsy M0 ექსპრესთან ერთად.

თქვენ დაგჭირდებათ:

  • კლავიატურა - ჩემი არის 4x4
  • ItsyBitsy M0 Express ან მსგავსი დაფა
  • Mu რედაქტორი დაინსტალირებულია თქვენს კომპიუტერში
  • USB კაბელი კოდის გასანათებლად

ნაბიჯი 1: როგორ მუშაობს კლავიატურა

როგორ მუშაობს კლავიატურა
როგორ მუშაობს კლავიატურა

მათ კლავიატურას აქვს 16 მარტივი, ნელი მოქმედების ბუშტიანი ჩამრთველი, მოწყობილი 4 -ის ბადეში, ბოლოში 8 კავშირით. თუ ჩვენ დავთვლით მარცხნიდან 0 -დან 7 -მდე, 0 -დან 3 -მდე კავშირები უკავშირდება თითოეულ სტრიქონს. კავშირი 0 ზედა რიგთან და კავშირი 3 ქვედა რიგთან. 4 -დან 7 -მდე კავშირი უკავშირდება სვეტებს მარცხენა სვეტში 4 -ით და მარჯვენა სვეტთან 7 -ით. 16 გადამრთველიდან თითოეული ხდის შეერთებას სხვადასხვა რიგის/სვეტის კომბინაციას შორის. თუ ჩვენ დავაჭერთ ღილაკს 7 მესამე რიგი შეუერთდება მარცხენა სვეტს. ჩვენ შეგვიძლია გავიგოთ, თუ 5 ღილაკს დაჭერით თუ მისი მწკრივი აიწევს მაღლა და ჩვენ შეგვიძლია მისი სვეტზე HIGH წაკითხვა. ამისათვის ჩვენ გამოვდივართ რიგებში და შევიყვანთ სვეტებიდან.

ჩვენ უნდა დავაყენოთ თითოეული რიგი თავის მხრივ, ხოლო სხვა რიგები არის დაბალი, თითოეული სვეტი რიგრიგობით წავიკითხოთ სანამ არ მივიღებთ HIGH შეყვანის. ამის მარტივად მართვა შესაძლებელია ბუდეებისათვის მარყუჟებისთვის.

ჩვენ უნდა გავითვალისწინოთ ის ფაქტი, რომ ეს ბუშტიანი გადამრთველები საკმაოდ ნელა მოქმედებენ და მათი დაჭერა საკმაოდ ძლიერად უნდა იყოს დაჭერილი. ამ გზით 16 -ე კონცენტრატორის სკანირება შესაძლებელია ძალიან სწრაფად, მაგრამ ჩვენ უნდა განმეორებით სკანირება, რათა ავიღოთ გასაღები. ჩვენ ასევე გვჭირდება მოკლე დროში დაგვიანება, რათა არ მივიღოთ გასაღებების გამეორება ყოველ ჯერზე დაჭერისას.

იმის გამო, რომ კონცენტრატორები საკმაოდ "ჩახლართულია", ჩვენ გვჭირდება მომხმარებლის გამოხმაურება იმის მითითებაზე, რომ გასაღები პრესა წაკითხულია. ჩამონტაჟებული LED ანათებს ყოველ ჯერზე, როდესაც გასაღების დაჭერა იგრძნობა.

ნაბიჯი 2: ფიზიკური კავშირები

ფიზიკური კავშირები
ფიზიკური კავშირები

კავშირები მარცხნიდან მარჯვნივ KeyPad0 1 2 3 4 5 6 7

D7 D9 D10 D11 A5 A4 A3 A2 ItsyBitsy– ზე

D7– დან D11– მდე მითითებულია როგორც OUTPUT– ები, ხოლო A5– დან A2– მდე არის შემავალი როგორც PULLDOWN– ით.

კოდს აქვს უამრავი კომენტარი და მისი დაცვა ადვილი უნდა იყოს.

ნაბიჯი 3: როგორ მუშაობს Getkey ()

როგორ მუშაობს გეტკი ()
როგორ მუშაობს გეტკი ()

ეს ფუნქცია სკანირებს კლავიატურას ერთი ღილაკის დაჭერისთვის. ის სწრაფად ამოწმებს თითოეულ კლავიშს, თავის მხრივ, მაქსიმუმ 10 -ჯერ, რომ ნახოს დახურულია თუ არა გასაღები. ღილაკზე დაჭერისას ის აბრუნებს გასაღების მნიშვნელობას, ითვლის მარცხნიდან მარჯვნივ ზემოდან ქვემოდან (0… 15) გაითვალისწინეთ ქვედა რიგის მნიშვნელობები: 14, 0, 15, 13 (Hex E, 0, F, D). თუ არცერთი ღილაკი არ არის დაჭერილი, ის ბრუნდება -999 შეცდომის კოდის სახით, რომლის ადვილად აღება შესაძლებელია მთავარ პროგრამაში. ჩამონტაჟებული LED ციმციმებს, თუ გასაღები დაჭერილია მომხმარებლის გამოხმაურების სახით. ის მუშაობს საკმაოდ სწრაფად და 0.2 წამის ლოდინის მოხსნა გამოიყენება მხოლოდ ღილაკზე დაჭერისას.

ნაბიჯი 4: მიიღეთ ღირებულება (ციფრები)

Getvalue (ციფრები)
Getvalue (ციფრები)

ეს რუტინა აწვდის n ციფრულ მნიშვნელობას რიცხვითი კლავიშებიდან. ის იგნორირებას უკეთებს წითელ კლავიშებს.

ეს პითონის კოდი მარტივად შეიძლება გადაკეთდეს სხვა მოწყობილობაზე გასაშვებად, მაგალითად Raspberry Pi, თქვენ ალბათ მხოლოდ სკრიპტის ზედა ნაწილში უნდა შეცვალოთ პინის დაყენების ხაზები.

გთხოვთ შემატყობინოთ, თუ თქვენთვის სასარგებლო კოდი მიგაჩნიათ.

იყავით უსაფრთხოდ და გაერთეთ!

გირჩევთ: