Სარჩევი:
- მარაგები
- ნაბიჯი 1: ოპტიკური კოდირება
- ნაბიჯი 2: 3D ნაბეჭდი ნაწილები
- ნაბიჯი 3: გაყვანილობის დიაგრამა
- ნაბიჯი 4: Arduino კოდი
- ნაბიჯი 5: პირველი სკანირება
ვიდეო: XYZ წერტილოვანი სკანერი გადარჩენილი მბრუნავი კოდირების გამოყენებით: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
ჩემი სამუშაო ადგილიდან საკმაოდ დიდი რაოდენობის გადაგდებული მბრუნავი ოპტიკური კოდირების მოპოვების შემდეგ, საბოლოოდ გადავწყვიტე მათთან ერთად რაიმე სახალისო/სასარგებლო გამეკეთებინა.
მე ცოტა ხნის წინ შევიძინე ახალი 3D პრინტერი ჩემი სახლისთვის და რა შეიძლება შეავსოს მას უკეთესად ვიდრე 3D სკანერი! ამ პროექტმა ასევე მომცა სრულყოფილი შესაძლებლობა გამომეყენებინა ჩემი 3D პრინტერი საჭირო ნაწილების დასამზადებლად.
მარაგები
ოპტიკური კოდირება და შესაბამისი ოპტიკური სენსორები
Arduino UNO
არჩევითი პროტოტიპის ფარი
ფოლადის რელსები
3D პრინტერზე წვდომა
ნაბიჯი 1: ოპტიკური კოდირება
თითქმის ნებისმიერი მბრუნავი კოდირება შეიძლება გამოყენებულ იქნას ამ პროექტისათვის, იმ პირობით, რომ ის მოგაწვდით შედარებით მაღალი რაოდენობის "დაწკაპუნებებს" მმ -ზე. ცხადია, განსხვავებული კოდირებისთვის საჭიროა შესაბამისი სამონტაჟო გადაწყვეტა.
მე გამოვიყენე უწყვეტობის მრიცხველი ფოტო სენსორების გაყვანილობის დიაგრამის დასადგენად.
ნაბიჯი 2: 3D ნაბეჭდი ნაწილები
ეს ნაწილები შეიცავს მბრუნავ კოდირებას და უზრუნველყოფს სლაიდს რელსისთვის. ერთი კოდირების კორპუსს აქვს ორი ხვრელი უკანა ნაწილში, რათა ჯვრის რელსები დამონტაჟდეს. ორმაგი კოდირების კორპუსი უბრალოდ ორი ცალკეული კორპუსია, რომლებიც ერთმანეთთან შერწყმულია სწორი კუთხით.
მე დავამონტაჟე ეს საყრდენები fusion360- ზე, რათა მოერგოს კოდირებისა და რელსების არჩევანს, შიფრატორ შახტს აქვს მოკლე ნაჭერი რეზინის გარსი, რომელიც დაეხმარება მას უკეთ დაიჭიროს უჟანგავი ფოლადის ლილვი.
თქვენ გინდათ, რომ ლილვი თავისუფლად გადაადგილდეს და ვერტიკალურად დაიჭიროს კორპუსში, მაგრამ მან უნდა მოახდინოს საკმარისად ზეწოლა კოდზე, რომ არ გადაიჩეხო. რაც მე მუშაობდა იყო ის, რომ ლილვისთვის სლაიდს გადაეფარა კოდირების ლილვი 0.5 მმ -ით. Slingshot რეზინის არის რბილი საკმარისი დეფორმირება ამ ოდენობით და უზრუნველყოს კარგი წევის.
ნაბიჯი 3: გაყვანილობის დიაგრამა
წრე ძალიან მარტივია. ოპტო-სენსორები საჭიროებენ გარკვეულ დენს IR გამცემი დიოდებისთვის, მიწას და გამწევ რეზისტორებს ფოტოდიოდებისთვის.
მე გადავწყვიტე 5mA სერიის გამცემი დიოდებისთვის, ამ კონკრეტულ კოდირებაში დიოდებზე ძაბვის ვარდნა არის 3.65V. მე ვიყენებ Arduino– სგან 5 ვ მიწოდებას, რომელიც ტოვებს 1.35 ვ რეზისტორს, 5 mA– ზე ეს გამოდის 270 ოჰმ.
10k ohm შეირჩა გასაშლელებისთვის, რადგან ფოტოდიოდებს შეუძლიათ მხოლოდ მცირე დენის ჩაძირვა, 10k ohm ასევე გამოიყენებოდა ღილაკზე. არსებობს ღილაკი გამოსაყენებლად პროტოტიპის დაფაზე, რომელიც უკვე მიწასთან არის დაკავშირებული, უბრალოდ მიაწოდეთ მას გამწევი რეზისტორი და მიამაგრეთ იგი სასურველ შეყვანის პინზე.
ნაბიჯი 4: Arduino კოდი
კოდს სჭირდება მცირე ახსნა, რადგან მისი მოქმედება შეიძლება დაუყოვნებლივ არ იყოს აშკარა, მაგრამ ის უნდა იყოს ოპტიმიზირებული ამ გზით, რომ შეძლოს 3 დამშიფვრის სწრაფად დამუშავება.
უპირველეს ყოვლისა, ჩვენ გვინდა მხოლოდ მიმართულების მონაცემების დამუშავება, თუ შეიცვლება კოდირების პოზიცია.
ცვლილებები = new_value ^ შენახული მნიშვნელობა;
იმისათვის, რომ მივიღო მეტი გარჩევადობა ჩემი კოდირებისგან, მე უნდა დამუშავდეს როგორც ამოსვლის, ასევე დაცემის კიდეები.
ჩემს კონფიგურაციაზე ჩემი გარჩევადობაა 24 დაწკაპუნება 1 სმ -ზე.
ეს გვაძლევს რამდენიმე სცენარს.
S1 არის მუდმივი 0 და S2 გადართულია 0 -დან 1 -მდე
S1 არის მუდმივი 0 და S2 გადართულია 1 -დან 0 -მდე
S1 არის მუდმივი 1 და S2 გადადის 0 -დან 1 -მდე
S1 არის მუდმივი 1 და S2 გადადის 1 -დან 0 -მდე
S2 არის მუდმივი 0 და S1 გადართულია 0 -დან 1 -მდე
S2 არის მუდმივი 0 და S1 გადართულია 1 -დან 0 -მდე
S2 არის მუდმივი 1 და S1 გადადის 0 -დან 1 -მდე
S2 არის მუდმივი 1 და S1 გადადის 1 -დან 0 -მდე
ეს პირობები უკეთესად არის გასაგები ზემოთ მოყვანილი სიმართლის ცხრილებში, ასევე თითოეული პირობა იძლევა "მიმართულებას", თვითნებურად დასახელებულ 0 ან 1.
დიაგრამები გვაძლევს ორ სასიცოცხლო მნიშვნელობას:
1) ერთი დიაგრამა არის მეორის სრული ინვერსიული, ასე რომ, თუ ჩვენ გვაქვს ერთი, ჩვენ შეგვიძლია მარტივად გამოვთვალოთ მეორე გამომავალი უბრალოდ ინვერსიით. ჩვენ გამოვაბრუნებთ გამომავალს მხოლოდ იმ შემთხვევაში, თუ ერთი pin იცვლება და არა მეორე, ჩვენ შეგვიძლია ავირჩიოთ ერთი თვითნებურად.
2) დიაგრამა უბრალოდ არის S1 და S2 სიგნალების XOR. (სხვა დიაგრამა არ არის ეს).
ახლა კოდის გაგება მარტივია.
// პარალელურად წაიკითხეთ PORT– ში // დაიმახსოვრეთ მიმდებარე წყვილები მიეკუთვნებიან ერთნაირად კოდირების მდგომარეობას = PINB & 0x3f; // რა ქინძისთავები შეიცვალა თუ რაიმე diff = hold ^ მდგომარეობა; // XOR მიმდებარე S1 და S2 სიგნალები სიმართლის ცხრილის მისაღებად // ყველაზე მარტივი გზა არის არსებული მდგომარეობის ასლის გაკეთება // და მისი გადატანა მარჯვნივ ერთი ბიტიანი საძიებელი = მდგომარეობა >> 1; // ახლა ბიტები გასწორებულია XOR dir = საძიებელი ^ მდგომარეობისთვის; // დაიმახსოვრე, ცხრილი უნდა იყოს შემობრუნებული, თუ ერთი // შენატანი დარჩა მუდმივი, ჩვენ არ გვჭირდება IF // განცხადება ამისათვის. ამჟამად სასურველი მიმართულების ბიტი // არის "dir" ცვლადის თითოეული წყვილის მარჯვენა ბიტი '01' ან '10' // XOR ეს 'dir' ბაიტით ან // გადაატრიალებს ან არა მნიშვნელობას. dir ^= განსხვავ; // ახლა განახლება hold ცვლადი hold = მდგომარეობა; // თუ რომელიმე ბიტი შეიცვალა ამ კოდირებისთვის, თუ (diff & 0x03) {// განსაზღვრეთ მიმართულება, თუ (dir & 0x01) {// თქვენი ჰარვერი და გაყვანილობა ++ ან ---z; } სხვა {++ z; }} // ditto დანარჩენებისთვის if (diff & 0x0c) {if (dir & 0x04) {++ y; } else {--y; }} if (diff & 0x30) {if (dir & 0x10) {--x; } სხვა {++ x; }}
ღილაკზე დაჭერისას ჩვენ ვაგზავნით მიმდინარე XYZ მნიშვნელობას ტერმინალურ პროგრამაში.
სერიული მონაცემები ნელია, მაგრამ ნორმალური მუშაობის დროს კოდირების პოზიციები ამ დროის განმავლობაში მაინც არ შეიცვლება.
მონაცემები იგზავნება ნედლეულის სახით. თქვენ შეგიძლიათ გააკეთოთ მათემატიკა და გაგზავნოთ მონაცემები მმ -ში ან ინჩში და ა.შ. მე ვთვლი, რომ ნედლეულის ღირებულებები ისეთივე კარგია, რომ ჩვენ შეგვიძლია გავაფართოვოთ ობიექტი მოგვიანებით პროგრამულ უზრუნველყოფაში.
ნაბიჯი 5: პირველი სკანირება
ქულების შეგროვება ნელი პროცესია, მე დავამონტაჟე ზონდი ზედა მარცხენა კუთხეში და გადავაყენე არდუინო.
ეს აჩერებს პოზიციას, როგორც სახლს.
შემდეგ გადაიტანეთ ზონდი სამიზნეზე მდებარე ადგილას, გააჩერეთ იგი და დააჭირეთ ღილაკს "სურათის გადაღება".
ამ საკმაოდ დიდი ნიმუშის ნაწილისთვის მე ავიღე მხოლოდ ~ 140 ქულა, ასე რომ დეტალები არ არის დიდი საბოლოო პროდუქტზე.
შეინახეთ მონაცემები. PCD ფაილში და დაამატეთ სათაური
#. PCD v.7 - Point Cloud მონაცემთა ფაილის ფორმატი ვერსია.7 FIELDS x y z ზომა 4 4 4 TYPE F F F COUNT 1 1 1 WIDTH (your point count) HEIGHT 1 VIEWPOINT 0 0 0 1 1 0 0 0 ქულა (თქვენი ქულა)
სათაურში ჩაწერეთ ქულების რაოდენობა, ეს ადვილია ნებისმიერ რედაქტორზე, რომელიც მოგაწვდით ხაზის ნომრებს.
ზემოთ მოცემული წერტილები ჩანს freeCad– ში, შემდეგ ისინი ექსპორტირდება freeCad– დან, როგორც. PLY ფაილი.
გახსენით. PLY MeshLab– ზე და ზედაპირზე მოათავსეთ ობიექტი. Შესრულებულია!!
გირჩევთ:
მბრუნავი კოდირების ღილაკი: 6 ნაბიჯი
მბრუნავი კოდირების ღილაკი: ეს არის მბრუნავი დისტანციური მართვა, რომელიც დაფუძნებულია მბრუნავ კოდირებაზე. მას აქვს შემდეგი მახასიათებლები. ბატარეა მუშაობს ძალიან დაბალი დენის მოხმარებით გააქტიურებისას ავტომატური გააქტიურება როდესაც კონტროლი ბრუნავს ავტომატური ძილი უმოქმედობის პერიოდის შემდეგ კონფიგურაცია
ISDT Q6 მბრუნავი კოდირების შეცვლა: 4 ნაბიჯი
ISDT Q6 Rotary Encoder Replacement: ეს გაკვეთილი არის იმ ადამიანების დასახმარებლად, ვისი Q6 კოდირებით დროთა განმავლობაში გადავიდა sh*t– ზე, ახლა გამოუსადეგარია. ჩემმა დაიწყო გადახვევა შემთხვევითი, არასტაბილური მიმართულებებით და მაშინაც კი, მას შემდეგ, რაც შედუღების სახსრები დაიხშო და დამშიფრავი ალკოჰოლით გაწმინდა, ის მაინც დისფუნი იყო
PA1 DIY Tube Preamp: ეფექტურად აშენებული გადარჩენილი კომპონენტებით: 13 ნაბიჯი
PA1 DIY Tube Preamp: ეფექტურად აგებული გადარჩენილი კომპონენტებით: არსებობს უამრავი რესურსი ინტერნეტში და ბეჭდვით მილის წინამორბედების მშენებლობის შესახებ, ამიტომ ვიფიქრე, რომ მე ცოტა განსხვავებულს გავიზიარებდი. ეს ინსტრუქცია მოიცავს ჩემი დიზაინის ღია კოდის გამაძლიერებლის მშენებლობას და არა მხოლოდ ეს არის
როგორ მოძებნოთ საგნები Google Chrome– ში Microsoft Excel– ის მაკროების გამოყენებით (კოდირების ცოდნა არ არის საჭირო): 10 ნაბიჯი
როგორ მოძებნოთ საგნები Google Chrome– ში Microsoft Excel– ის მაკროების გამოყენებით (არ არის საჭირო ცოდნის კოდირება): იცოდით რომ თქვენ შეგიძლიათ მარტივად დაამატოთ ძებნის ფუნქცია თქვენს Excel ცხრილში?! მე შემიძლია გაჩვენოთ როგორ გავაკეთოთ ეს რამდენიმე მარტივ ნაბიჯში! ამის გასაკეთებლად დაგჭირდებათ შემდეგი: კომპიუტერი - (შემოწმება!) თქვენზე დაინსტალირებული Microsoft Excel Google Chrome
Arduino მენიუ Nokia 5110 LCD– ზე მბრუნავი კოდირების გამოყენებით: 6 ნაბიჯი (სურათებით)
Arduino მენიუ Nokia 5110 LCD– ზე მბრუნავი კოდირების გამოყენებით: ძვირფასო მეგობრებო მოგესალმებით სხვა გაკვეთილზე! ამ ვიდეოში ჩვენ ვისწავლით თუ როგორ უნდა ავაშენოთ ჩვენი საკუთარი მენიუ პოპულარული Nokia 5110 LCD დისპლეისთვის, რათა ჩვენი პროექტები გავხადოთ უფრო მოსახერხებელი და ქმედითი. დავიწყოთ! ეს არის პროექტი