Makecourse USF: Arduino Candy Machine: 4 ขั้นตอน

Makecourse USF: Arduino Candy Machine: 4 ขั้นตอน

สารบัญ:

Anonim

คำสั่งนี้ถูกสร้างขึ้นตามความต้องการของโครงการของ Makecourse ที่มหาวิทยาลัยเซาท์ฟลอริดา (www.makecourse.com)

นี่คือเครื่องทำขนม Arduino ที่ใช้งานง่ายโดยใช้สเต็ปเปอร์มอเตอร์สองปุ่มและชิ้นงานพิมพ์ 3 มิติสี่ชิ้น ในคำสั่งนี้ไฟล์ทั้งหมดจะได้รับเช่นเดียวกับขั้นตอนกระบวนการอธิบายวิธีการสร้างโปรแกรมและนำเสนอเครื่องขนมเพื่อให้มันทำงานได้อย่างเต็มศักยภาพ

** หมายเหตุ: อย่าทิ้งไว้ในรถจะละลาย PLA และพิมพ์ผิดเพี้ยนถ้าร้อน

วัสดุ:

ขั้นตอนที่ 1: พิมพ์ชิ้นส่วน 3 มิติ

วิธีการทำงานของเครื่องจักรลูกกวาดคือขนมจะถูกส่งไปยังถังทรงกระบอกสั้นภายในเครื่อง ทรงกระบอกนี้มีรูสี่รูที่ถือขนมรอบ ๆ ด้านหน้าและจ่ายออกด้านหน้า กระบอกนี้มีก้านสั้นที่เชื่อมต่อกับมอเตอร์

สิ่งแรกที่คุณจะต้องทำคือพิมพ์ชิ้นพลาสติกสี่ชิ้นของเครื่องลูกอม เครื่องทำขนมมีสี่ส่วนพื้นฐาน ฐาน (ที่ขนมจ่าย; ภาพเป็นสีเหลือง), ส่วนตรงกลาง (ซึ่งเป็นที่ตั้งของมอเตอร์; วาดด้วยทองคำ), ด้านบน (ที่ขนมถูกวางลงในเครื่อง; สีม่วง), และสั้น ทรงกระบอก (สิ่งที่เชื่อมต่อกับเซอร์โวมอเตอร์ที่จ่ายลูกอม; ภายในเครื่อง)

หากคุณต้องการออกแบบเครื่องทำขนมของคุณเองพิมพ์ฟรีด้วยตัวคุณเอง ฉันใช้ Autodesk Inventor 2014 เพื่อออกแบบชิ้นงานของฉัน แต่คุณอาจจะมีสเต็ปเปอร์มอเตอร์ขนาดใหญ่กว่าซึ่งไม่เหมาะกับการออกแบบของฉัน คุณอาจต้องการใช้ขนมที่มีขนาดใหญ่กว่าที่ฉันเคยใช้ (M & M's)

ฉันใช้อีพ๊อกซี่พลาสติกเพื่อประสานชิ้นส่วนเข้าด้วยกันและเชื่อมต่อเซอร์โวกับกระบอกสูบด้วยกาวร้อนและทำงานได้ดี

ขั้นตอนที่ 2: ตั้งค่าวงจร

ภาพด้านบนเป็นวิธีการตั้งค่าวงจรสำหรับเครื่องทำขนม ต่อกับมอเตอร์สเต็ปเปอร์เข้ากับโมดูลมอเตอร์ จากที่นี่คุณเสียบปลั๊กไฟและกราวด์อินพุตเข้ากับปลั๊กไฟและกราวด์บนบอร์ดขนมปัง เสียบหมุดดิจิตอล 8-11 เข้ากับโมดูลมอเตอร์ตามลำดับ หลังจากนี้จะทำการติดตั้งสองปุ่มพื้นฐานและเสียบเหล่านี้เข้ากับขาดิจิตอล 2 และ 3 ในที่สุดใช้สายสองเส้นเพื่อเสียบบอร์ดขนมปังเข้ากับพื้นและพลังงาน นี่เป็นการตั้งค่าอย่างง่ายถ้าคุณทำตามไดอะแกรมคุณควรจะใช้ได้ แน่นอนคุณสามารถเล่นรอบกับการตั้งค่าวงจรให้เหมาะสมกับการออกแบบของคุณ

** ฉันมีสองปุ่มสำหรับไปข้างหน้าและย้อนกลับกล่องใส่ขนมที่ติดอยู่ในเครื่อง

ขั้นตอนที่ 3: รหัส

// Robert Core // การใช้สองปุ่มเพื่อควบคุมทิศทางของ stepper motor int button_1 = 2; // ปุ่ม 1 ถูกต่อเข้ากับพอร์ตดิจิตอล 2 int button_2 = 3; // ปุ่ม 2 ถูกต่อเข้ากับพอร์ตดิจิตอล 3 int motorPin1 = 8; // มอเตอร์พิน 1 เสียบเข้ากับพอร์ตดิจิตอล 8 int motorPin2 = 9; // มอเตอร์พิน 2 เสียบเข้ากับพอร์ตดิจิตอล 9 int motorPin3 = 10; // มอเตอร์สลัก 3 ถูกต่อเข้ากับพอร์ตดิจิตอล 10 int motorPin4 = 11; // motor pin 4 เสียบเข้ากับพอร์ตดิจิตอล 11 int motor_Speed ​​= 3; // บอกความเร็วของสเต็ปเปอร์มอเตอร์คือ int motor_Step; int val1 = 0; int val2 = 0; การตั้งค่าเป็นโมฆะ () {// ค่าอินพุตและเอาต์พุตของพิน pinMode (button_1, INPUT); pinMode (button_2, INPUT); pinMode (motorPin1, OUTPUT); pinMode (motorPin2, OUTPUT); pinMode (motorPin3, OUTPUT); pinMode (motorPin4, OUTPUT); } void loop () {val1 = digitalRead (button_1); // ถ้ากดปุ่ม 1 มอเตอร์จะไปตามเข็มนาฬิกาถ้า (val1 == สูง) {digitalWrite (motorPin1, HIGH); // pin มอเตอร์อยู่บน digitalWrite (motorPin2, LOW); // มอเตอร์พินปิด digitalWrite (motorPin3, LOW); // มอเตอร์พินถูกปิด digitalWrite (motorPin4, LOW); // มอเตอร์พินปิดการทำงานล่าช้า (motor_Speed); digitalWrite (motorPin1, LOW); // เข็มมอเตอร์ปิด digitalWrite (motorPin2, HIGH); // หมุดมอเตอร์อยู่บน digitalWrite (motorPin3, LOW); // หมุดมอเตอร์ปิด digitalWrite (motorPin4, LOW); // หมุดมอเตอร์ ปิดการหน่วงเวลา (motor_Speed); digitalWrite (motorPin1, LOW); // เข็มมอเตอร์ปิด digitalWrite (motorPin2, LOW); // หมุดมอเตอร์ปิด digitalWrite (motorPin3, HIGH) / // หมุดมอเตอร์อยู่บน digitalWrite (motorPin4, LOW); // หมุดมอเตอร์ ปิดการหน่วงเวลา (motor_Speed); digitalWrite (motorPin1, LOW); // หมุดมอเตอร์ปิด digitalWrite (motorPin2, LOW); // หมุดมอเตอร์ปิด digitalWrite (motorPin3, LOW); // หมุดมอเตอร์ปิด digitalWrite (motorPin4, HIGH); // หมุดมอเตอร์ อยู่ในความล่าช้า (motor_Speed); } val2 = digitalRead (button_2); // ถ้าปุ่ม 2 ถูกกดมอเตอร์จะไปทวนเข็มนาฬิกาถ้า (val2 == สูง) {digitalWrite (motorPin4, HIGH) / // หมุดมอเตอร์อยู่บน digitalWrite (motorPin3, LOW); // มอเตอร์ ขาปิด digitalWrite (motorPin2, LOW); // ขามอเตอร์ปิด digitalWrite (motorPin1, LOW); // ขามอเตอร์ปิดล่าช้า (motor_Speed); digitalWrite (motorPin4, LOW); // มอเตอร์ปิ่นปิด digitalWrite (motorPin3, HIGH); // หมุดมอเตอร์อยู่ใน digitalWrite (motorPin2, LOW); // หมุดมอเตอร์ปิด digitalWrite (motorPin1, LOW); // หมุดมอเตอร์ ปิดการหน่วงเวลา (motor_Speed); digitalWrite (motorPin4, LOW); // หมุดมอเตอร์ปิด digitalWrite (motorPin3, LOW); // หมุดมอเตอร์ปิด digitalWrite (motorPin2, HIGH) / // หมุดมอเตอร์อยู่ใน digitalWrite (motorPin1, LOW); // pin มอเตอร์ ปิดการหน่วงเวลา (motor_Speed); digitalWrite (motorPin4, LOW); // หมุดมอเตอร์ปิด digitalWrite (motorPin3, LOW); // หมุดมอเตอร์ปิด digitalWrite (motorPin2, LOW) // ขามอเตอร์ปิด digitalWrite (motorPin1, HIGH); // หมุดมอเตอร์ อยู่ในความล่าช้า (motor_Speed); }}

ด้านบนเป็นรหัสที่ฉันใช้สำหรับเครื่องทำขนม มันคือการควบคุมมอเตอร์สเต็ปสองปุ่มขั้นพื้นฐาน ตามลำดับมันจะเปิดหนึ่งในพินมอเตอร์ในขณะที่ส่วนที่เหลือจะปิด จากนั้นขามอเตอร์ต่อไปจะทำงานในขณะที่ส่วนที่เหลือปิดอยู่เป็นต้น ปุ่ม 1 (val 1) อยู่ในทิศทางเดียว (motorpin 1,2,3,4) ในขณะที่ปุ่ม 2 (val 2) อยู่ในทิศทางอื่น (motorpin 4,3,2,1) ความล่าช้าคือระยะเวลาระหว่างแต่ละขั้นตอนที่ Arduino จะรอ ยิ่งจำนวนน้อยลงเท่าไหร่ก็จะยิ่งเร็วเท่านั้น ฉันพบว่าการหน่วงเวลา 3 เป็นขั้นตอนที่เร็วที่สุดที่จะทำ

ขั้นตอนที่ 4: ผลิตภัณฑ์สำเร็จรูป

นี่คือลักษณะผลิตภัณฑ์สุดท้ายของฉันฉันประสานสามชิ้นเข้าด้วยกันจากนั้นประสานที่ด้านบนของกล่อง Arduino ซึ่งเป็นที่ตั้งของ Arduino รวมถึงบอร์ดขนมปัง ฉันเจาะสองรูสำหรับปุ่มและติดกาวเหล่านั้นกับผนังของกล่อง ที่ด้านหลังฉันเจาะรูสำหรับปลั๊ก usb เพื่อให้ฉันสามารถใช้ Arduino กับแหล่งจ่ายไฟแบบชาร์จไฟได้ เมื่อคุณกดปุ่มสีแดงกระบอกจะหมุนและจ่ายลูกอมออกจากช่องที่ส่วนล่าง

ขอบคุณสำหรับการตรวจสอบ Intractable ของฉันและฉันหวังว่าคุณจะสนุกกับการสร้างเครื่องลูกอม:)