สารบัญ:

UCL - อุตสาหกรรม 4.0: เครื่องผสมขนม 4.000: 9 ขั้นตอน
UCL - อุตสาหกรรม 4.0: เครื่องผสมขนม 4.000: 9 ขั้นตอน

วีดีโอ: UCL - อุตสาหกรรม 4.0: เครื่องผสมขนม 4.000: 9 ขั้นตอน

วีดีโอ: UCL - อุตสาหกรรม 4.0: เครื่องผสมขนม 4.000: 9 ขั้นตอน
วีดีโอ: เครื่องทำขนม 2024, กรกฎาคม
Anonim
UCL - อุตสาหกรรม 4.0: เครื่องผสมขนม 4.000
UCL - อุตสาหกรรม 4.0: เครื่องผสมขนม 4.000

สำหรับโครงการของเราในอุตสาหกรรม 4.0 เราได้ตัดสินใจทำเครื่องผสมสำหรับขนม แนวคิดคือเรามีแผงผู้ใช้ที่ทำใน Node-Red ซึ่งลูกค้าสามารถสั่งขนมได้ จากนั้น Arduino จะประมวลผลคำสั่งซื้อและผสมขนมลงในชาม จากนั้นเราก็มีฐานข้อมูลใน SQL ที่เราเก็บสแตติกเกี่ยวกับประเภทของขนมที่ส่วนใหญ่สั่งและปริมาณที่สั่ง

ร่างแรกทำเครื่องผสมขนม 8 ชนิด และมีมอเตอร์สำหรับเปิดปิดสำหรับใส่ขนม เรามีปัญหาในการออกแบบบางอย่างกับคอนเทนเนอร์ ทำให้ลูกกวาดติดค้าง เราจึงตัดสินใจเลิกใช้มอเตอร์และใช้ไฟ LED เพื่อบ่งชี้ว่ามอเตอร์กำลังทำงาน

ขั้นตอนที่ 1: การออกแบบ

การออกแบบ
การออกแบบ
การออกแบบ
การออกแบบ

โมเดลของเราทำด้วยภาชนะ 4 ใบสำหรับใส่ลูกกวาด โดยใช้ฝาเลื่อนเปิดปิดสำหรับลูกกวาด ใต้ภาชนะเรามีรางน้ำจนถึงชาม จากนั้นชามจะอยู่ด้านบนของโหลดเซลล์

การออกแบบใน Node-Red แบ่งออกเป็น 2 ส่วนคือ Customer และ Administration

ในส่วนลูกค้า เรามีปุ่ม 5 ปุ่ม 4 ปุ่มใช้สำหรับสั่งขนม และ 1 ปุ่มใช้สำหรับยอมรับการซื้อ ด้วยปุ่มซื้อ ลูกค้าสามารถเห็นน้ำหนักของขนมและราคาที่คาดหวัง จากนั้นเมื่อกดปุ่มซื้อ น้ำหนักและราคาจะแสดงขึ้นในการซื้อ

ในส่วนการบริหาร เราจะเห็นได้ว่าภาชนะของเราเต็มและจำนวนขนมที่ซื้อทั้งหมด

ใน SQL เราสามารถเห็นสถิติเกี่ยวกับการเลือกขนมและน้ำหนักรวมและรายได้จากการซื้อ

ขั้นตอนที่ 2: Curcuit Arduino

Arduino Curcuit
Arduino Curcuit

บนบอร์ด Arduino เราได้เชื่อมต่อปุ่มกด 4 ปุ่ม ไฟ LED สองสี 4 ตัว และโหลดเซลล์ 1 ตัวพร้อมโมดูล HX711

ปุ่มกดใช้สำหรับตัวดำเนินการลูกกวาดเพื่อดันเมื่อบรรจุลูกกวาดแล้ว

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

ขั้นตอนที่ 3: รายการ I/O

รายการ I/O
รายการ I/O

จากโหลดเซลล์ เราได้ 4 สายเคเบิลที่เชื่อมต่อกับโมดูล HX711

สีแดงเป็น E+

สีขาวถึง E-

สีเขียวถึง A-

สีเหลืองถึง A+

จากนั้น HX711 จะเชื่อมต่อกับบอร์ด Arduino ด้วย

GND ลงกราวด์

DT เพื่อปักหมุด3

SCK เพื่อปักหมุด2

VCC ถึง 5V

ปุ่มกดของเราเชื่อมต่อกับพิน 44, 46, 48 และ 50 ไฟ LED สีเขียวเชื่อมต่อกับพิน 30, 32, 34 และ 36 ไฟ LED สีแดงเชื่อมต่อกับพิน 31, 33, 35 และ 37

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

ในโค้ด Arduino เราเริ่มต้นด้วยการกำหนดตัวแปร และตั้งค่า LED และปุ่มกดเป็นพิน

นอกจากนี้เรายังตั้งค่าตัวแปรเพื่อรับไฟล์จาก Node-Red

เมื่อปุ่มของเราบน Arduino ถูกผลัก เราจะส่งสถานะ 5 ไปที่ Node-red ซึ่งแสดงว่าภาชนะนั้นเต็มแล้วและเราพร้อมที่จะแยกย้ายขนมออกจากภาชนะนั้น

เมื่อเรากดปุ่มบนฝั่งลูกค้า Node-Red เราส่งหมายเลข 1-4 ไปที่ Arduino Arduino ตรวจสอบหมายเลขและเปิดคอนเทนเนอร์ที่เชื่อมโยงกับหมายเลขนั้น เสร็จสิ้นโดยไฟ LED สีเขียวติดสว่างเป็นเวลา 5 วินาที ในเวลาเดียวกัน เราหัก 1 ออกจากสถานะภาชนะเพื่อระบุว่ามีการนำขนมบางส่วนออกจากภาชนะนั้น

เมื่อสถานะคอนเทนเนอร์ถึง 0 ไฟ LED สีแดงจะเปิดขึ้นเพื่อระบุว่าต้องเติมคอนเทนเนอร์นี้อีกครั้ง

เมื่อทำการซื้อ หมายเลข 5 จะถูกส่งไปที่ Arduino จากนั้นจะคำนวณราคาและส่งราคาและน้ำหนักกลับไปที่ node-red และ SQL

ส่วนสุดท้ายของรหัส Arduino ส่งสถานะ 'และน้ำหนัก/ราคากลับไปที่หมายเหตุสีแดง

ขั้นตอนที่ 5: Node-Red

โหนด-แดง
โหนด-แดง
โหนด-แดง
โหนด-แดง

Node Red ทำให้การเชื่อมต่อทั้งหมดระหว่าง Arduino และฐานข้อมูล SQL

ข้อมูลที่มาจากหน้าจอลูกค้าใน Node-red ไปที่ Arduino ที่ประมวลผล ข้อมูลที่ประมวลผลจะกลับไปที่ Node Red และหน้าจอการดูแลระบบ

ถ้าเราใช้ปุ่ม 1 เป็น excampel เราจะเชื่อมต่อกับบรรทัดไปยังทั้ง arudino trough com4 และเซิร์ฟเวอร์ SQL เมื่อเราเปิดปุ่มขึ้นมาจะเห็นว่าข้อมูลที่ส่งไปยัง Arduino คือ Payload และหัวข้อถูกส่งไปยัง SQL

เราใช้ฟังก์ชันใน Node-Red เพื่อส่งข้อมูลจาก Arduino ไปยัง SQL ใน funktion นี้ เราจำเป็นต้องมีโค้ดจาวาเพื่อบอก Node-red ว่าต้องทำอย่างไรกับโค้ด

รหัสฟังก์ชัน:

var data = msg.payload.split(", ");var Vægt = ข้อมูล[13];

var Kroner = ข้อมูล[14];

var out = "UPDATE blanding SET Vægt= '"+Vægt+"', Kroner = '"+Kroner+"' WHERE id=1";

msg.topic = ออก;

กลับผงชูรส;

ในโค้ดนี้ เราได้รับสตริงข้อมูลจาก Arduino และมันถูกแยกด้วย "," ระหว่างตัวเลข

สำหรับฟังก์ชันนี้ เราต้องการตัวเลขที่อยู่อันดับที่ 13 และ 14 และใส่ลงในตัวแปร "Vægt and Kroner" จากนั้นเรานำโค้ดที่ต้องดำเนินการใน SQL และใส่ลงในตัวแปร "out" และส่งเป็นหัวข้อไปยัง SQL

ขั้นตอนที่ 6: SQL

SQL
SQL

ในฐานข้อมูล SQL เราเก็บสถิติเกี่ยวกับจำนวนครั้งที่สั่งซื้อขนมแต่ละประเภทในแต่ละวัน รวมทั้งน้ำหนักและราคาของขนม

ปุ่ม statetik มาจากตัวนับที่เชื่อมต่อกับแต่ละปุ่มใน Node-Red และน้ำหนักและราคามาจาก Arduino trough a funktion ใน Node-Red

ขั้นตอนที่ 7: วิดีโอ

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

เมื่อลูกค้าพอใจกับส่วนผสมของลูกกวาด เขาจะกดปุ่มซื้อ และน้ำหนักจริงและราคาจะแสดงอยู่ใต้ปุ่ม จากนั้นจะเป็นส่วนของลูกค้า จากนั้นน้ำหนักและค่าใช้จ่ายจะถูกส่งไปยังแผงการดูแลระบบและฐานข้อมูลของเราใน sql

จากนั้นในฐานข้อมูล เราจะติดตามว่ามีการสั่งขนมชิ้นเล็กชิ้นน้อยจำนวนเท่าใด และจำนวนขนมที่มีน้ำหนักและราคาของขนมนั้น

ขั้นตอนที่ 8: การประเมินผล

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

ขั้นตอนที่ 9: ขยายโครงการ

แนวคิดของเราคือให้เปิดภาชนะหนึ่งด้วยมอเตอร์ ดังนั้นขั้นตอนต่อไปคือการออกแบบให้ลูกอมไม่ติดค้าง

แนะนำ: