Სარჩევი:

USB NEC ინფრაწითელი გადამცემი და მიმღები: 4 ნაბიჯი (სურათებით)
USB NEC ინფრაწითელი გადამცემი და მიმღები: 4 ნაბიჯი (სურათებით)

ვიდეო: USB NEC ინფრაწითელი გადამცემი და მიმღები: 4 ნაბიჯი (სურათებით)

ვიდეო: USB NEC ინფრაწითელი გადამცემი და მიმღები: 4 ნაბიჯი (სურათებით)
ვიდეო: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, სექტემბერი
Anonim
USB NEC ინფრაწითელი გადამცემი და მიმღები
USB NEC ინფრაწითელი გადამცემი და მიმღები

ეს პროექტი არის სხვა პროექტის სპინ-ოფი, რომელზეც ვმუშაობ და ვინაიდან არის დისტანციური მართვის 2017 კონკურსი Instructables– ზე, მეგონა გამოვაქვეყნე ეს პროექტი. ასე რომ, თუ მოგწონთ ეს პროექტი, გთხოვთ მიეცით ხმა მას. მადლობა

როგორც მოგეხსენებათ, მე მიკროჩიპის 8 ბიტიანი PIC კონტროლერების დიდი გულშემატკივარი ვარ, იხილეთ:

მე ვიყენებ JAL პროგრამირების ენას, რადგან ის ჰგავს პასკალს (რაც მეც მომწონს). JAL შემდგენელი და ბიბლიოთეკები შეიძლება გადმოწერილი იქნეს: https://www.justanotherlanguage.org/downloads (გადაახვიეთ ქვემოთ უახლესი გამოშვებული ვერსიისთვის).

ჩვეულებრივ, მე თვითონ ვწერ ყველა კოდს, რომ გავიგო რას ვაკეთებ, მაგრამ ამ პროექტისთვის მჭირდებოდა PIC დაკავშირება კომპიუტერის USB პორტთან და ამიტომ მჭირდებოდა JAL USB სერიული დრაივერი ამ PIC კონტროლერისთვის. მე გამოვიყენე USB სერიული დრაივერი JAL ჩამოტვირთვის პაკეტში, რომელიც კარგად მუშაობს. ვინაიდან ეს USB სერიული დრაივერი დაიწერა ერთი კონკრეტული PIC– ისთვის, მე გამოვიყენე ის PIC, რომელიც არის PIC18F14K50. ამ კონტროლერს გაცილებით მეტი ფუნქციონირება აქვს, ვიდრე მე მჭირდება ამ პროექტისათვის, ამიტომ მე ამჟამად ვმუშაობ ამ USB დრაივერის მუშაობაზე უფრო მარტივი PIC ვერსიაზე, PIC16F1455, რომელიც ასევე იაფია.

მაშ რა შუაშია ეს პროექტი? ამ ინსტრუქციებში მითითებული მოწყობილობით თქვენ შეგიძლიათ გაგზავნოთ და მიიღოთ ინფრაწითელი დისტანციური მართვის ბრძანებები და თქვენი კომპიუტერიდან USB პორტის საშუალებით პოპულარული NEC ინფრაწითელი პროტოკოლის გამოყენებით. ამ გზით თქვენ შეგიძლიათ აკონტროლოთ ინფრაწითელი ბრძანებები და შეგიძლიათ გააკონტროლოთ ნებისმიერი მოწყობილობა, რომელიც იყენებს NEC ინფრაწითელი დისტანციური მართვის პროტოკოლს. პროექტი გაშიფრავს და თარგმნის ინფრაწითელ შეტყობინებებს მისამართის ბაიტად და ბრძანების ბაიტად ან განმეორებით შეტყობინებაში. მისამართი - რა თქმა უნდა - გამოიყენება გარკვეული მოწყობილობის დასაკავშირებლად, როგორიცაა ტელევიზია ან რადიო, სადაც ბრძანების ბაიტი მიუთითებს იმ ფუნქციაზე, რომელიც უნდა შესრულდეს მოცულობის გაზრდის, მოცულობის შემცირების მსგავსად. ამ შეტყობინებების გაშიფვრის შემდეგ, ისინი ასევე შეიძლება გადაეცეს ინფრაწითელი საშუალებით ამ მოწყობილობის გამოყენებით.

ნაბიჯი 1: რამდენიმე ინფორმაცია NEC ინფრაწითელი პროტოკოლის შესახებ

ზოგიერთი ინფორმაცია NEC ინფრაწითელი პროტოკოლის შესახებ
ზოგიერთი ინფორმაცია NEC ინფრაწითელი პროტოკოლის შესახებ

ამ პროტოკოლის მოკლე შესავალი. NEC ინფრაწითელი დისტანციური მართვის პროტოკოლი გამოიყენება ბევრ მოწყობილობაში და დისტანციური მართვის სისტემაში, რომლის შეძენაც შეგიძლიათ. ის ახდენს მოდერნიზებულ ინფრაწითელ სიგნალს 38 kHz გადამყვანზე და იყენებს პულსის მანძილის კოდირებას ლოგიკური "1" და ლოგიკური "0" კოდირებისთვის. პროტოკოლი იყენებს მარტივ შემოწმებას იმის გასარკვევად, არის თუ არა შეტყობინება კარგი, როგორც მისამართის, ისე ბრძანების ბაიტის გაგზავნით და ორივეს შებრუნებული ვერსიით ერთსა და იმავე შეტყობინებაში და შემოწმებით არის თუ არა ისინი ერთნაირი მიღების შემდეგ. როდესაც ღილაკზე დაჭერილია დისტანციური მართვა ის აგზავნის სრულ ინფრაწითელ შეტყობინებას მისამართთან და ბრძანებასთან ერთად. ღილაკზე დაჭერისას გამოიგზავნება უფრო მოკლე განმეორებითი შეტყობინება მისამართისა და ბრძანების ინფორმაციის გარეშე. გადაცემული შეტყობინებების გამეორების დრო ღილაკზე დაჭერისას ფიქსირდება.

დამატებითი ინფორმაცია NEC ინფრაწითელი პროტოკოლის შესახებ შეგიძლიათ ნახოთ, მაგალითად:

ნაბიჯი 2: საჭირო კომპონენტები

საჭირო კომპონენტები
საჭირო კომპონენტები
საჭირო კომპონენტები
საჭირო კომპონენტები

ამ პროექტისთვის თქვენ უნდა გქონდეთ შემდეგი კომპონენტები:

  • PIC მიკროკონტროლი PIC18F14K50, იხილეთ:
  • კრისტალი 12 MHz
  • კერამიკული კონდენსატორი: 2 * 100nF, 1 * 220 nF, 2 * 18pF
  • ელექტროლიტური კონდენსატორი 47 uF/16V
  • ინფრაწითელი მიმღები TSOP4838, იხილეთ:
  • რეზისტორები: 2 * 33k, 1 * 4k7, 1 * 1k, 3 * 330 Ohm, 1 * 22 Ohm
  • LED- ები: 2 * ინფრა წითელი, 1 ქარვა, 1 მწვანე, 1 წითელი
  • ტრანზისტორი BC640, იხილეთ:
  • მხტუნავი (სურვილისამებრ)
  • USB კონექტორი

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

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

როგორც უკვე აღვნიშნეთ, პროგრამული უზრუნველყოფა დაწერილია PIC18F14K50. ეს იყო დაწერილი JAL– ში. თანდართულია Intel Hex ფაილი თქვენი PIC პროგრამირებისათვის. პროგრამული უზრუნველყოფა ასრულებს შემდეგ ფუნქციებს:

  • NEC ინფრაწითელი შეტყობინებების გაშიფვრა და კომპიუტერში USB- ის საშუალებით გაგზავნა. შეტყობინება გაშიფრულია ინფრაწითელი მიმღების მიერ გენერირებული ბიტური ნაკადიდან და ითარგმნება მისამართზე + ბრძანების შეტყობინება ან განმეორებითი შეტყობინება.
  • NEC ინფრაწითელი შეტყობინებების გაგზავნა კომპიუტერიდან USB- ის საშუალებით. გაითვალისწინეთ, რომ პროგრამული უზრუნველყოფა ასევე ქმნის 38 kHz გადამზიდავ სიხშირეს, რომელიც პირდაპირ მართავს ინფრაწითელ LED- ებს. ინფრაწითელი LED- ის პარალელურად, ქარვის LED არის დაკავშირებული, რათა ხილული იყოს შეტყობინების გადაცემა.

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

ამ მოწყობილობის მუშაობისთვის თქვენ უნდა გქონდეთ ტერმინალური ემულატორის პროგრამა თქვენს კომპიუტერში. მე გამოვიყენე "ტერმიტი" ამ მიზნით. როდესაც მოწყობილობა კომპიუტერთან არის დაკავშირებული, ის ავტომატურად აღიარდება, როგორც დამატებითი COM პორტი Windows 10-ის მიერ, ვინაიდან, როგორც ჩანს, ამ მოწყობილობის მიკროჩიპის დრაივერი Windows 10-ში არის წინასწარ დაინსტალირებული. ამ COM პორტის პარამეტრი უნდა იყოს: 19200 baud 8 bit, 1 stop-bit, no parity and using RTS/CTS flow control. Baud განაკვეთი შეიძლება დაყენდეს ნებისმიერ სხვა მნიშვნელობაზე, საჭიროების შემთხვევაში, ასე რომ 115200 baud მაჩვენებელი ასევე იმუშავებს. მას შემდეგ, რაც მოწყობილობის კონფიგურაცია ხდება USB პორტის საშუალებით, ტერმინალური ემულატორის პროგრამის საშუალებით, მწვანე "კონფიგურირებული" LED განათდება.

ინფრაწითელი შეტყობინებების მიღება

როდესაც მიიღება ინფრაწითელი შეტყობინება, ტერმინალის ემულატორის პროგრამაში ნაჩვენები იქნება შემდეგი:

  • ‘A: xx C: xx’ სრული შეტყობინების შემთხვევაში, სადაც xx არის მისამართის (A) და ბრძანების (C) თექვსმეტობითი ნომერი. ორივეს მნიშვნელობა შეიძლება იყოს 0x00 (0) - დან 0xFF (255) - მდე.
  • "გაიმეორეთ" განმეორებითი შეტყობინების შემთხვევაში.

ინფრაწითელი შეტყობინებების გაგზავნა

ამისათვის მჭირდება პროტოკოლის განსაზღვრა, რომელიც ეუბნება მოწყობილობას რა უნდა გააკეთოს. ვინაიდან ჩვენ ვიყენებთ ტერმინალის ემულატორს, მე გამოვიყენე ASCII სიმბოლოები შეტყობინების დასადგენად. მოწყობილობაზე ბრძანების გაგზავნის პროტოკოლი იყენებს შემდეგ ფორმატს: ‘! AACCRR#’, სადაც (ყველა სიმბოლო არ არის ასოების გარეშე):

  • "!" მიუთითებს შეტყობინების დასაწყისზე.
  • "AA" არის მისამართის მნიშვნელობა თექვსმეტობით აღნიშვნებში, ასე რომ "0" - დან "9" - მდე და "A" - დან "F" - მდე,
  • "CC" არის ბრძანების მნიშვნელობა თექვსმეტობით აღნიშვნებში, ასე რომ "0" - დან "9" - მდე და "A" - დან "F" - მდე
  • "RR" არის განმეორებითი შეტყობინებების რაოდენობა, რომლებიც უნდა გადაეცეს თექვსმეტობით, ასე რომ "0" - დან "9" - მდე და "A" - დან "F" - მდე. "00" მნიშვნელობა ნიშნავს განმეორებითი შეტყობინების გაგზავნას.

შეტყობინების მაგალითი 0x07 მისამართით, ბრძანება 0x05 და 3 გამეორება უნდა დაიწეროს შემდეგნაირად ტერმინალური ემულატორის პროგრამაში:! 070503#

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

  • "Y" ნიშნავს, რომ შეტყობინება გადაეცა. გაითვალისწინეთ, რომ ეს პასუხი მოცემულია მას შემდეგ, რაც ყველა შეტყობინება - მათ შორის ყველა გამეორება - გადადის, ასე რომ შეიძლება გარკვეული დრო დასჭირდეს ამ პასუხის გაცემამდე, როდესაც ბევრი განმეორებითი შეტყობინების გადაცემაა საჭირო.
  • "N" ნიშნავს, რომ კომპიუტერში გაგზავნილ შეტყობინებაში იყო არალეგალური ხასიათი.
  • "B" ნიშნავს იმას, რომ ინფრაწითელი გადაცემა ჯერ კიდევ დაკავებული იყო ბრძანების გაცემისას.
  • ?’ნიშნავს, რომ მოწყობილობა ელოდა‘!’მაგრამ მიიღო სხვა რამ.

ნაბიჯი 4:

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

  • USB მოწყობილობის კონფიგურაცია ტერმინალური ემულაციის პროგრამიდან. როდესაც მოწყობილობა კონფიგურირებულია, ის პასუხობს შეტყობინებას "USB NEC ინფრაწითელი გადამცემი და მიმღები". მოწყობილობაზე მწვანე LED ჩართულია და აჩვენებს, რომ მოწყობილობა კონფიგურირებულია კომპიუტერის მიერ.
  • ნათურა ჩართულია დისტანციური მართვის საშუალებით. ამისათვის დისტანციური მართვა იყენებს მისამართს 0x00 და ბრძანებას 0x07, რომელიც გაშიფრულია მოწყობილობით და ნაჩვენებია კომპიუტერზე.
  • ნათურა გამორთულია დისტანციური მართვის საშუალებით. ამისათვის დისტანციური მართვა იყენებს მისამართს 0x00 და ბრძანებას 0x06, რომელიც დეკოდირებულია მოწყობილობის მიერ და ნაჩვენებია კომპიუტერზე.
  • ნათურა ჩართულია კომპიუტერზე იგივე დისტანციური მართვის ბრძანების აკრეფით 0 – ით განმეორებითი მნიშვნელობით (გამეორების გარეშე), ასე რომ აკრიფეთ ‘! 000700#’. ნათურა ირთვება.
  • ნათურის ფერის ლურჯად შეცვლა მისამართის 0x00 და ბრძანების 0x0A გამოყენებით და 0x30 გამეორებების გამოყენებით. Amber Led, რომელიც ინფრაწითელი LED- ების პარალელურად არის დაკავშირებული, აციმციმებულია, რომელიც გვიჩვენებს განმეორებითი შეტყობინების გადაცემას ინფრაწითელი საშუალებით. აკრეფილი შეტყობინება არის '! 000A30#'.

გაითვალისწინეთ, რომ ამ ვიდეოს ჩაწერის დროს ჯუმბერ კავშირი "გათიშვა" აქტიური იყო, ასე რომ თქვენ ასევე შეგიძლიათ ნახოთ გადაცემული შეტყობინება "! 000700#", რომელიც მიიღება როგორც "A: 00 C: 07" ტერმინალის ემულაციის პროგრამაში. ნათურის დემოში, რომელიც ცისფრად შეღებილია, ასევე შეგიძლიათ ნახოთ, რომ წითელი LED ნათდება მანამ, სანამ მოქმედი - განმეორებითი შეტყობინებები გადაეცემა მას შემდეგ, რაც ისინი მიიღება და გაშიფრულია განმეორებითი შეტყობინებების გადაცემის პარალელურად.

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

გირჩევთ: