หน้าแรก ดูโปรเจกต์ทั้งหมด
Expert

โปรเจกต์ ลิฟต์ Hotel สำหรับ LOL Surprise Doll ควบคุมผ่าน mobile phone

ลูกสาวของผมสร้าง Hotel 3 ชั้นสำหรับ LOL dolls แต่ไม่พอใจกับลิฟต์แบบ manual ผมเลยเปลี่ยนเป็นระบบ automated

โปรเจกต์ ลิฟต์ Hotel สำหรับ LOL Surprise Doll ควบคุมผ่าน mobile phone

วิดีโอสาธิต

Video

▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์

รายการอุปกรณ์และเครื่องมือ

1x HC-05 Bluetooth Module
🛒 สั่งซื้อ
3x Test Connector, Tip Jack
-
1x Stepper Motor, Mini Step
🛒 สั่งซื้อ
1x Stepper motor driver board A4988
🛒 สั่งซื้อ

รายละเอียดและวิธีทำ

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

ส่วนประกอบหลักคือ NEMA 17 stepper motor เนื่องจากเราสามารถควบคุมตำแหน่งของมอเตอร์ได้ ผมจึงไม่ได้ติดตั้ง Sensor สำหรับตรวจจับตำแหน่งเหมือนที่ใช้ในลิฟต์ของจริง ในโปรเจกต์นี้ ตำแหน่งของลิฟต์จะถูกกำหนดด้วยตำแหน่งของ stepper แทน

มี push button สามปุ่ม และ LED สามดวงในแต่ละชั้น เมื่อกด push button จะเป็นการเรียกความลิฟต์ และเมื่อลิฟต์มาถึงชั้นที่ต้องการ LED จะสว่างขึ้น ในขณะที่ลิฟต์กำลังเคลื่อนที่ LED จะอยู่ในสถานะ OFF

หลังจากประกอบชิ้นส่วนทั้งหมดแล้ว โปรดระมัดระวังเมื่อเริ่มการทดสอบเป็นครั้งแรก ตรวจสอบให้แน่ใจว่าตำแหน่งเริ่มต้นสำหรับชั้น 2 และชั้น 3 นั้นถูกตั้งค่าไว้ให้น้อยกว่าความเป็นจริง (เช่น ต่ำกว่าที่ควรจะเป็น) ผมได้ทดสอบโปรแกรมเริ่มต้นด้วยการให้มอเตอร์หมุนตามเข็มนาฬิกาหนึ่งรอบและทวนเข็มนาฬิกาหนึ่งรอบ เพื่อตรวจสอบการตั้งค่าเริ่มต้น (initialization) และดูว่าการหมุนนี้ทำให้ลิฟต์เคลื่อนที่ไปได้ไกลแค่ไหน จากนั้นคุณสามารถนำค่าที่ได้มาคำนวณและประเมินตำแหน่งของชั้น 2 และชั้น 3 ได้จากการทดสอบเพียงไม่กี่ครั้ง

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

หลังจากที่เราทำเวอร์ชันแรกเสร็จ ซึ่งทำงานได้เฉพาะกับ push buttons เท่านั้น ลูกสาวของผมก็สงสัยว่าทำไมเราถึงไม่ทำให้มันควบคุมผ่านโทรศัพท์มือถือได้ :)

มีตัวเลือกให้ใช้ระหว่าง wi-fi หรือ bluetooth ผมตัดสินใจใช้ bluetooth เนื่องจากของเล่นจะได้ไม่ต้องถูกจำกัดอยู่แค่ในรัศมีของ wifi router ผมใช้ HC-05 bluetooth contoler ซึ่งต้องการเพียงแหล่งจ่ายไฟ 5V, GND และ serial TxD กับ RxD เท่านั้น

ก่อนหน้านี้ผมยังไม่เคยพัฒนาแอปพลิเคชันบนมือถือเลย แต่ผมได้พบกับเครื่องมือออนไลน์ที่ใช้งานง่ายมากสำหรับแอป Android นั่นคือ MIT app inventor บน http://ai2.appinventor.mit.edu/. คุณสามารถดาวน์โหลดแอปพลิเคชันของผมได้ที่ http://ai2.appinventor.mit.edu/b/bmgw และหากคุณต้องการสร้างด้วยตัวเอง นี่คือภาพหน้าจอของหน้า design และหน้า block ในหน้า design คุณสามารถตั้งค่าและกำหนดลักษณะของบล็อกต่างๆ ส่วนในหน้า block คุณสามารถเชื่อมต่อบล็อกและกำหนดการทำงานของแอปได้

ผมเพียงแค่สร้างปุ่มสามปุ่ม โดยที่การคลิกแต่ละครั้งจะส่งข้อความเป็นตัวเลข 1, 2 หรือ 3 ขึ้นอยู่กับว่าต้องการเรียกไปที่ชั้นไหน

อีกหนึ่งการปรับปรุงที่ผมทำคือการทำให้ LED กะพริบในชั้นที่ลิฟต์กำลังจะหยุด แผนแรกของผมคือการสร้างฟังก์ชันสำหรับการกะพริบของ LED แล้วเรียกใช้ในฟังก์ชัน GotoFlorX แต่สิ่งนี้เป็นไปไม่ได้เนื่องจาก Arduino ไม่รองรับ multi threads ผมจึงเพิ่มส่วนของการกะพริบ LED ไว้ใน For loop ที่ทำหน้าที่ส่งสัญญาณ pulses ไปยัง stepper motor โดยที่ผมสั่งให้ LED เปิด/ปิด ทุกๆ n/7 steps เมื่อ n คือจำนวน steps ที่ stepper motor ต้องทำงาน แม้ว่ามันจะซับซ้อนขึ้นเล็กน้อย แต่ผลลัพธ์ที่ได้ก็น่าพอใจทีเดียว หากใครมีไอเดียที่ดีกว่านี้ โปรดแจ้งให้ผมทราบด้วยนะครับ!

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: lol-surprise-doll-hotel-elevator-controled-by-mobile-phone-2bbe85
2450 บาท
PromptPay QR Code