Სარჩევი:

ARCA (Adorable Remote Controlled Android): 4 ნაბიჯი (სურათებით)
ARCA (Adorable Remote Controlled Android): 4 ნაბიჯი (სურათებით)

ვიდეო: ARCA (Adorable Remote Controlled Android): 4 ნაბიჯი (სურათებით)

ვიდეო: ARCA (Adorable Remote Controlled Android): 4 ნაბიჯი (სურათებით)
ვიდეო: И ЭТО ТОЖЕ ДАГЕСТАН? Приключения в долине реки Баараор. БОЛЬШОЙ ВЫПУСК (Путешествие по Дагестану #3) 2024, ნოემბერი
Anonim
ARCA (მომხიბლავი დისტანციური მართვის Android)
ARCA (მომხიბლავი დისტანციური მართვის Android)
ARCA (მომხიბლავი დისტანციური მართვის Android)
ARCA (მომხიბლავი დისტანციური მართვის Android)
ARCA (მომხიბლავი დისტანციური მართვის Android)
ARCA (მომხიბლავი დისტანციური მართვის Android)

ეს ინსტრუქცია შეიქმნა სამხრეთ ფლორიდის უნივერსიტეტის მაკიაჟის პროექტის მოთხოვნების შესასრულებლად (www.makecourse.com).

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

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

ამ გაკვეთილში გამოყენებული ყველა ფაილის უახლესი ვერსიები შეგიძლიათ ნახოთ ჩემს Github ARCA საცავში.

ნაბიჯი 1: ნაწილების სია და 3D ბეჭდვა

ნაწილების სია და 3D ბეჭდვა
ნაწილების სია და 3D ბეჭდვა
ნაწილების სია და 3D ბეჭდვა
ნაწილების სია და 3D ბეჭდვა

ამ პროექტის ნაწილები შეიძლება იყოს 3D ბეჭდვით ან შეძენილი ონლაინ რეჟიმში. როდესაც შეკრებაზე ვფიქრობდი, მინდოდა ეფექტურობის გასაღები გამეკეთებინა და ასევე ვცდილობდი (მთლად სიტყვასიტყვით) ხელახლა არ გამომეგონა საჭე. ამ პროექტისათვის გამოყენებული 3D პრინტერი იყო Makerbot Replicator, თუ გსურთ დარწმუნდეთ, რომ თქვენი 3D ანაბეჭდები შეესაბამება ჩემსას, გამოიყენეთ ეს პრინტერი.

სტრუქტურული კომპონენტები

  • ყუთი ბორბლებისა და იარაღის გვერდებზე
  • ყუთის სახურავი უკანა ბორბლების ხვრელებით და ხვრელი IR სენსორისთვის
  • Მარცხენა მკლავი
  • Მარჯვენა მკლავი
  • ღერძი ორი უკანა ბორბლისთვის
  • ორი ღერძი კონექტორი სახურავის აქსელთან დასაკავშირებლად
  • 4 ბორბალი (ძრავები ასევე შედის ამ ბმულში)
  • მცირე ხრახნები (ძრავებში ჩასასმელად)

ელექტრო კომპონენტები

  • არდუინო უნო
  • მცირე ზომის დაფა (შევიძინე არდუინოს ნაკრები და მოვიდა მასთან ერთად)
  • ორი MAX7219 წითელი წერტილოვანი მატრიცა MCU კონტროლით
  • ინფრაწითელი მიმღები და დისტანციური
  • ორი TIP 120 ტრანზისტორი
  • დამაკავშირებელი მავთულები (მე ვიყენებდი ბევრ მამაკაცს მდედრის მავთულხლართებს, ასევე მამაკაცს მამაკაცს და გირჩევთ მიიღოთ გრძელი მავთულები მოკლე მავთულისგან განსხვავებით)
  • ერთი 220 ohm რეზისტორი
  • ორი სიჩქარის ძრავა
  • USB დაკავშირებადი დენის პაკეტები (პორტატული, რომლებიც გამოიყენება მობილური ტელეფონებისთვის)

ნაბიჯი 2: შეკრება

შეკრება
შეკრება
შეკრება
შეკრება
შეკრება
შეკრება

სტრუქტურული ასამბლეა

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

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

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

დანარჩენი ასამბლეა საკმაოდ წინ არის:

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

ელექტრული ასამბლეა

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

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

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

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

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

ნაბიჯი 3: პროგრამირება

პროგრამირება
პროგრამირება

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

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

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

შემდეგი, მე განვსაზღვრე ემოციები, გამოვაცხადე საჭირო ობიექტები IR სენსორისთვის და 8 -დან 8 LED ეკრანზე და განვსაზღვრე რამდენიმე გლობალური ცვლადი. ემოციები გამოცხადებულია ბაიტის მასივში, სადაც მასივის თითოეული ექვსმეტე ნომერი წარმოადგენს სტრიქონებს 8 -დან 8 -მდე ჩვენებაზე. თქვენი ინდივიდუალური ემოციების შესაქმნელად, მე გირჩევთ გამოხატოთ ის ემოცია, რაც გინდოდათ 8 -დან 8 -ის ბადეში და შემდეგ ჩაწერეთ თითოეული მწკრივი 8 ბიტიანი ორობითი რიცხვი, სადაც შუქი არის 0 და ნათურა არის 1 და შემდეგ შექმენით აქედან თექვსმეტობითი რიცხვი და ჩადეთ იგი სიგრძის მასივში 8. მე ასევე განვსაზღვრა გლობალური ცვლადები მარყუჟში გამოსაყენებლად; მოციმციმე მექანიზმის ცვლადები და მითითებები ემოციების შესანახად და მათი დაწყება ნეიტრალურიდან.

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

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

დაბოლოს, თქვენ გაქვთ ფუნქცია, რომელიც ანაწილებს ემოციებს 8 – დან 8 ეკრანზე. ეს იყენებს setRow ფუნქციებს LED კონტროლის ბიბლიოთეკიდან და უბრალოდ გადის თქვენს მიერ შექმნილ მასივებს და შესაბამისად ადგენს რიგებს. მას აქვს ორი პარამეტრი: მასივი მარცხენა თვალისთვის და მასივი მარჯვენა თვალისთვის. ეს შეიძლება იყოს ბაიტის მაჩვენებელი ან თავად ბაიტის მასივი (ანუ სახელი "ნეიტრალური"), რომელიც მოქმედებს როგორც მაჩვენებელი.

ნაბიჯი 4: ბონუს რჩევები და ხრიკები

ბონუს რჩევები და ხრიკები
ბონუს რჩევები და ხრიკები

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

  • არსებობს უამრავი ონლაინ რესურსი Arduino– სთვის და ჩემი აზრით ყველაზე სასარგებლო არის Arduino– ს ვებ – გვერდიდან მათი მკაფიო და ლაკონური კოდის მაგალითების გამო.
  • ნუ ხელახლა გამოიგონებთ საჭეს, არის ბევრი ნაკრები და წინასწარ აშენებული ნაჭერი, რომლის გამოყენებაც შეგიძლიათ თქვენი პროექტის გასაადვილებლად. მე ვარ პროგრამისტი და არა მექანიკური ინჟინერი და გამიჭირდა იმის გარკვევა, თუ როგორ ვაპირებდი ამ რობოტის წასვლას, მაგრამ ადვილი იყო ინტერნეტში რაღაცის პოვნა და მისი დიზაინში განხორციელება. საჭე
  • ბიბლიოთეკები თქვენი მეგობრები არიან არდუინოში, ისევე როგორც ყველა ობიექტზე ორიენტირებულ ენაზე და ისინი არსებობენ მიზეზის გამო. დააკავშირე ეს მიკროკონტროლერებთან და 8-დან 8-მდე LED პროგრამირება მარტივია. მე უკვე დაპროგრამებული მაქვს ერთი ხელით და მხოლოდ ერთი იყენებს Arduino– ს ყველა პინს და მოითხოვს ტონა კოდს. ძალიან არეული და არც ისე სახალისო.
  • 3D პრინტერები მაგარია, მაგრამ არ არის სრულყოფილი და კარგია, რომ რაღაცეების ქვიშა მოგიწიოთ. თქვენ გირჩევნიათ უფრო დიდი გახდეთ 3D ბეჭდვის გამო ამ მიზეზით, რადგან უმეტეს შემთხვევაში შეგიძლიათ ოდნავ მოაყაროთ იგი სრულყოფილი მორგებისთვის.
  • სიმძლავრე შეიძლება იყოს პრობლემა, რადგან ვფიქრობდი, რომ ენერგიის მოხმარება მართლაც ბოლო წუთს მოხდა და მეგონა, რომ 5 ვ ბატარეა გამოირჩეოდა. შემდეგ, როგორც ჩანს, შემთხვევით, ზოგჯერ ძრავა ან LED დისპლეი არ იმუშავებს. მას შემდეგ რაც ელექტროენერგიის პაკეტზე გადავედი, პრობლემა აღარ იყო, მიუხედავად იმისა, რომ რობოტში უფრო მოცულობითი ვიყავი.

გირჩევთ: