Სარჩევი:

ინფრაწითელი კამათლის სენსორი: 5 ნაბიჯი
ინფრაწითელი კამათლის სენსორი: 5 ნაბიჯი

ვიდეო: ინფრაწითელი კამათლის სენსორი: 5 ნაბიჯი

ვიდეო: ინფრაწითელი კამათლის სენსორი: 5 ნაბიჯი
ვიდეო: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, ნოემბერი
Anonim
ინფრაწითელი კამათლის სენსორი
ინფრაწითელი კამათლის სენსორი
ინფრაწითელი კამათლის სენსორი
ინფრაწითელი კამათლის სენსორი

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

ამჟამად მე ვარ ტეილორის უნივერსიტეტის სტუდენტი, რომელიც ვსწავლობ კომპიუტერულ ინჟინერიას და ჩემს გუნდს და მე მთხოვეს შემექმნა და აეშენებინა მექანიზმი, რომელსაც შეუძლია დაალაგოს ნებისმიერი ობიექტი, რომელიც მოთავსდება 1 ინჩის კვადრატში. ჩვენ შეგვეძლო გაგვეტარებინა მარტივი მარშრუტი და ავირჩიოთ m & m- ის დახარისხება მარტივი ფერის სენსორის გამოყენებით, მაგრამ ჩვენ გადავწყვიტეთ, რომ ზემოთ და მის ფარგლებს გარეთ წავიდეთ და კამათელი დავალაგოთ ნაჩვენები რიცხვით. უთვალავი საათის შემდეგ ვცდილობდი მეპოვნა გზამკვლევი, თუ როგორ უნდა წაეკითხა კამათლის სახე, მე წავაწყდი ამ ბმულს აქ:

makezine.com/2009/09/19/dice-reader-versio…

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

მარაგები

ახლა რაც შეეხება მარაგს:

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

1 x Arduino Uno

5 x IR მიმღებები

5 x IR გამცემი

www.sparkfun.com/products/241

5 x 270 ohm რეზისტორები

5 x 10k ohm რეზისტორები

1 x 74HC595N ჩიპი

სხვადასხვა მამრობითი სათაურები

1 x პროტოტიპის დაფა (თუ არ იღებთ ჩვეულებრივად დაფქულ დაფას)

ნაბიჯი 1: იმის გაგება, თუ როგორ მუშაობს იგი

იმის გაგება, თუ როგორ მუშაობს
იმის გაგება, თუ როგორ მუშაობს
იმის გაგება, თუ როგორ მუშაობს
იმის გაგება, თუ როგორ მუშაობს

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

თქვენ შეიძლება გაინტერესებთ, რატომ მხოლოდ მაშინ 5 პიპ მდებარეობა? ხომ არ დაგჭირდებათ ცხრავე კამათელი ეფექტურად რომ წაიკითხოთ?

კარგად, კამათლის სიმეტრიის გამო, კამათელზე 5 კონკრეტული ადგილის გამოყენება საკმარისი იქნება იმისათვის, რომ განვასხვავოთ კამათლის სხვადასხვა რიცხვი ორიენტაციის მიუხედავად (სურათი 1). ეს კამათლის სენსორს უფრო ეფექტურს ხდის, რადგან ის ეძებს მხოლოდ იმას, რაც მას სჭირდება და არაფერს დამატებით.

ემისი ზუსტად მიდის მიმღების ქვეშ სენსორზე, ამ 5 პიპის თითოეულ ადგილას, სენსორი შემდეგ ასხივებს IR სინათლეს და შემდეგ მიმღები კითხულობს IR სინათლის რაოდენობას, რომელიც ანათებს კამათლის სახეს. (სურათი 3) თუ მიღებული მნიშვნელობა უფრო დიდია, ვიდრე დაკალიბრების ნომრები, მაშინ სენსორი დაინახავს ამ წერტილს წერტილად, თუ არა მაშინ ეს არის თეთრი სივრცე. (სურათი 2)

ნაბიჯი 2: დიზაინი და დაგეგმვა

დიზაინი და დაგეგმვა
დიზაინი და დაგეგმვა
დიზაინი და დაგეგმვა
დიზაინი და დაგეგმვა
დიზაინი და დაგეგმვა
დიზაინი და დაგეგმვა
დიზაინი და დაგეგმვა
დიზაინი და დაგეგმვა

კამათლის სენსორის შესაქმნელად პირველი ნაბიჯი არის სქემების შექმნა, ეს შეიძლება იყოს განვითარების ყველაზე რთული ან იოლი ნაბიჯი. თქვენ ჯერ გჭირდებათ პროგრამული უზრუნველყოფა სახელწოდებით EAGLE Autodesk– ის მიერ, ეს იყო პროგრამული უზრუნველყოფა, რომელიც მე გამოვიყენე სქემების შესაქმნელად.

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

მე ასევე შევიტანე ჩემი დაფის განლაგება სენსორისთვის, რომელიც მე შემუშავებულია ცვლის რეგისტრატორთან ერთად.

დაფის დიზაინის დასაწყებად, თქვენ გაქვთ 5 IR მიმღები და 5 IR გამცემი, მიმღებებს ესაჭიროებათ 10k რეზისტორი, ხოლო გამცემებს 270 ohm წინააღმდეგობა, ასე რომ თითოეული ამ ელემენტისთვის, თქვენ მიდიხართ:

VCC (5V) -> რეზისტორი -> ანალოგური წაკითხვის პინი -> IR მიმღები -> GND

VCC (5V) -> რეზისტორი -> IR გამცემი -> GND

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

ჩემს საბაჟო დაფაზე, მე ვიყენებ ცვლის რეგისტრატორს, რათა უზრუნველვყოთ თითოეული გამცემი და მიმღები წყვილი ერთდროულად, რათა თავიდან ავიცილოთ სხვა გამოსხივების IR სინათლის სისხლდენა. ეს მაძლევს კიდევ უფრო ზუსტ კითხვას პიპის თითოეული ადგილიდან, თუ თქვენ ირჩევთ არ გამოიყენოთ ცვლის რეგისტრატორი, ის მაინც გამოგადგებათ, ის შეიძლება იყოს ოდნავ ნაკლებად ზუსტი. ცვლის რეგისტრში შეგიძლიათ შეუერთოთ 3-4 და 7-8 ქინძისთავები ერთად, რადგან არ არის აუცილებელი მათი სათაურები იყოს. მე დავტოვე ისინი სათაურებად და სათაურებზე მხტუნავები დავაყენე იმ შემთხვევაში, თუ მომავალში მინდოდა განვითარება.

მას შემდეგ რაც შეიმუშავეთ სქემა, თქვენ უნდა გააკეთოთ დაფის განლაგება თქვენი სქემატისა. ეს ნაწილი შეიძლება იყოს ძალიან სახიფათო, რადგან თქვენ უნდა დარწმუნდეთ, რომ თქვენი ბილიკები არ ემთხვევა ერთმანეთს და დარწმუნდით, რომ თქვენი ბილიკები და ხვრელები აკმაყოფილებს თქვენი აპარატის მახასიათებლებს. დაფის განლაგებას, რომელსაც მე ვამაგრებდი, ჰქონდა სპეციფიკური ზომები იმ აპარატისთვის, რომელსაც მე ვიყენებდი ჩემი დაფის დასალევად. რამდენიმე საათს ვხარჯავ, რომ დაფა იყოს ისეთი პატარა, როგორიც მე შემეძლო. ამ დაფაზე გაუმჯობესების ადგილი ჯერ კიდევ იყო, მაგრამ ის მუშაობდა ჩემთვის, ასე რომ დავტოვე ის, როგორც არის. არსებობს ვერსია სპილენძის GND- ით, რომელიც აკავშირებს Ground- ის ყველა ელემენტს და ვერსია მიმაგრების გარეშე.

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

დაფის დიზაინის შექმნის შემდეგ შეგიძლიათ გადადით შემდეგ საფეხურზე!

ნაბიჯი 3: დაფის აგება

დაფის მშენებლობა
დაფის მშენებლობა
დაფის მშენებლობა
დაფის მშენებლობა
დაფის მშენებლობა
დაფის მშენებლობა

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

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

დარწმუნდით, რომ ყველაფერი დაფარულია დაფაზე სასურველ განლაგებაში და დარწმუნდით, რომ დრო დაუთმეთ, ხოლო თუ შედუღება მოახდინეთ PCB– ზე, დარწმუნდით, რომ შედგით დაფის სწორ მხარეს.

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

მას შემდეგ რაც ყველაფერი გაერთეთ და დაამატეთ დაფაზე, თქვენ აპირებთ სენსორის პროგრამირებას.

ნაბიჯი 4: დაფის დაპროგრამება

დაფის დაპროგრამება
დაფის დაპროგრამება
დაფის დაპროგრამება
დაფის დაპროგრამება

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

დასაწყებად თქვენ უნდა გქონდეთ Arduino ამ სენსორთან დასაკავშირებლად. იგი იყენებს 5 ანალოგურ ქინძისთავებს და 3 ციფრულ ქინძისთავებს.

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

სენსორზე, ქინძისთავები 1-5 წითელი მიდის A0-A4, ასე რომ წითელი 1 მიდის A0 და ასე შემდეგ. ქინძისთავები 1-8 თეთრი მოითხოვს მეტ ახსნას.

თეთრი 1 - მონაცემთა პინი, ეს არის სადაც Arduino აგზავნის მონაცემებს ცვლის რეგისტრში. მე დავაყენე ეს პინი ციფრულ პინ 3 -ზე Arduino– ზე

თეთრი 2 - Q0, ამ შემთხვევაში მოძველებული, მე ჩავრთე იმ შემთხვევაში, თუ საერთოდ გადავწყვიტე გაფართოება

თეთრი 3 და 4 - დაწყვილდება, თქვენ შეგიძლიათ შეაერთოთ ეს ორი ერთად ან გამოიყენოთ მხტუნავი, როგორც მე.

თეთრი 5 - ჩამკეტი პინი, ძალიან მნიშვნელოვანი ბუდე, რომელიც არის ბოლო ნაბიჯი პროცესში, რათა ნახოთ პიპსის ჩართვა და გამორთვა. მე დავაყენე ეს პინი 12 -ზე Arduino– ზე

თეთრი 6 - საათის პინი, ეს უზრუნველყოფს საათს არდუინოდან ცვლის რეგისტრამდე. მე დავაყენე ეს ციფრული პინ 13 -ზე.

თეთრი 7 და 8 - დაწყვილდება, შეგიძლიათ ეს ორი ერთად შეაერთოთ ან გამოიყენოთ ჯუმპერი, როგორც მე.

თეთრი ყუთის გვერდით თქვენ გაქვთ Ground და VCC ქინძისთავები. თქვენ უნდა უზრუნველყოთ 5 ვ Arduino– დან ან სხვა წყაროდან ამ სენსორის გასაძლიერებლად.

PIP ადგილმდებარეობის ნომრები შეგიძლიათ იხილოთ კოდში.

ახლა, როდესაც თქვენ უნდა დააკავშიროთ ის, ჩვენ უნდა დავაკალიბროთ იგი. ჩემი მიზანი იყო შევქმნა სკრიპტი, რომელსაც შეეძლო მისი დაკალიბრება თქვენთვის, მაგრამ მე ამის დრო არ დამრჩა. დაკალიბრებისას თქვენ უნდა დარწმუნდეთ, რომ სენსორი არის კონტროლირებად განათების გარემოში და გრძნობს, რომ ის მგრძნობიარეა გარე დასხივებული სინათლის მიმართ. თქვენ უნდა მიიღოთ მნიშვნელობა თითოეული პიპის ადგილმდებარეობიდან შავი წერტილით და თეთრი წერტილით და გამოთვალეთ სხვაობა საშუალოდ. გამოსაყენებლად კამათლის მხოლოდ ორი მხარე გამოვიყენე, მე გამოვიყენე 1 გვერდი, მე –6 და მე –6 მხარე 90 გრადუსით შემობრუნებული. მას შემდეგ, რაც თქვენ გაქვთ რიცხვი თეთრი და შავი თითოეული პიპის ადგილმდებარეობისთვის, თქვენ უნდა შეაფასოთ ისინი საშუალოდ და იპოვოთ ორი რიცხვის შუა რიცხვები. მაგალითად, თუ მე მივიღე 200 თეთრი პირველი პიპის ადგილმდებარეობიდან და 300 პირველი პიპის ადგილმდებარეობის მუქი მნიშვნელობისთვის, მაშინ დაკალიბრების რიცხვი იქნება 250. მას შემდეგ რაც ამას გააკეთებთ ყველა 5 პიპ ადგილას, თქვენი სენსორი სწორად არის დაკალიბრებული, შემდეგ შეგიძლიათ გამოიყენოთ კამათელი. ReadFace (); კამათლის ამჟამინდელი სახის მისაღებად.

ნაბიჯი 5: განაცხადი

განაცხადი
განაცხადი
განაცხადი
განაცხადი
განაცხადი
განაცხადი

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

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

ამ სენსორის შესაძლებლობა უსასრულოა, თუკი ამას იფიქრებთ. ვიმედოვნებ, რომ ეს სახელმძღვანელო თქვენთვის სასიამოვნო და საგანმანათლებლო იქნება და ვიმედოვნებ, რომ თქვენ შეეცდებით გააკეთოთ ეს თქვენთვის.

Ღმერთმა დაგლოცოს!

გირჩევთ: