Სარჩევი:
- ნაბიჯი 1: რა არის ფიგურის ამოცნობის პრობლემა და როგორ მოვაგვარე იგი
- ნაბიჯი 2: როგორ მუშაობს ყველაფერი
- ნაბიჯი 3: ინსტრუმენტები და კომპონენტები
- ნაბიჯი 4: სქემა (გაყინვა)
- ნაბიჯი 5: პროცესი
- ნაბიჯი 6: რამდენიმე ფოტო და ვიდეო სხვადასხვა ეტაპიდან
- ნაბიჯი 7: წყაროს კოდი
ვიდეო: 4x4 ელექტრონული საჭადრაკო დაფის დემო/ Arduino Mega + RFID Reader + Hall-effect სენსორებით: 7 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
გამარჯობა შემქმნელებო, მე ვარ ტაჰირ მირიევი, 2018 წლის კურსდამთავრებული ახლო აღმოსავლეთის ტექნიკური უნივერსიტეტიდან, ანკარა/ თურქეთი. მე ვსწავლობდი გამოყენებითი მათემატიკაში, მაგრამ მე ყოველთვის მიყვარდა ნივთების დამზადება, განსაკუთრებით მაშინ, როდესაც ის მოიცავს ელექტრონიკას, დიზაინსა და პროგრამირებას. პროტოტიპების უნიკალური კურსის წყალობით, რომელიც შემოთავაზებულია ჩვენს სამრეწველო დიზაინის განყოფილებაში, მე მომეცა შანსი გავაკეთო რაღაც მართლაც საინტერესო. პროექტი შეიძლება ჩაითვალოს როგორც ვადიანი პროექტი, რომელიც გაგრძელდა მთელი სემესტრის განმავლობაში (4 თვე). სტუდენტებს დაევალათ დაეძებნა შემოქმედებითი მიდგომა უკვე არსებული პროდუქციის/დემოს დიზაინის შესაქმნელად და გააცნობიერონ თავიანთი იდეები არდუინოს მიკროკონტროლერებისა და სენსორების გამოყენებით. ჭადრაკზე ვფიქრობდი და წარმატებული პროექტების კვლევის შემდეგ შევამჩნიე, რომ წინა პროექტებში შემქმნელები ძირითადად იყენებდნენ მზა საჭადრაკო ძრავებს (სადაც თითოეული ფიგურის ყველა მოძრაობა დაპროგრამებული იყო ბირთვში), ჟოლოს პითან ერთად, ზოგიერთი MUX 's, LED- ის და ლერწმის გადამრთველები. ჩემს პროექტში, თუმცა, მე გადავწყვიტე მოვიშორო ნებისმიერი გარე პროგრამული უზრუნველყოფა ჭადრაკის ძრავის თვალსაზრისით და ვიპოვნო შემოქმედებითი გადაწყვეტა ფიგურის ამოცნობის პრობლემისათვის RFID მკითხველის, ჰოლის ეფექტის სენსორების და არდუინო მეგას გამოყენებით.
ნაბიჯი 1: რა არის ფიგურის ამოცნობის პრობლემა და როგორ მოვაგვარე იგი
მარტივად რომ ვთქვათ, დავუშვათ, რომ გაქვთ ჭადრაკის დაფა "ტვინით" = მიკროკონტროლით და თქვენ უნდა აცნობოთ თქვენს დაფას, რომელი ფიგურა გეჭირათ ხელში და სად მოათავსეთ. ეს არის ფიგურის ამოცნობის პრობლემა. ამ პრობლემის გადაწყვეტა უმნიშვნელოა, როდესაც ჭადრაკის ძრავა გაქვს, ყველა ფიგურა დგას დაფაზე საწყის პოზიციებზე. სანამ აგიხსნით რატომ არის ასე, ნება მომეცით შენიშვნები გავაკეთო.
მათთვის, ვინც აღფრთოვანებულია იმით, თუ როგორ მუშაობს აქ საქმე, მე უნდა განვმარტო, თუ რატომ გვჭირდება ლერწმის გადამრთველები (ან ჩემს შემთხვევაში, მე ვიყენებ ჰოლის ეფექტის სენსორებს): თუ თქვენ მოათავსებთ მაგნიტს თითოეული ნაწილის ქვეშ და აიღებთ მას კვადრატი დაფაზე (ვივარაუდოთ, რომ ლერწმის შეცვლაა ყველა კვადრატის ქვეშ) სენსორის ზემოთ მაგნიტური ველის არსებობის/არარსებობის გამო, შეგიძლიათ თქვენს კონტროლერს გააცნობიეროს არის თუ არა/არ არის ცალი კვადრატზე რა თუმცა, ის მაინც არაფერს ამბობს მიკროკონტროლერზე იმის შესახებ, თუ რომელი ნაჭერი დგას მოედანზე. ის მხოლოდ გვეუბნება, რომ კვადრატზე არის/არ არის ნაჭერი. ამ ეტაპზე, ჩვენ პირისპირ ვდგავართ ფიგურის ამოცნობის პრობლემის წინაშე, რომელიც შეიძლება გადაწყდეს საჭადრაკო ძრავის გამოყენებით, ჭადრაკის თამაშის დაწყებისას ყველა ფიგურა განთავსდეს საწყის პოზიციებზე. ამ გზით მიკროკონტროლერმა "იცის" სად დგას თითოეული ნაწილი თავიდანვე, ყველა მისამართი დაფიქსირებულია მეხსიერებაში. მიუხედავად ამისა, ეს გვაძლევს უზარმაზარ შეზღუდვას: თქვენ არ შეგიძლიათ აირჩიოთ, ვთქვათ, ნებისმიერი რაოდენობის ცალი და შემთხვევით განათავსოთ ისინი დაფაზე და დაიწყოთ თამაშის ანალიზი. თქვენ ყოველთვის უნდა დაიწყოთ თავიდან, ყველა ნაწილი თავდაპირველად უნდა იყოს დაფაზე, რადგან ეს არის ერთადერთი გზა მიკროკონტროლერისთვის, რომ თვალყური ადევნოს მათ ადგილს, მას შემდეგ რაც ცალი ამოიღეთ და მოათავსეთ სხვა მოედანზე. არსებითად, ეს იყო პრობლემა, რომელიც მე შევნიშნე და გადავწყვიტე მუშაობა.
ჩემი გამოსავალი საკმაოდ მარტივი იყო, თუმცა შემოქმედებითი. RFID მკითხველი მოვათავსე დაფის წინა მხარეს. იმავდროულად, მე დავამატე არა მხოლოდ მაგნიტი ნაჭრების ქვეშ, არამედ RFID ტეგი, თითოეულ ნაწილს აქვს უნიკალური ID. მაშასადამე, სანამ ფიგურას მოათავსებთ ნებისმიერ სასურველ კვადრატზე, თქვენ შეგიძლიათ დაიჭიროთ ცალი RFID მკითხველთან ახლოს და მისცეთ მას წაკითხვის პირადობის მოწმობა, ამოიცნოთ ის, შეინახოთ იგი მეხსიერებაში და შემდეგ განათავსოთ სადაც გინდათ. ასევე, ლერწმის გადამრთველების გამოყენების ნაცვლად, სქემის დიზაინის გასამარტივებლად, გამოვიყენე დარბაზის ეფექტის სენსორები, რომლებიც ანალოგიურად მუშაობენ, მხოლოდ ციფრული მონაცემების სახით მიკროკონტროლერის 0 ან 1 გაგზავნის განსხვავებით, რაც ნიშნავს "არსებობს" ან "არ არის" რომელიმე ნაჭერი კვადრატზე, შესაბამისად. მე ასევე დავამატე LED- ები (სამწუხაროდ არა ერთი და იგივე ფერის, არ ჰქონდა), ასე რომ როდესაც ნაჭერს ასწევთ, ყველა კვადრატული ადგილი, სადაც მოხსნილი ნაჭრის განთავსება შეიძლება, ანათებს. ჩათვალეთ, რომ ეს არის ჭადრაკის შემსწავლელთათვის საგანმანათლებლო პრაქტიკა:)
და ბოლოს, მინდა აღვნიშნო, რომ მიუხედავად იმისა, რომ მე რამდენიმე ტექნიკა გამოვიყენე, პროექტი რჩება მარტივი და გასაგები, არ არის ღრმად შემუშავებული ან ზედმეტად რთული. მე არ მქონდა საკმარისი დრო 8x8 ჭადრაკის დაფაზე გასაგრძელებლად (ასევე იმიტომ, რომ 64 დარბაზის ეფექტის სენსორი ძვირია თურქეთში, მე დავფარე პროექტთან დაკავშირებული ყველა ხარჯი), ამიტომაც გავაკეთე 4x4 დემო ვერსია მხოლოდ ორი ცალი ტესტირებით: სალომბარდე და Დედოფალი. საჭადრაკო ძრავის გამოყენების ნაცვლად, მე დავწერე წყაროს კოდი არდუინოსთვის, რომელიც წარმოშობს ყველაფერს, რასაც ქვემოთ ვიდეოში ნახავთ.
ნაბიჯი 2: როგორ მუშაობს ყველაფერი
სანამ გადავდგამთ ნაბიჯ ნაბიჯ ახსნას იმის შესახებ, თუ როგორ განხორციელდა პროექტი, მე ვფიქრობ, რომ უკეთესი იქნება უყუროთ საილუსტრაციო ვიდეოს და მიიღოთ ინტუიციური წარმოდგენა იმაზე, რაზეც მე ვსაუბრობ.
შენიშვნა #1: წითელი LED- ებიდან ერთ -ერთი (პირველი რიგში/ მარცხნიდან მარჯვნივ) დაიწვა, მნიშვნელობა არ აქვს.
შენიშვნა #2: მიუხედავად იმისა, რომ ფართოდ გამოიყენება, ჩემი გამოცდილებიდან შემიძლია ვთქვა, რომ RFID ტექნოლოგია არ არის საუკეთესო იდეა DIY პროგრამებში გამოსაყენებლად (რა თქმა უნდა, თუ თქვენ გაქვთ ალტერნატივები). სანამ ყველაფერი იმუშავებდა, მე ბევრი ცდა ჩავატარე ჭადრაკის ფიგურების მკითხველებთან ახლოს და დაველოდე სანამ ის სწორად წაიკითხავს პირადობის მოწმობას. სერიული პორტი უნდა შეიქმნას ამისათვის, რადგან RFID მკითხველი კითხულობს პირადობის მოწმობას მხოლოდ თავის ტკივილია. ადამიანმა თავად უნდა სცადოს საკითხის გასაგებად. თუ თქვენ გჭირდებათ მეტი დახმარება, გთხოვთ გამომიგზავნოთ ფოსტაზე ([email protected]) ან დაამატოთ სკაიპი (tahir.miriyev9r1), ასე რომ ჩვენ შეგვიძლია დავგეგმოთ საუბარი და განვიხილოთ დეტალები, მე ყველაფერს დეტალურად ავუხსნი.
ნაბიჯი 3: ინსტრუმენტები და კომპონენტები
აქ არის ჩამონათვალი ყველა იმ ინსტრუმენტისა, რომელიც მე გამოვიყენე პროექტისათვის: ელექტრონული კომპონენტები:
- პურის დაფა (x1)
- ყოვლისმომცველი A1126LUA-T (IC-1126 SW OMNI 3-SIP ALLEGRO) ჰოლის ეფექტის სენსორები (x16)
- ძირითადი 5 მმ ები (x16)
- ჯუმბერის მავთულები
- 125 kHz RFID მკითხველი და ანტენა (x1)
- არდუინო მეგა (x1)
- RFID 3M ტეგები (x2)
სხვა მასალები:
- პლექსიგლასი
- პრიალა ქაღალდი
- მოკლე ფიცრები (ხის)
- აკრილის საღებავი (მუქი მწვანე და კრემისფერი) x2
- თხელი მუყაო
- 10 მმ მრგვალი მაგნიტები (x2)
- სალომბარდე და დედოფლის ნაჭრები
- შედუღების რკინის და soldering მასალები
ნაბიჯი 4: სქემა (გაყინვა)
სქემატიკა ცოტა რთულია, ვიცი, მაგრამ იდეა გასაგები უნდა იყოს. ეს იყო პირველი შემთხვევა, როდესაც მე ვიყენებ Fritzing- ს (სხვათა შორის, ძალიან გირჩევთ), ალბათ კავშირები შეიძლება უფრო ზუსტად ჩამოყალიბდეს. ყოველ შემთხვევაში, მე აღვნიშნე ყველაფერი სქემატების შიგნით. შენიშვნა: მე ვერ ვიპოვე RDIF Reader– ის ზუსტი მოდელი Fritzing– ის მონაცემთა ბაზის კომპონენტებს შორის. მოდელი, რომელიც მე გამოვიყენე არის 125Khz RFID მოდული - UART. თქვენ შეგიძლიათ იპოვოთ გაკვეთილები Youtube– ზე, თუ როგორ უნდა დააყენოთ ეს მოდული Arduino– ით.
ნაბიჯი 5: პროცესი
დროა ავუხსნათ როგორ შეიქმნა ყველაფერი. გთხოვთ მიყევით ნაბიჯ-ნაბიჯ აღწერას:
1. აიღეთ 21x21 სმ მუყაო, ასევე ზედმეტი მუყაო დაფის ზედა ნაწილის კედლების მოსაჭრელად და წებოთი, რათა გააკეთოთ 16 კვადრატი A B C D 1 2 3 4 ჩამოთვლილი. ვინაიდან მუყაო თხელია, თქვენ შეგიძლიათ მოათავსოთ 16 დარბაზის ეფექტის სენსორი თითოეულ კვადრატში, 3 ფეხიანი თითოეული და 16 LED- იანი 2 ფეხიანი თითოეულით.
2. კომპონენტების დაყენების შემდეგ, თქვენ უნდა შეასრულოთ შედუღება, შეაერთოთ ჰოლის ეფექტის სენსორების ფეხები და LED- ები მავთულხლართებზე. ამ დროს, მე გირჩევთ შეარჩიოთ ფერადი მავთულები ჭკვიანურად, ისე რომ არ დაბნეული იქნათ LED– ების + და - ფეხებით, ასევე VCC, GND და PIN ფეხის დარბაზის ეფექტის სენსორებით. რასაკვირველია, შეიძლება დაბეჭდოთ PCB სენსორებით და თუნდაც WS2812 ტიპის LED- ებით უკვე შედუღებული, მაგრამ მე გადავწყვიტე, რომ პროექტი მარტივი გამეკეთებინა და კიდევ რამდენიმე "ხელით". ამ ეტაპზე, ყველაფერი რაც თქვენ უნდა გააკეთოთ არის კაბელების და სენსორების მომზადება, Fritzing სქემით შემდგომ ეტაპებზე თქვენ ხედავთ, სად უნდა დაურთოთ თითოეული მავთულის ბოლო. ცოტა ხანში, ზოგიერთი მათგანი პირდაპირ გადადის Arduino Mega– ს PIN– ებზე (Arduino– ზეც საკმარისია), ზოგიც პურის დაფაზე და ყველა GND– ის მიერთება შესაძლებელია ერთ კაბელზე (საერთო ადგილის შექმნა), რომელიც მოგვიანებით უნდა იყოს დაკავშირებული GND– ს არდუინოს დაფაზე. აქ არის ერთი მნიშვნელოვანი შენიშვნა: ჰოლის ეფექტის სენსორები არის ყოვლისმომცველი, რაც იმას ნიშნავს, რომ არ აქვს მნიშვნელობა მაგნიტის რომელი პოლუსი იქნება სენსორთან ახლოს, ის გამოაგზავნის 0 მონაცემს, სანამ ახლოსაა მაგნიტური ველი და 1 როდესაც არ არის, კერძოდ, მაგნიტი მოშორებულია (ვთქვათ 5 სმ) სენსორიდან.
3. მოამზადეთ მსგავსი 21x21 სმ მუყაო და დააფიქსირეთ მასზე Arduino Mega და გრძელი პურის დაფა. თქვენ ასევე შეგიძლიათ მუყაოსგან კვლავ მოაჭრათ ნებისმიერი სასურველი სიმაღლის 4 კედელი და ვერტიკალურად დააწებოთ ისინი 21x21 სმ კვადრატული დაფის ამ ორი ფენით. შემდეგ მიყევით Fritzing Schematics– ს, რომ შექმნათ საქმეები. თქვენ ასევე შეგიძლიათ დააყენოთ RFID მკითხველი LED- ების და ჰოლის ეფექტის სენსორების დასრულების შემდეგ.
4. შეამოწმეთ მუშაობს თუ არა ყველა LED და სენსორი, სიგნალების გაგზავნით ძირითადი კოდების გამოყენებით. არ მოერიდოთ ამ ნაბიჯს, რადგან ის საშუალებას მოგცემთ შეამოწმოთ მუშაობს თუ არა ყველაფერი სწორად და გადადით დაფის შემდგომ მშენებლობაზე.
5. მოამზადეთ სალომბარდე და დედოფალი, ქვემოთ 10 სმ რადიუსის ორი მაგნიტით, ასევე მრგვალი RFID ტეგებით. მოგვიანებით, თქვენ უნდა წაიკითხოთ იმ ტეგების ID– ები სერიული ეკრანიდან Arduino IDE– ზე.
6. თუ ყველაფერი მშვენივრად მუშაობს, თქვენ შეგიძლიათ დაიწყოთ მთავარი კოდი და სცადოთ ყველაფერი!
7 (სურვილისამებრ). თქვენ შეგიძლიათ შეასრულოთ მხატვრული სამუშაო ხეზე, რაც თქვენს დემო -ს უფრო ბუნებრივ ხედს მისცემს. ეს დამოკიდებულია თქვენს ნებაზე და წარმოსახვაზე.
ნაბიჯი 6: რამდენიმე ფოტო და ვიდეო სხვადასხვა ეტაპიდან
ნაბიჯი 7: წყაროს კოდი
ახლა, როდესაც ჩვენ დავასრულებთ პროტოტიპს, ჩვენ მზად ვართ გავაცოცხლოთ ის ქვემოთ Arduino კოდით. შევეცადე რაც შეიძლება მეტი კომენტარი დავტოვო, რათა კოდის ანალიზის პროცესი გასაგები გამხდარიყო. სიმართლე გითხრათ, ლოგიკა შეიძლება ერთი შეხედვით ცოტა რთული ჩანდეს, მაგრამ თუ კოდის ლოგიკას უფრო ღრმად ჩაუღრმავდებით, ის უფრო ყოვლისმომცველი გამოიყურება.
შენიშვნა: რეალური ჭადრაკის დაფის მსგავსად, მე აბსტრაქტულად ვითვლიდი კვადრატებს A1, A2, A3, A4, B1,…, C1,…, D1,.., D4. თუმცა, კოდში არ არის პრაქტიკული ამ აღნიშვნის გამოყენება. ამიტომ გამოვიყენე მასივები და წარმოვადგინე კვადრატები, როგორც 00, 01, 02, 03, 10, 11, 12, 13,…, 32, 33 შესაბამისად.
Გმადლობთ ყურადღებისთვის! გამოსცადეთ ყველაფერი და იყავით თავისუფლად დაწერეთ კომენტარებში ნებისმიერი სახის შეცდომების შესახებ, რომლებიც მენატრება, გაუმჯობესება, წინადადებები და ა.შ..com) ან დაამატეთ სკაიპში (tahir.miriyev9r1), ასე რომ ჩვენ შეგვიძლია დავგეგმოთ საუბარი და განვიხილოთ საკითხები დეტალურად. Საუკეთესო სურვილებით!