როგორ უნდა ავაშენოთ რობოტული მკლავი მცირე ფულით

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

რა არის რობოტიანი მკლავი

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

რობოტული მკლავის ფუნქციები

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

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

მისი მშენებლობისთვის საჭირო მასალები

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

  1. Თეფში  Arduino UNO REV3 ან უფრო მაღალი.
  2. ორი განვითარების დაფა.
  3. პარალელურად ორი ღერძი სერვო
  4. ორი მიკრო სერვისი
  5. პარალელურად ორი ანალოგური კონტროლი
  6. Jumper კაბელები განვითარების დაფებისთვის.
  7. წებოვანი ლენტი
  8. მუყაო ან ქაფის დაფა სტენდისთვის.
  9. საჭრელი და მაკრატელი.
  10. დიდი მოთმინება.

ასამბლეა

ამ რობოტული მკლავის აწყობა საკმაოდ მარტივია. ჯერ ქაფით უნდა გამოვჭრათ ორი მართკუთხედი; თითოეული ეს მართკუთხედი იქნება რობოტული მკლავის ნაწილები. როგორც სურათებზე ხედავთ, ეს მართკუთხედები უნდა იყოს ჩვენი სასურველი ზომა, თუმცა ამის გაკეთება რეკომენდებულია ერთი მათგანის ზომაა 16,50 x 3,80 სმ. ხოლო მეორე მართკუთხედს აქვს შემდეგი ზომა 11,40 x 3,80 სმ.
სერვომოტორის მოთავსება რობოტულ მკლავზე.

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

რობოტული მკლავის ნაწილების შეერთება

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

რობოტული მკლავის ბაზა

ახლა ჩვენ უნდა დავუკავშიროთ ყველა ძრავას Arduino დაფაზე. პირველ რიგში, ჩვენ უნდა დაუკავშიროთ კავშირები განვითარების დაფაზე და ეს Arduino დაფაზე. ჩვენ დავაკავშირებთ შავ მავთულს GND პინთან, წითელ მავთულს დავაკავშირებთ 5V პინს და ყვითელ ხაზებს -11, -10, 4 და -3. ასევე, რობოტის მკლავის ჯოისტიკებს ან მართვის საშუალებებს დავაკავშირებთ Arduino დაფაზე, ამ შემთხვევაში, როგორც სურათი გვიჩვენებს:

რობოტული მკლავის შეერთების სქემა

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

მუშაობისთვის საჭირო პროგრამა

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

ეს მოგვარდება Arduino დაფის ჩვენს კომპიუტერთან დამაკავშირებლად და ჩვენ ვხსნით პროგრამას Arduino IDE, ჩვენ კომპიუტერს ვუკავშირდებით დაფაზე და ცარიელ ფაილში ვწერთ შემდეგ კოდს:

#include <Servo.h>

const int servo1 = 3;       // first servo

const int servo2 = 10;      // second servo

const int servo3 = 5;       // third servo

const int servo4 = 11;      // fourth servo

const int servo5 = 9;       // fifth servo

const int joyH = 2;        // L/R Parallax Thumbstick

const int joyV = 3;        // U/D Parallax Thumbstick

const int joyX = 4;        // L/R Parallax Thumbstick

const int joyP = 5;        // U/D Parallax Thumbstick

const int potpin = 0;      // O/C potentiometer

int servoVal;           // variable to read the value from the analog pin

Servo myservo1;  // create servo object to control a servo

Servo myservo2;  // create servo object to control a servo

Servo myservo3;  // create servo object to control a servo

Servo myservo4;  // create servo object to control a servo

Servo myservo5;  // create servo object to control a servo

void setup() {

// Servo

myservo1.attach(servo1);  // attaches the servo

myservo2.attach(servo2);  // attaches the servo

myservo3.attach(servo3);  // attaches the servo

myservo4.attach(servo4);  // attaches the servo

myservo5.attach(servo5);  // attaches the servo

// Inizialize Serial

Serial.begin(9600);

}

void loop(){

servoVal = analogRead(potpin);

servoVal = map(servoVal, 0, 1023, 0, 179);

myservo5.write(servoVal);

delay(15);

// Display Joystick values using the serial monitor

outputJoystick();

// Read the horizontal joystick value  (value between 0 and 1023)

servoVal = analogRead(joyH);

servoVal = map(servoVal, 0, 1023, 0, 180);     // scale it to use it with the servo (result  between 0 and 180)

myservo2.write(servoVal);                         // sets the servo position according to the scaled value

// Read the horizontal joystick value  (value between 0 and 1023)

servoVal = analogRead(joyV);

servoVal = map(servoVal, 0, 1023, 70, 180);     // scale it to use it with the servo (result between 70 and 180)

myservo1.write(servoVal);                           // sets the servo position according to the scaled value

delay(15);                                       // waits for the servo to get there

// Read the horizontal joystick value  (value between 0 and 1023)

servoVal = analogRead(joyP);

servoVal = map(servoVal, 0, 1023, 70, 180);     // scale it to use it with the servo (result between 70 and 180)

myservo4.write(servoVal);                           // sets the servo position according to the scaled value

delay(15);                                       // waits for the servo to get there

// Read the horizontal joystick value  (value between 0 and 1023)

servoVal = analogRead(joyX);

servoVal = map(servoVal, 0, 1023, 70, 180);     // scale it to use it with the servo (result between 70 and 180)

myservo3.write(servoVal);                           // sets the servo position according to the scaled value

delay(15);                                       // waits for the servo to get there

/**

* Display joystick values

*/

void outputJoystick(){

Serial.print(analogRead(joyH));

Serial.print ("---");

Serial.print(analogRead(joyV));

Serial.println ("----------------");

Serial.print(analogRead(joyP));

Serial.println ("----------------");

Serial.print(analogRead(joyX));

Serial.println ("----------------");

}

ჩვენ ვინახავთ მას და ამის შემდეგ ვუგზავნით თეფშს Arduino UNO. კოდის დასრულებამდე ჩვენ ჩავატარებთ შესაბამის ტესტებს ჯოისტიკების მუშაობის დასადასტურებლად და რომ კოდი არ შეიცავს შეცდომებს.

მე უკვე დამონტაჟებული მაქვს, ახლა რა?

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

Მეტი ინფორმაცია - Instructables


სტატიის შინაარსი იცავს ჩვენს პრინციპებს სარედაქციო ეთიკა. შეცდომის შესატყობინებლად დააჭირეთ ღილაკს აქ.

კომენტარი დატოვე შენი

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი გამოქვეყნებული არ იყო. აუცილებელი ველები აღნიშნულია *

*

*

  1. მონაცემებზე პასუხისმგებელი: მიგელ ანგელ გატონი
  2. მონაცემთა მიზანი: სპამის კონტროლი, კომენტარების მართვა.
  3. ლეგიტიმაცია: თქვენი თანხმობა
  4. მონაცემთა კომუნიკაცია: მონაცემები არ გადაეცემა მესამე პირებს, გარდა სამართლებრივი ვალდებულებისა.
  5. მონაცემთა შენახვა: მონაცემთა ბაზა, რომელსაც უმასპინძლა Occentus Networks (EU)
  6. უფლებები: ნებისმიერ დროს შეგიძლიათ შეზღუდოთ, აღადგინოთ და წაშალოთ თქვენი ინფორმაცია.

  1.   Jorge Garcia დიჯო

    ნამდვილად 3D ბეჭდვა დიდი ნივთების კარია. მე ვმუშაობდი Lion 2-თან საკუთარ დიზაინზე და შედეგებმა აღაფრთოვანა. მას შემდეგ, რაც მირჩიეს ამის შესახებ წერა http://www.leon-3d.es ეს უკვე მიიპყრო ჩემი ყურადღება და როდესაც ვცადე და თვითმხილველების და დეტალების მოწმე ვიყავი საბოლოო შედეგში, ვიცოდი რა კარგი ინვესტიცია ჩავდგი.