ჟესტით კონტროლირებადი უნივერსალური დისტანციური კვანძი-MCU: 12 ნაბიჯი
ჟესტით კონტროლირებადი უნივერსალური დისტანციური კვანძი-MCU: 12 ნაბიჯი
Anonim
ჟესტით კონტროლირებადი უნივერსალური დისტანციური კვანძი-MCU
ჟესტით კონტროლირებადი უნივერსალური დისტანციური კვანძი-MCU

მოგესალმებით ყველას და კეთილი იყოს თქვენი მობრძანება ამ პროექტში! მე საკმაოდ ზარმაცი ადამიანი ვარ და ზარმაცების კოშმარი არის ტელევიზორის ყურება, როცა ხვდები, რომ დისტანციური მართვის პულტი ძალიან შორს არის! მივხვდი, რომ ჩემი პულტი არასოდეს იქნება ძალიან შორს, თუ ის ყოველთვის ხელთ მაქვს. ამან შთააგონა მე შევქმნა LAZr, ჟესტი, რომელიც კონტროლდება უნივერსალური დისტანციური მართვის საშუალებით.

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

იმედი მაქვს მოგეწონებათ ეს პროექტი და მიეცით ხმა Epilog Laser კონკურსში!

ნაბიჯი 1: ნაწილები

Ნაწილები
Ნაწილები

ეს პროექტი შეიცავს შემდეგ ნაწილებს:

ხელთათმანი ($ 5.00)

კვანძი-MCU / ESP8266 ($ 3.00)

ეს არის მიკროკონტროლერი და ამ პროექტის ტვინი. მას აქვს WiFi– თან დაკავშირების შესაძლებლობა, რაც მას ძალიან გამოადგება სახლის ავტომატიზაციის პროგრამებში და მსგავს პროექტებში, რადგან WiFi კონტროლი შეიძლება განხორციელდეს ამ პროექტში.

5 Flex სენსორი ($ 7.00 თითოეული)

ეს სენსორები ზომავს მოსახვევს, ისევე როგორც LDR (სინათლისგან დამოუკიდებელი რეზისტორი), გაზომავს სინათლის დონეს. ისინი გამოიყენება თითის მოხრის და ხელის ჟესტების გასაზომად.

IR გადამცემი ($ 0.30)

ეს კომპონენტი გადასცემს IR სიგნალებს მოწყობილობებზე, როგორიცაა ტელევიზორები, DVD პლეერები და ა.

IR მიმღები ($ 1.00)

ეს კომპონენტი იღებს IR სიგნალებს დისტანციური მართვის საშუალებით. საჭიროა დისტანციური მართვის სიგნალების გაშიფვრა. ეს სიგნალები შეიძლება გამოყენებულ იქნას მოწყობილობის ხელთათმანიდან გასაკონტროლებლად. მე გირჩევთ TSOP4838 რადგან წარმატებით გამოვცადე ის Sharp, Samsung და Apple ტელევიზორებით.

5 10k Ohm რეზისტორი ($ 0.01 თითოეული)

ეს რეზისტორები საჭიროა თითოეული Flex სენსორისთვის.

220 Ohm რეზისტორი ($ 0.01 თითოეული)

ეს რეზისტორები საჭიროა თითოეული Flex სენსორისთვის.

ტრანზისტორი ($ 0.39)

ტრანზისტორი გამოიყენება IR გადაცემისათვის.

74HC4051N Multiplexer IC ($ 0.22)

ვინაიდან Node-MCU- ს აქვს მხოლოდ ერთი ანალოგური პორტი, ეს IC გამოიყენება ანალოგური პინის რამდენიმე ნაწილად "გაყოფისთვის", რომლებიც დაკავშირებულია მოქნილ სენსორებთან. ამის შესახებ მოგვიანებით.

ბევრი ჯუმბერის კაბელი! (თუ გადაწყვეტთ პურის დაფის გამოყენებას)

შემდეგი ნაწილები არჩევითია, მაგრამ გამოსადეგია, თუ გამოიყენება:

16 პინიანი IC სოკეტი

ქალი სათაურები

ნაბიჯი 2: მულტიპლექსერის IC (74HC4051N)

მულტიპლექსერული IC (74HC4051N)
მულტიპლექსერული IC (74HC4051N)

მიუხედავად იმისა, რომ Node-MCU შეფუთულია შესანიშნავი ფუნქციებით, როგორიცაა WiFi და Arduino IDE თავსებადობა, მას აქვს თავისი ნაკლოვანებები. მას აქვს მხოლოდ ერთი ანალოგური პინი, რომელიც არასაკმარისია ამ პროექტისათვის. მას შემდეგ, რაც ხელთათმანს აქვს ხუთი მოქნილი სენსორი, მას სჭირდება ხუთი ანალოგური შეყვანა. ამ პრობლემის მარტივი და იაფი გადაწყვეტაა Multiplexer IC (74HC4051N) გამოყენება. ამ IC- ს შეუძლია გარდაქმნას ერთი ანალოგური შეყვანა რვაზე!

Როგორ მუშაობს?

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

ნაბიჯი 3: პურის დაფის განლაგება

პურის დაფის განლაგება
პურის დაფის განლაგება

მოწყობილობის განლაგება ნაჩვენებია ზემოთ მოცემულ სურათზე.

მნიშვნელოვანია: გაითვალისწინეთ თქვენ მიერ გამოყენებული ტრანზისტორის ტიპი, ტრანზისტორის კოლექტორის პინი უნდა დაუკავშირდეს IR LED- ს და არა GND პინს.

ნაბიჯი 4: სიგნალების მიღება

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

შენიშვნა: გადახედეთ ტელევიზორის პულტის მოდელის ნომერს და შეეცადეთ იპოვოთ სიგნალის სპეციფიკაციები ინტერნეტში. ზოგიერთი IR მიმღები და გადამცემი არ იმუშავებს ზოგიერთ დისტანციურ დისტანციურ მოწყობილობაზე, ამიტომ მნიშვნელოვანია მოძებნოთ გადამცემი/მიმღები თქვენი ტელევიზიის შესაბამისი სიხშირით. მე ვიყენებ 4838 IR Reciever– ს, რომელიც მუშაობს ჩემს Samsung ტელევიზორთან დისტანციურად.

ნაბიჯი 5: სიგნალების მიღების კოდი

სიგნალების მიღების კოდი
სიგნალების მიღების კოდი
სიგნალების მიღების კოდი
სიგნალების მიღების კოდი

კოდის გამოსაყენებლად უნდა ჩამოტვირთოთ ბიბლიოთეკა IRremoteESP8266. გადმოსაწერი ბმული მოცემულია ქვემოთ:

IRremoteESP8266

Arduino IDE– ში გადადით ჩანახატზე> ბიბლიოთეკის ჩართვა>. ZIP ბიბლიოთეკის დამატება. იპოვეთ გადმოწერილი ორი ბიბლიოთეკა და დაამატეთ ისინი IDE- ში. IR სიგნალების მისაღებად კოდზე წვდომისათვის გადადით ფაილზე> მაგალითები> IRremoteESP8266> IRrecvDumpV2. კოდში შეცვალეთ მნიშვნელობა kRecvPin 14-დან 5-მდე. ეს უზრუნველყოფს, რომ Node-MCU კითხულობს სწორ პინს (D1).

პურის დაფის კავშირების გაყვანილობის შემდეგ, ატვირთეთ ეს კოდი თქვენს Node-MCU და გახსენით თქვენი სერიული მონიტორი (დააყენეთ baud rate 115200). თუ ტელევიზორის დისტანციურ ღილაკს დააჭერთ, სიგნალები იბეჭდება თქვენს სერიულ მონიტორზე. წარმატებები!

თქვენ ნახავთ რიცხვების ხანგრძლივ კომპლექტს rawData მნიშვნელობით. ჩაწერეთ ეს რიცხვები და დარწმუნდით, რომ ჩაწერეთ ღილაკი, რომელიც თქვენ დააჭირეთ ამ რიცხვების მისაღებად. ესენი მოგვიანებით დაგჭირდებათ.

ნაბიჯი 6: PCB სქემატური

PCB სქემატური
PCB სქემატური

PCB სქემატური შეიქმნა Autodesk Eagle– ში და არის როგორც ზემოთ გამოსახულებაშია ნაჩვენები. Eagle– ის ყველა ფაილი მოცემულია ამ ინსტრუქციაში და შეგიძლიათ ჩამოტვირთოთ შემდეგ ეტაპზე.

ნაბიჯი 7: PCB დიზაინი

PCB დიზაინი
PCB დიზაინი

აქ არის ჩემი PCB დიზაინი. ყველა Eagle ფაილი ამ მიკროსქემის ქვემოთ, ასე რომ თქვენ შეგიძლიათ გამოიყენოთ ან შეცვალოთ ეს დიზაინი თქვენი საკუთარი PCB- ის ასაშენებლად! მე დავამატე SMD ბალიშები დამატებითი 3 ანალოგური შეყვანისთვის, ასევე 3V3 და GND პორტისთვის. ეს საშუალებას მომცემს გავაფართოვო ეს სისტემა, თუკი ოდესმე დამჭირდება, დაზოგავს რესურსებსა და დროს და გახდის PCB მრავალმხრივ.

ნაბიჯი 8: ყველაფერი ერთად ააწყვეთ

აყენებს ყველაფერს ერთად
აყენებს ყველაფერს ერთად

რამდენიმე დღის ლოდინის შემდეგ, საბოლოოდ მივიღე ჩემი PCB ფოსტით. ახლა დროა მხიარული ნაწილისთვის, შევაერთოთ ეს ყველაფერი ერთად! სქემატურიდან გამომდინარე, PCB– ის შედუღება საკმაოდ ადვილი იყო. ჩემს დიზაინში მე გამოვიყენე IC სოკეტი და ქალი სათაურები ჩემი მულტიპლექსერის IC და Node-MCU- სთვის. ეს ხდება ისე, რომ მე შემიძლია ამ ჩიპების ამოღება, თუ დამჭირდება მათი შეცვლა ან ხელახალი გამოყენება. თუ გსურთ უფრო გამხდარი ფორმის ფაქტორი, მოგერიდებათ ჩიპების ჩასმა პირდაპირ დაფაზე, მაგრამ გახსოვდეთ, რომ მოგვიანებით მათი ამოღება საკმაოდ რთული იქნება.

ნაბიჯი 9: ხელთათმანის შედგენა

ხელთათმანის ერთად აწყობა
ხელთათმანის ერთად აწყობა

ხელთათმანში მოქნილი სენსორების დაყენების მიზნით, მე პატარა რეზინის მილები დავაწებე ხელთათმანის თითებს და ჩავდე სენსორები მათში. ამ გზით სენსორებს ჰქონდათ ვიგულის ადგილი და საჭიროების შემთხვევაში შეიძლება მათი ამოღება. PCB- ის შესანახად, იგი ხელთათმანზე ჩავამაგრე ველკრო ფირის გამოყენებით. კიდევ ერთხელ შეაკეთეთ ეს ყველაფერი თქვენზეა დამოკიდებული. შეგიძლია იყო შემოქმედებითი!

ნაბიჯი 10: ბრძანებების დაპროგრამება

ახლა, როდესაც ტექნიკა ზრუნავს, დროა პროგრამული უზრუნველყოფისათვის. თქვენი ხელთათმანისთვის ჩამოტვირთეთ კოდი ქვემოთ.

იმისათვის, რომ კოდმა იმუშაოს თქვენს ტელევიზორთან, თქვენ უნდა შეცვალოთ რამდენიმე ნომერი. დაიმახსოვრე ის ნომრები, რაც დაწერე? ახლა დროა გამოვიყენოთ ისინი. თუ არ გაქვთ რიცხვები, არ ინერვიულოთ, ამ სიგნალების შეგროვება ძალიან ადვილია; უბრალოდ დაუბრუნდით IR მიღების ნაბიჯს. დააკოპირეთ მონაცემთა ნაკრები rawData და ჩასვით კომენტარში, "PASTE DATA HERE" კოდში. გადაარქვით ამ მონაცემთა ნაკრებს powerOn. დააკოპირეთ ნომერი powerOn– ის გვერდით (ჩემს შემთხვევაში 95). ეს რიცხვი არის მონაცემთა ნაკრების რიცხვების რაოდენობა. ახლა, გადადით კოდის ბოლოში, კომენტარის ქვეშ, "DISPLAY POWER". შეცვალეთ "95" თქვენი გადაწერილი მნიშვნელობით. ახლა, ატვირთეთ თქვენი კოდი Node-MCU და ჩაიცვით ხელთათმანი. თუ ტელევიზორისკენ გაიშვირე ხელი და ერთი თითი მოიხვიე, შენი ტელევიზორი ჩაირთვება!

ეს არის ადვილად მორგება. მეტი ფუნქციის დასამატებლად, უბრალოდ დაამატეთ მეტი მონაცემთა ნაკრები და დააკოპირეთ-ჩასვით DISPLAY POWER ფუნქცია და შეცვალეთ მისი ინფორმაცია შესაბამის მონაცემთა ნაკრებში და მნიშვნელობების რაოდენობა. ვინაიდან თითოეული მოქნილი სენსორი განსხვავებულია, შეიძლება დაგჭირდეთ რიცხვის "310" შეცვლა ისე, რომ ის დარეგისტრირდეს თითის დაკეცვისას. თქვენ შეგიძლიათ გააკეთოთ მრავალ თითის ჟესტები და "სამაგისტრო გადამრთველები". მაგალითად, მე შევცვალე ჩემი კოდი ისე, რომ როდესაც თითს და ცერა თითს ვიხრი, ჩემი ტელევიზიის ხმა ჩუმდება და წყარო იცვლება. გაფართოების შესაძლებლობები უსასრულოა!

ნაბიჯი 11: შესრულებულია

Შესრულებულია!
Შესრულებულია!
Შესრულებულია!
Შესრულებულია!

აი, ეს არის, უნივერსალური ჟესტით კონტროლირებადი ტელევიზორის დისტანციური მართვა! ვიმედოვნებ, რომ მოგეწონათ ეს პროექტი და ვიმედოვნებ, რომ თქვენ მომცემთ ხმას ჩემზე Epilog Laser კონკურსში. თუ თქვენ გაქვთ რაიმე შეკითხვები, მოგერიდებათ დაწერეთ კომენტარი და მე შევეცდები ყველანაირად ვუპასუხო მათ. კიდევ ერთხელ, იმედი მაქვს მოგეწონათ!

გირჩევთ: