Სარჩევი:

ანიმატიკური თვალი: 7 ნაბიჯი
ანიმატიკური თვალი: 7 ნაბიჯი

ვიდეო: ანიმატიკური თვალი: 7 ნაბიჯი

ვიდეო: ანიმატიკური თვალი: 7 ნაბიჯი
ვიდეო: Полуночная охота Иннистрада: Открытие колоды заказов на изготовление конгрегационного маркера 2024, ნოემბერი
Anonim
Image
Image
ეს არის ის, რაც გჭირდებათ
ეს არის ის, რაც გჭირდებათ

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

ნაბიჯი 1: ეს არის ის, რაც გჭირდებათ

მასალები:

  • 2 თეთრი პინგ-პონგის ბურთი
  • წყლის გამაგრილებელი მრგვალი თავი

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

  • ცხელი წებოს იარაღი
  • მრგვალი წისქვილი
  • დაინახა
  • ჩაქუჩი

ნაბიჯი 2: თვალები

Თვალები
Თვალები
Თვალები
Თვალები
Თვალები
Თვალები

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

ხატავს და ბურღავს ხვრელებს.

ნაბიჯი 3: პარასკევს როტაცია

Image
Image
პარ. როტაცია
პარ. როტაცია
პარ. როტაცია
პარ. როტაცია

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

ნაბიჯი 4: ბაზა

Ბაზა
Ბაზა
Ბაზა
Ბაზა
Ბაზა
Ბაზა

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

ნაბიჯი 5: თვალების კონტროლი

თვალების კონტროლი
თვალების კონტროლი
თვალების კონტროლი
თვალების კონტროლი
თვალების კონტროლი
თვალების კონტროლი

ნაბიჯი 6: პროგრამა

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

დააკოპირეთ და ჩასვით პროგრამა თქვენს არდუინოს გარემოში.

#ჩართეთ

#განსაზღვრეთ pi 3.14159265358979323846 #განსაზღვრეთ twopi (2*pi) float circleradius = 50; // 50 თითოეულ მხარეს - აღარ გააკეთოთ თქვენი მაქსიმალური ზღვრული მნიშვნელობა float stepnumber = 360; float stepangle;

#მოიცავს // მოიცავს სერვო ბიბლიოთეკას სერვო კონტროლისთვის

Servo horServo; // servo მარცხენა/მარჯვენა მოძრაობისათვის Servo vertServo; // სერვო ზემოთ/ქვემოთ მოძრაობისათვის

ბაიტი შემთხვევითორი; // შემთხვევითი ჰორიზონტალური პოზიციის ცვლადი byte randomvert; // შემთხვევითი ვერტიკალური პოზიციის ცვლადის განსაზღვრა შემთხვევითი გადადება; // შემთხვევითი დაგვიანების ცვლადის განსაზღვრა

#define HLEFTLIMIT 40 // განსაზღვრეთ მარცხენა ზღვარი ჰორიზონტალურ (მარცხნივ/მარჯვნივ) servo #განსაზღვრეთ HRIGHTLIMIT 80 // განსაზღვრეთ მარჯვენა ლიმიტი ჰორიზონტალურ (მარცხნივ/მარჯვნივ) სერვოზე

#განსაზღვრეთ VTOPLIMIT 70 // განსაზღვრეთ ზედა ზღვარი ვერტიკალურ (ზემოთ/ქვემოთ) სერვოზე #განსაზღვრეთ VBOTLIMIT 110 // განსაზღვრეთ ქვედა ზღვარი ჰორიზონტალურ (ზემოთ/ქვემოთ) სერვოზე

void setup () {horServo.attach (8); // ჰორიზონტალური servo პინზე 8 vertServo.attach (9); // ვერტიკალური servo pin 9 randomSeed (analogRead (0)); // შექმენით შემთხვევითი მნიშვნელობები დაუკავშირებელი ანალოგური პინის გამოყენებით

stepangle = twopi/stepnumber; for (int i = 0; i

x = რუკა (x, 1-circleradius, circleradius, 0, 2*circleradius); y = რუკა (y, 1-roundradius, circleradius, 0, 2*circleradius);

horServo.write (x); // ჩაწერეთ ჰორიზონტალურ სერვოზე vertServo.write (y); // ჩაწერეთ ჰორიზონტალურ სერვოზე

დაგვიანება (10); }}

void loop () {randomhor = random (HLEFTLIMIT, HRIGHTLIMIT); // ლიმიტების დაყენება randomvert = შემთხვევითი (VTOPLIMIT, VBOTLIMIT); // ლიმიტების დაწესება randomdelay = random (1000, 4000); // მოძრაობს ყოველ 1 -დან 4 წამში

horServo.write (randomhor); // ჩაწერეთ ჰორიზონტალურ სერვოზე vertServo.write (randomvert); // ჩაწერეთ ვერტიკალური სერვო დაგვიანებით (შემთხვევითი გადადება); // გადადება შემთხვევითი დრო (ზემოთ მითითებული მნიშვნელობების ფარგლებში)}

გირჩევთ: