ขอให้เป็นวันที่ดีสำหรับทุกคน! บทความนี้จะทุ่มเทให้กับคนรักของอิเล็กทรอนิกส์หุ่นยนต์เช่นเดียวกับคนที่มีลักษณะที่ไม่ได้มาตรฐานในสิ่งรอบ!
ดังนั้นตอนนี้ฉันจะพยายามอธิบายกระบวนการสร้างการชุมนุมอย่างชัดเจนที่สุด หุ่นยนต์ กับ อิเล็กทรอนิกส์ การบรรจุคือใน Arduino! ไปกันเถอะ!
สิ่งที่เราต้องการ:
ห่วงสามสาย (3 ชิ้น) ขอแนะนำให้ใช้เวลาจริงมากขึ้น
สายสามัญ
มิเตอร์
ตัวต้านทาน (220 โอห์ม)
ปุ่ม
ช่องใส่แบตเตอรี่
คณะกรรมการการสร้างต้นแบบ
แน่นอนตัวเอง arduinka
และยังมีบอร์ดขยายตัวอีกด้วย - คล้าย ๆ MultiservoShieldเพื่อควบคุมเซอร์โวจำนวนมาก
และอีกต่อไป นักออกแบบซึ่งจะเป็นพื้นฐานของหุ่นยนต์ของเราดังนั้นจึงแนะนำให้เลือก "แข็งแรง"
จากเครื่องมือที่คุณต้องการ:
ชุดไขควงกุญแจ ฯลฯ
เช่นเดียวกับหัวแร้งบัดกรีและฟลักซ์
เริ่มกันเลยดีกว่า!
ขั้นตอนที่ 1 การประดิษฐ์ของกรอบหลัก
ในการเริ่มต้นสะสม "ตัวอักษรสองตัว H" ดูเหมือนว่า:
แล้วการก่อสร้างที่เรา หุ่นยนต์ จะยืน มันไม่จำเป็นเท่าที่เห็นในภาพตามดุลยพินิจของคุณ .. มันกลับกลายเป็นเช่นนี้:
เราติดตั้ง "N" ของเราบนการสนับสนุน
จากด้านล่างเราขันน็อตให้แน่น
ในอีก "H" เราแก้ไขเซอร์โวตัวแรกซึ่งมีหน้าที่เปลี่ยนหัวของหุ่นยนต์ในอนาคตของเรา
มันกลับกลายเป็นดังนี้:
เกือบเฟรมพร้อมแล้ว! มันยังคงยึดโครงสร้างทั้งสองด้วยแผ่นโลหะและให้ความสูงของหุ่นยนต์!
ขั้นตอนที่ # 2: สร้างเฟรมสำหรับหูหุ่นยนต์ในอนาคต
ในการทำเช่นนี้เราจำเป็นต้องรวบรวมโครงสร้างที่คล้ายกันสองโครงสร้างและแก้ไขเซอร์โวบนโครงสร้างดังที่แสดงในภาพ:
จากนั้นใช้สลักเกลียวและถั่วเชื่อมต่อกับเฟรมหลัก มันจะเปิดออกดังต่อไปนี้:
มุมมองด้านบน:
ต้นแบบของหุ่นยนต์บางตัวเกือบพร้อมแล้ว! ไปข้างหน้า ..
ขั้นตอนที่ # 3 ทำให้ตาและหัวทั้งหมดของหุ่นยนต์ของเรา!
สำหรับเรื่องนี้ฉันใช้เครื่องเก่าจากอินเตอร์คอม โดยส่วนตัวแล้วเธอทำให้ฉันนึกถึงใบหน้า! ดูเพิ่มเติม ..
เราสร้างสองรูและยึดโยกสำหรับเซอร์โวกับท่อ
เราติดไฟ LED ที่ด้านข้างทันทีและประสานสายไฟเข้ากับพวกเขา
ฉันใช้บาง ๆ
ขั้นตอนที่ # 4 การทำหู
เราจะใช้แคปธรรมดาจากกล่องเล็ก ๆ
ติดเก้าอี้โยกให้บริการด้วย
ตอนนี้เราแก้ไขส่วนของหุ่นยนต์บนเซิร์ฟเวอร์อย่างกล้าหาญ
เช่นนี้
มุมมองด้านบน:
ด้านหลัง:
โดยหลักการแล้วคุณสามารถเพลิดเพลินกับหุ่นยนต์ได้ในตอนนี้ แต่เราจะทำให้งานซับซ้อนขึ้น .. เราจะเปลี่ยนสายตาและหูของหุ่นยนต์โดยใช้โพเทนชิโอมิเตอร์และอาร์ดูกก้าของเรา
ขั้นตอนที่ # 5 อุปกรณ์อิเล็กทรอนิกส์
เมื่อรวมอาร์ดิโนเข้ากับชุดป้องกันหลายชุดเราจะใส่ลูปสามสายจากแต่ละเซอร์โวเข้ากับพิน 9, 10, 11 (หูซ้าย, หูข้างขวา, Cent หากคุณวางหุ่นยนต์หันหน้าเข้าหาเรา)
จากนั้นบนเขียงหั่นขนมเราติดตั้งโพเทนชิออมิเตอร์, ปุ่ม, ตัวต้านทาน .. มันจะมีลักษณะเช่นนี้, น่าเกลียดแน่นอน, แต่สิ่งสำคัญใช้งานได้)
รายละเอียดเพิ่มเติม!
วิธีติดตั้งปุ่ม:
เมื่อสายไฟสีขาวเป็นไฟฟ้าสีแดงคืออินพุตดิจิตอลของไมโครคอนโทรลเลอร์หมายเลข 6 และตัวต้านทานไปที่กราวด์ (สายสีเหลือง)
วิธีการติดตั้งโพเทนชิออมิเตอร์:
สายสีแดง - กำลังไฟ, สีเหลือง - ดิน, สีขาว - อินพุตแบบอะนาล็อกของไมโครคอนโทรลเลอร์หมายเลข 0 (เราเชื่อมต่อโพเทนชิโอมิเตอร์แบบอื่นในลักษณะเดียวกัน, เพียงอินพุตแบบอะนาล็อกของคอนโทรลเลอร์หมายเลข 1)
นอกจากนี้เรายังติดตั้งตัวต้านทานสำหรับไฟ LED บนบอร์ด:
กระแสจะถูกส่งจาก 3 และ 5 พินของอาร์ดิโนและจะผ่านสายสีเหลืองและสีดำและผ่านตัวต้านทานไปยังพื้นดิน (คอนโทรลเลอร์ GND)
โดยพื้นฐานแล้วทุกอย่างเราทำด้วยอุปกรณ์อิเล็กทรอนิกส์! มันยังคงเป็นเพียงการดาวน์โหลดต่อไป ร่าง และเล่นกับหุ่นยนต์ !!
#include
#include
Multiservo myservo1;
Multiservo myservo2;
Multiservo myservo3;
int b, k1, p1, p2;
int A = 0;
int i = 0;
m2 ที่ไม่ได้ลงชื่อยาว = 0;
m1 แบบไม่ลงนามที่มีความยาว = 0;
int r1 = 70;
int r2 = 110;
int r3 = 70;
int h1 = 0;
int h = 0;
การตั้งค่าเป็นโมฆะ ()
{
myservo1.attach (9); // หูข้างซ้าย
myservo2.attach (10); // หูข้างขวา
myservo3.attach (11); // ดวงตา
pinMode (6, INPUT); ปุ่ม //
pinMode (3, OUTPUT); // ดวงตาสว่างขึ้น PWM
pinMode (5, OUTPUT);
}
เป็นโมฆะห่วง ()
{
ในขณะที่ (A == 0) // วนลูปควบคุมด้วยตนเอง
{
b = digitalRead (6);
if (! b) k1 = 1;
ถ้า (b == 1 && k1 == 1)
{
ล่าช้า (10);
b = digitalRead (6);
ถ้า (b == 1 && k1 == 1)
{
A คือ 1;
k1 = 0;
}
}
p1 = int (analogRead (A0) / 6);
p2 = int (analogRead (A1) / 6);
myservo1.write (p1);
myservo2.write (p1);
myservo3.write (p2);
analogWrite (3, i);
analogWrite (5, i);
if (millis ()> = m1 + 70 && h1 == 0)
{
i = i + 4;
m1 = millis ();
ถ้า (i> 250) h1 = 1;
}
if (millis ()> = m1 + 70 && h1 == 1)
{
i = i-4;
m1 = millis ();
ถ้า (i == 0) h1 = 0;
}
}
ในขณะที่ (A == 1) // รอบการทำงานของหุ่นยนต์อัตโนมัติ
{
digitalWrite (13.0);
b = digitalRead (6);
if (! b) k1 = 1;
ถ้า (b == 1 && k1 == 1)
{
ล่าช้า (10);
b = digitalRead (6);
ถ้า (b == 1 && k1 == 1)
{
A คือ 0;
k1 = 0;
}
}
analogWrite (3, i);
analogWrite (5, i);
if (millis ()> = m1 + 70 && h1 == 0)
{
i = i + 4;
m1 = millis ();
ถ้า (i> 250) h1 = 1;
}
if (millis ()> = m1 + 70 && h1 == 1)
{
i = i-4;
m1 = millis ();
ถ้า (i == 0) h1 = 0;
}
if (millis ()> = m2 + 15 && h == 0)
{
myservo1.write (r1);
myservo2.write (r2);
myservo3.write (r3);
r1 = r1 + 1;
r2 = r2-1;
r3 = r3 + 1;
ถ้า (r1 == 110) h = 1;
m2 = millis ();
}
if (millis ()> = m2 + 15 && h == 1
{
myservo1.write (r1); // 110
myservo2.write (r2); // 70
myservo3.write (r3); // 110
r1 = r1-1;
r2 = r2 + 1;
r3 = r3-1;
ถ้า (r1 == 70) h = 0;
m2 = millis ();
}
}
}
รหัสค่อนข้างใหญ่ แต่เชื่อฉันว่ามันคุ้มค่า!
สั้น ๆ โปรแกรมนี้ทำอะไร:
เรามีปุ่มที่รับผิดชอบ 2 สถานะของระบบ: เราสามารถควบคุมหุ่นยนต์ด้วยตนเองหรือดำเนินการเคลื่อนไหวที่ลงทะเบียนไว้ล่วงหน้าแล้ว เมื่อกดปุ่มสถานะจะเปลี่ยนสำหรับเราและในรหัสจะมีการเปลี่ยนแปลง 2 รอบซึ่งจะมีการลงทะเบียนคำสั่งที่เกี่ยวข้อง ดวงตาของหุ่นยนต์ของเราสว่างขึ้นเรื่อย ๆ สว่างขึ้นและสว่างขึ้นแล้วจางหายไป นั่นคือเหตุผลที่เราได้ทำการขนานนาม LEDs ไปยังพินที่รองรับ PWM - การปรับความกว้างพัลส์
รูปถ่ายของหุ่นยนต์:
เล็ก บันทึกวิดีโออย่างไรและสิ่งที่กำลังหมุนในที่สุด:
สรุปแล้วฉันอยากจะบอกว่าแน่นอนหุ่นยนต์ตัวนี้สามารถนำมาพิจารณาเป็นเวลานาน แต่นี่เป็นรสนิยมของทุกคน ทำมัน! คิดค้น! เติบโต! ขอให้โชคดีทุกคน!