Სარჩევი:

არდუინო - Maze Solutions Robot (MicroMouse) კედლის შემდგომი რობოტი: 6 ნაბიჯი (სურათებით)
არდუინო - Maze Solutions Robot (MicroMouse) კედლის შემდგომი რობოტი: 6 ნაბიჯი (სურათებით)

ვიდეო: არდუინო - Maze Solutions Robot (MicroMouse) კედლის შემდგომი რობოტი: 6 ნაბიჯი (სურათებით)

ვიდეო: არდუინო - Maze Solutions Robot (MicroMouse) კედლის შემდგომი რობოტი: 6 ნაბიჯი (სურათებით)
ვიდეო: The Fastest Maze-Solving Competition On Earth 2024, ივლისი
Anonim
არდუინო | Maze Solutions Robot (MicroMouse) კედლის შემდგომი რობოტი
არდუინო | Maze Solutions Robot (MicroMouse) კედლის შემდგომი რობოტი
არდუინო | Maze Solutions Robot (MicroMouse) კედლის შემდგომი რობოტი
არდუინო | Maze Solutions Robot (MicroMouse) კედლის შემდგომი რობოტი
არდუინო | Maze Solutions Robot (MicroMouse) კედლის შემდგომი რობოტი
არდუინო | Maze Solutions Robot (MicroMouse) კედლის შემდგომი რობოტი
არდუინო | Maze Solutions Robot (MicroMouse) კედლის შემდგომი რობოტი
არდუინო | Maze Solutions Robot (MicroMouse) კედლის შემდგომი რობოტი

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

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

ნაწილები
ნაწილები
ნაწილები
ნაწილები
ნაწილები
ნაწილები

უპირველეს ყოვლისა, თქვენ უნდა იცოდეთ რასთან გაქვთ საქმე.

რობოტები = ელექტროენერგია + აპარატურა + პროგრამული უზრუნველყოფა 1- ელექტროენერგია: ბატარეებს აქვთ მრავალი მახასიათებელი, თქვენ მხოლოდ უნდა იცოდეთ რამდენი დენი და ძაბვა გჭირდებათ.

2- აპარატურა: "სხეული, ძრავა, ძრავის მძღოლი, სენსორები, მავთულები და კონტროლერი" თქვენ უნდა მიიღოთ მხოლოდ მნიშვნელოვანი ნაწილები, რომლებიც ასრულებენ დავალებას, არ არის საჭირო ძვირადღირებული კონტროლერის მიღება მარტივი დავალებისთვის.

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

Სიის ნაწილი:

  1. Arduino UNO
  2. 12v DC ძრავები (x2)
  3. ბორბლები (x2)
  4. ძრავის მძღოლი (L298N)
  5. დისტანციის სენსორი (ულტრაბგერითი)
  6. მავთულები
  7. 12 ვ ბატარეა (1000 mAh)

ინსტრუმენტების სია:

  1. ბატარეის დამტენი
  2. აკრილის ფურცელი
  3. გასაყიდი რკინა
  4. მავთულის საჭრელი
  5. ნეილონის Zip გადატანა

დამატებითი გართობისთვის შეგიძლიათ გამოიყენოთ LED- ები მის გასანათებლად, მაგრამ ეს არ არის ძალიან მნიშვნელოვანი.

ნაბიჯი 2: სხეულის დიზაინი

სხეულის დიზაინი
სხეულის დიზაინი
სხეულის დიზაინი
სხეულის დიზაინი
სხეულის დიზაინი
სხეულის დიზაინი

მთავარი იდეა იყო სხეულის ზემოთ ნაწილების დალაგება და ნეილონის Zip Wrap– ის სტაბილიზაცია Arduino– სთვის, ხოლო მავთულები დანარჩენებს სტაბილიზაციას გაუწევს მათი მსუბუქი წონის წყალობით.

მე გამოვიყენე CorelDRAW სხეულის შესაქმნელად და მე გავაკეთე დამატებითი ხვრელები მომავალი ცვლილებების შემთხვევაში.

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

PDF ფაილი და CorelDRAW ფაილი თან ერთვის.

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

ნაბიჯი 3: განხორციელება (შენობა)

განხორციელება (შენობა)
განხორციელება (შენობა)
განხორციელება (შენობა)
განხორციელება (შენობა)
განხორციელება (შენობა)
განხორციელება (შენობა)

დიზაინმა გაადვილა სხეულზე სენსორების დაფიქსირება.

ნაბიჯი 4: გაყვანილობა

გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა

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

მინდა ავხსნა "ულტრაბგერითი სენსორი"

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

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

  1. GND პინი დაკავშირებულია მიწასთან.
  2. VCC pin უკავშირდება პოზიტივს (5v).
  3. ექოს პინი უკავშირდება არდუინოს. (შეარჩიეთ ნებისმიერი პინი და დააკავშირეთ იგი კოდთან)
  4. TRIG პინი უკავშირდება არდუინოს. (შეარჩიეთ ნებისმიერი პინი და დააკავშირეთ იგი კოდთან)

თქვენ შექმნით საერთო საფუძველს და დაუკავშირებთ მას ყველა GND (სენსორები, არდუინო, დრაივერი) ყველა საფუძველი უნდა იყოს დაკავშირებული.

Vcc ქინძისთავებისთვის ასევე დაუკავშირეთ 3 სენსორი 5v პინთან

(შეგიძლიათ დააკავშიროთ ისინი Arduino– სთან ან მძღოლთან, მე გირჩევთ მძღოლს)

შენიშვნა: არ დაუკავშიროთ სენსორები 5 ვ -ზე მაღალ ძაბვას, წინააღმდეგ შემთხვევაში ის დაზიანდება.

საავტომობილო მძღოლი

L298N H- ხიდი: ეს არის IC, რომლის საშუალებითაც შეგიძლიათ აკონტროლოთ ორი DC ძრავის სიჩქარე და მიმართულება, ან მარტივად გააკონტროლოთ ერთი ბიპოლარული სტეპერი. L298N H- ხიდის დრაივერი შეიძლება გამოყენებულ იქნას ძრავებთან, რომლებსაც აქვთ ძაბვა შორის 5 და 35V DC.

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

განიხილეთ სურათი - შეადარეთ რიცხვები სურათის ქვემოთ მოცემულ სიას:

  1. DC ძრავა 1 "+"
  2. DC ძრავა 1 "-"
  3. 12v jumper - ამოიღეთ ეს, თუ იყენებთ კვების ძაბვას, რომელიც აღემატება 12v DC- ს. ეს შესაძლებელს ხდის ბორტზე 5 ვ რეგულატორს
  4. შეაერთეთ თქვენი ძრავის ძაბვა აქ, მაქსიმუმ 35v DC.
  5. GND
  6. 5 ვ გამომავალი თუ 12 ვ ჯუმპერია ადგილზე
  7. DC საავტომობილო 1 ჩართეთ jumper. ამოიღეთ jumper და დაკავშირება PWM გამომავალი DC საავტომობილო სიჩქარის კონტროლი.
  8. IN1 მიმართულების კონტროლი
  9. IN2 მიმართულების კონტროლი
  10. IN3 მიმართულების კონტროლი
  11. IN4 მიმართულების კონტროლი
  12. DC ძრავა 2 ჩართავს ჯუმბერს. ამოიღეთ ჯუმპერი და დაუკავშირდით PWM გამომავალს DC ძრავის სიჩქარის კონტროლისთვის
  13. DC ძრავა 2 "+"
  14. DC ძრავა 2 "-"

შენიშვნა: ეს დრაივერი იძლევა 1 არხს თითო არხზე, მეტი დენის გადინება დააზიანებს IC- ს.

ბატარეა

მე გამოვიყენე 12 ვ ბატარეა 1000 mAh.

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

განტვირთვის დრო ძირითადად არის Ah ან mAh რეიტინგი გაყოფილი დენზე.

ასე რომ, 1000mAh ბატარეისთვის, რომელსაც აქვს 300mA დატვირთვა, თქვენ გაქვთ:

1000/300 = 3.3 საათი

თუ უფრო მეტ დენს გაწურავთ დრო შემცირდება და ასე შემდეგ. შენიშვნა: დარწმუნდით, რომ თქვენ არ გადააჭარბებთ ბატარეის დატენვის დენს, წინააღმდეგ შემთხვევაში ის დაზიანდება.

ასევე კვლავ შექმენით საერთო საფუძველი და დაუკავშირეთ მას ყველა GND (სენსორები, არდუინო, დრაივერი) ყველა საფუძველი უნდა იყოს დაკავშირებული.

ნაბიჯი 5: კოდირება

კოდირება
კოდირება
კოდირება
კოდირება

ეს ფუნქციები გადავიღე და გამიხარდა ამ რობოტის კოდირება.

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

ლურჯი ლაბირინთი იყენებს მარჯვენა კედელს ალგორითმის შესაბამისად.

წითელი ლაბირინთი იყენებს მარცხენა კედელს ალგორითმის შესაბამისად.

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

კოდის ნაკადი:

  1. ქინძისთავების განსაზღვრა
  2. გამომავალი და შემავალი ქინძისთავების განსაზღვრა
  3. შეამოწმეთ სენსორების კითხვა
  4. გამოიყენეთ სენსორების კითხვა კედლების დასადგენად
  5. შეამოწმეთ პირველი მარშრუტი (თუ ის მარცხნივ იყო შემდეგ მიჰყევით მარცხენა კედელს, თუ ის მარჯვნივ მიყევით მარჯვენა კედელს)
  6. გამოიყენეთ PID, რათა თავიდან აიცილოთ კედლებზე დარტყმა და გააკონტროლოთ ძრავის სიჩქარე

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

მიჰყევით ამ ბმულს კოდისთვის.

create.arduino.cc/editor/is7aq_shs/391be92…

მიჰყევით ამ ბმულს ბიბლიოთეკისა და Arduino კოდის ფაილის სანახავად.

github.com/Is7aQ/Maze-Solving-Robot

ნაბიჯი 6: გაერთეთ

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

ელ.ფოსტა: [email protected]

გირჩევთ: