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

โปรเจกต์ The Cloud Barbot #cloudgames2022

Device ที่สร้างด้วย Arduino ที่ช่วยให้คุณสามารถเตรียมเครื่องดื่มที่แสนอร่อยได้! #cloudgames2022

โปรเจกต์ The Cloud Barbot #cloudgames2022

วิดีโอสาธิต

Video

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

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

1x Arduino Oplà IoT Kit
-
1x Micro-USB to USB Cable (Generic)
-
1x DC JACK for panel
-
5x Diaphragm pump
-
1x 3D Printer (generic)
-
1x Power Supply 12V 5A (generic)
-
1x Laser cutter (generic)
-
1x Shield Relay 8 Channel
-
1x Arduino Nano 33 IoT
-
}

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

INTRO

Barbot ของเราเกิดจากความหลงใหลในการสร้างสรรค์อุปกรณ์ต่างๆ ด้วย Arduino เราคิดว่ามันน่าจะสนุกดีที่จะนำเสนอผลิตภัณฑ์ที่ไม่ธรรมดาสู่ช่อง YouTube ของเราโดยใช้เทคโนโลยีที่ Arduino มอบให้ Barbot ของเราเป็นอุปกรณ์เชื่อมต่อที่สามารถเตรียมเครื่องดื่มแสนอร่อยผ่าน dashboard บน Arduino IoT Cloud หรือใช้ MKR IoT Carrier เป็นรีโมทคอนโทรลสำหรับวางไว้บนโต๊ะก็ได้

THE DASHBOARD

dashboard ของ barbot ช่วยให้คุณสามารถปรับปริมาณมิลลิลิตรของของเหลวที่ต้องการสำหรับแต่ละส่วนผสมได้ โดยสามารถเลือกขนาดแก้วได้ตั้งแต่ขั้นต่ำ 0 ถึงสูงสุด 400 ml ด้วย library Barbot Nano Carrier คุณจะสามารถดึงระดับการเติมปัจจุบันของแก้วและแสดงผลเป็นเปอร์เซ็นต์ได้ เครื่องหมายถูกสีเขียวบ่งบอกว่า Barbot พร้อมที่จะรับคำสั่ง start แล้ว

REMOTE CONTROL

ด้วยการใช้งาน Oplà IoT Kit เราได้นำเสนอรีโมทคอนโทรลสำหรับเตรียมเครื่องดื่มจากระยะไกล โดยไม่ต้องใช้โทรศัพท์มือถือหรือ PC

ด้วยฟังก์ชัน gestures คุณสามารถเปลี่ยนเครื่องดื่มที่ต้องการปรับแต่งได้โดยการเลื่อนมือจากขวาไปซ้าย หรือซ้ายไปขวา เพื่อเลือกดูระดับต่างๆ ที่มีให้

เมื่อใช้ touch button 1 หรือ touch button 4 คุณสามารถเปลี่ยนระดับของเหลวสำหรับแต่ละเครื่องดื่มที่จะผสมได้

touch button 2 ช่วยให้คุณเริ่มการผสมเครื่องดื่มตามระดับที่เลือกไว้

เช่นเดียวกับที่เกิดขึ้นบน dashboard หน้าจอและ led ของ MKR IoT Carrier จะเปลี่ยนเป็นสีเขียวหรือสีแดงตามการทำงานของ Barbot: หากเป็นสีเขียวแสดงว่าพร้อมรับงานใหม่ หากเป็นสีแดงแสดงว่ากำลังยุ่งอยู่กับการเตรียมเครื่องดื่มหรือยังไม่พร้อมใช้งานเต็มที่

THE BARBOT LIBRARY

เราได้สร้าง library เฉพาะสำหรับ barbot ของเรา เพื่อให้ผู้ใช้เขียน code น้อยลง library ประกอบด้วยไฟล์ barbot.cpp และ barbot.h ซึ่งรวมอยู่ใน code ในหน้านี้แล้ว

CODE TRICKS

ในการสั่งให้ barbot กลับไปยังตำแหน่ง home คุณสามารถใช้ code นี้ใน setup ได้:

// Inizialize barbot
barbotCarrier.begin();
// Barbot tower to home
bool home = false;
barbotCarrier.mixerTowerGoTop();
while (!home) {
home = barbotCarrier.mixerToTop();
}
barbotCarrier.mixerTowerStop();

PUMP ACTIVITY TIME: HOW DOES IT WORK?

เนื่องจากไม่มี level sensors เราจึงพยายามหาวิธีเปลี่ยนค่ามิลลิลิตรที่เราตั้งไว้สำหรับแต่ละระดับให้เป็นหน่วยมิลลิวินาทีของการทำงาน

สูตรที่เราใช้คือ: 60 * มิลลิลิตร / ความเร็วปั๊ม (lt/m)

ในการดำเนินการนี้ ในส่วน setup เราต้องระบุว่าปั๊มที่ใช้สามารถเคลื่อนย้ายของเหลวได้กี่ลิตร ในกรณีของเรา diaphragm pumps มีอัตราการไหล 2 ลิตรต่อนาที ดังนั้นเราจึงตั้งค่าพารามิเตอร์นี้สำหรับปั๊มทั้งหมดใน setup:

//Pumps setup ml/m
barbotCarrier.setPump1LitersOnMinute(2); //2lt/m
barbotCarrier.setPump2LitersOnMinute(2);
barbotCarrier.setPump3LitersOnMinute(2);
barbotCarrier.setPump4LitersOnMinute(2);
barbotCarrier.setPump5LitersOnMinute(2);

จากนั้นเราตั้งค่ามิลลิลิตรสำหรับแต่ละเครื่องดื่มที่จะผสม:

//Pumps setup
barbotCarrier.setPump1Milliliters(400); //for 400ml
barbotCarrier.setPump2Milliliters(400);
barbotCarrier.setPump3Milliliters(400);
barbotCarrier.setPump4Milliliters(400);
barbotCarrier.setPump5Milliliters(400);

เราเปิดการทำงานของปั๊มด้วย :

barbotCarrier.pumpWrite(PUMP1, HIGH);
barbotCarrier.pumpWrite(PUMP2, HIGH);
barbotCarrier.pumpWrite(PUMP3, HIGH);
barbotCarrier.pumpWrite(PUMP4, HIGH);
barbotCarrier.pumpWrite(PUMP5, HIGH);

เราดำเนินการเปิดเครื่องเพียงครั้งเดียวใน setup หรือโดยการใช้ flag ที่เชื่อมโยงกับปุ่ม

ใน loop เราจะตรวจสอบ sleep timer ด้วย:

barbotCarrier.pumpTimerOff(PUMP1, 60 * (barbotCarrier.getPump1Milliliters() / barbotCarrier.getPump1LitersOnMinute()));
barbotCarrier.pumpTimerOff(PUMP2, 60 * (barbotCarrier.getPump2Milliliters() / barbotCarrier.getPump2LitersOnMinute()));
barbotCarrier.pumpTimerOff(PUMP3, 60 * (barbotCarrier.getPump3Milliliters() / barbotCarrier.getPump3LitersOnMinute()));
barbotCarrier.pumpTimerOff(PUMP4, 60 * (barbotCarrier.getPump4Milliliters() / barbotCarrier.getPump4LitersOnMinute()));
barbotCarrier.pumpTimerOff(PUMP5, 60 * (barbotCarrier.getPump5Milliliters() / barbotCarrier.getPump5LitersOnMinute()));

ในตัวอย่างที่เราแนบไว้ในหน้านี้ (Barbot Firmware) ได้มีการสร้าง routine สำหรับการเตรียมเครื่องดื่มตั้งแต่บรรทัดที่ 123 ถึง 175 ซึ่งช่วยให้คุณสามารถดำเนินการต่างๆ ในช่วงเวลาต่างๆ ได้โดยใช้ flag ที่ประกอบด้วยตัวแปร boolean

หมายเหตุ : ระบบนี้ไม่ได้ใช้ level sensors ดังนั้นจึงอาจไม่เสถียรและอาจทำงานผิดเพี้ยนไปจากที่คาดไว้ เราขอแนะนำให้คุณตั้งค่ามิลลิลิตรโดยเผื่อค่าให้น้อยกว่าความเป็นจริงเพื่อลดความผิดพลาดและป้องกันไม่ให้ของเหลวล้นออกจากภาชนะ เราได้ตั้งค่าไว้ที่ 140ml สำหรับภาชนะขนาด 200ml!

DEMO

วิดีโอสาธิต:

วิดีโอภาษาอิตาลี (มีคำบรรยายภาษาอังกฤษ) :

Code

🔒 ปลดล็อก Code

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

รหัสอ้างอิงโปรเจกต์: the-cloud-barbot-cloudgames2022-5e2060
1499 บาท
PromptPay QR Code