สารบัญ:
- ขั้นตอนที่ 1: อะไหล่ที่จำเป็น
- ขั้นตอนที่ 2: Wire Breadboard สำหรับเซ็นเซอร์อุณหภูมิ
- ขั้นตอนที่ 3: Piezo Buzzer
- ขั้นตอนที่ 4: เพิ่มปุ่ม
- ขั้นตอนที่ 5: เชื่อมต่อ LCD กับ Breadboard แยก & ไปยัง Power
- ขั้นตอนที่ 6: รหัส
- ขั้นตอนที่ 7: แผนภาพ
วีดีโอ: สถิติอัจฉริยะ: 7 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
ผลิตภัณฑ์ของเราช่วยให้บุคคลทั่วไปสามารถตรวจสอบประสิทธิภาพของระบบทำความร้อนและปรับอากาศในบ้านของตนได้โดยการวัดอุณหภูมิของ freon ขาเข้าและขาออกด้วยกระบวนการที่เรียบง่ายและสมจริง อุปกรณ์อัจฉริยะนี้จะกระตุ้นให้ผู้คนตัดสินใจใช้พลังงานอย่างมีประสิทธิภาพมากขึ้นด้วยระบบทำความร้อนและความเย็น
ขั้นตอนที่ 1: อะไหล่ที่จำเป็น
- Arduino Uno
- เขียงหั่นขนม (4)
- เทอร์มิสเตอร์ (2)
- ตัวต้านทาน 10K (2)
- ปุ่มกด
- Piezo Buzzer
- จอ LCD
- โพเทนชิออมิเตอร์
- สายไฟ (25)
- ขั้วต่อไมโคร USB หรือ USB
ขั้นตอนที่ 2: Wire Breadboard สำหรับเซ็นเซอร์อุณหภูมิ
เทอร์มิสเตอร์เทอร์มิสเตอร์ TMP เป็นเซ็นเซอร์อุณหภูมิชนิดหนึ่งที่วัดแรงดันไฟฟ้าข้ามเซ็นเซอร์เมื่ออุณหภูมิแวดล้อมเปลี่ยนแปลง เซ็นเซอร์เฉพาะนี้มีสามพิน - บวก กราวด์ และสัญญาณ เซ็นเซอร์นี้เป็นเซ็นเซอร์เชิงเส้น และการเปลี่ยนแปลงของอุณหภูมิหนึ่งองศาเซลเซียสจะเท่ากับการเปลี่ยนแปลง 10 มิลลิโวลต์ที่เอาต์พุตเซ็นเซอร์
ขั้นตอน:
1) เชื่อมต่อเซ็นเซอร์อุณหภูมิของคุณดังแสดงในรูปด้านบน สายกลางจะเชื่อมต่อกับ A0
2) เชื่อมต่อเซ็นเซอร์อุณหภูมิตัวที่สองของคุณในลักษณะเดียวกันกับตัวแรก และสายกลางจะเชื่อมต่อกับ A1
ขั้นตอนที่ 3: Piezo Buzzer
Piezo buzzer เป็นอุปกรณ์ที่ใช้ในการเตือนผู้ใช้เมื่อระบบระบายความร้อนและระบบปรับอากาศไม่ทำงานอย่างมีประสิทธิภาพสูงสุด เสียงเตือนแจ้งผู้ใช้ว่าเป็นปัญหา
ขั้นตอน:
1) เชื่อมต่อออดกับบอร์ดดังแสดงในรูปด้านบน
ขั้นตอนที่ 4: เพิ่มปุ่ม
- ปุ่มกดเป็นส่วนประกอบที่เชื่อมต่อจุดสองจุดในวงจรเมื่อคุณกด
- ในผลิตภัณฑ์ของเรา ปุ่มจะวนไปมาระหว่างการแสดงอุณหภูมิและประสิทธิภาพจากข้อมูลที่เซ็นเซอร์อุณหภูมิรวบรวม
ขั้นตอน
1) เชื่อมต่อปุ่มตามที่แสดงในรูปด้านบน
ขั้นตอนที่ 5: เชื่อมต่อ LCD กับ Breadboard แยก & ไปยัง Power
จอ LCD ที่เป็นผลึกเหลวเป็นหน้าจอธรรมดาที่สามารถบอกผู้ใช้ได้เมื่อมีบางอย่างผิดปกติกับระบบทำความร้อน การระบายอากาศ และระบบปรับอากาศในบ้านของพวกเขา อดีต. ทำงานไม่เต็มประสิทธิภาพ ระบบล่ม
ไดอะแกรมที่ให้ไว้จะช่วยให้คุณเชื่อมต่อหน้าจอกับบอร์ดได้อย่างถูกต้อง
ขั้นตอนที่ 6: รหัส
a = arduino('com3', 'uno', 'libraries', 'ExampleLCD/LCDAddon'); % สร้างอ็อบเจ็กต์ Arduino ที่ระบุไลบรารี ExampleLCD/LCDAddon
lcd = addon (a, 'ExampleLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'}); % สร้างวัตถุ LCD และระบุพินที่กำหนดค่าบนอุปกรณ์ Arduino
initializeLCD(lcd, 'Rows', 2, 'Columns', 16); % เริ่มต้นหน้าจอ LCD
setpref('อินเทอร์เน็ต', 'SMTP_Server', 'smtp.gmail.com');
setpref('อินเทอร์เน็ต', 'อีเมล', '[email protected]'); % บัญชีอีเมลที่จะส่งจาก
setpref('อินเทอร์เน็ต', 'SMTP_Username', 'bwnanney'); % ชื่อผู้ใช้ผู้ส่ง
setpref('อินเทอร์เน็ต', 'SMTP_Password', 'Morill1204'); % ผู้ส่งรหัสผ่าน
อุปกรณ์ประกอบฉาก = java.lang. System.getProperties;
props.setProperty('mail.smtp.auth', 'true');
props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory');
props.setProperty('mail.smtp.socketFactory.port', '465');
b=readDigitalPin(a, 'D9'); % อ่านพินดิจิตอล (เซ็นเซอร์ดิจิตอล)
การอ่าน = readVoltage (a, 'A0'); % อ่านแรงดันไฟฟ้าบนเทอร์มิสเตอร์อนาล็อกที่เชื่อมต่อกับพิน A0
Reading2= readVoltage(a, 'A2'); % อ่านแรงดันไฟฟ้าบนเทอร์มิสเตอร์อะนาล็อกที่เชื่อมต่อกับพิน A2
ในขณะที่ % จริงวนซ้ำผ่านคำสั่งที่มีอยู่ตราบใดที่ true
b=readDigitalPin(a, 'D9'); % อ่านพินดิจิตอล (เซ็นเซอร์ดิจิตอล)
การอ่าน = readVoltage (a, 'A0'); % อ่านแรงดันไฟฟ้าบนเทอร์มิสเตอร์อนาล็อกที่เชื่อมต่อกับพิน A0
ถ้าการอ่าน>= 0.6 && การอ่าน< 0.68% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'Temp 64 F'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading>= 0.68 && reading<0.69 % ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'Temp 66 F'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading>= 0.69 && reading<0.7% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'อุณหภูมิ 68 F'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading>=0.7 && reading<0.71% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'Temp 70 F'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading>=0.71 && reading<0.72% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'Temp 72 F'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading>=0.72 && กำลังอ่าน<0.73 % ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'Temp 74 F'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading>= 0.73 && reading<0.74% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'Temp 76 F'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading>= 0.74 && reading<0.75% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'อุณหภูมิ 78 F'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading>= 0.75 && reading<0.76% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'Temp 80 F'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading>= 0.76 && reading<0.77% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'อุณหภูมิ 82 F'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading>= 0.77 && reading<0.8% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'Temp 84 F'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
playTone(a, 'D10', 880, 0.25) % เล่นโน้ต (a, พิน, ความถี่, ระยะเวลา)
หยุดชั่วคราว (0.3) % หยุดชั่วคราวหลังจากบันทึกสำหรับระยะเวลาที่ตั้งไว้
playTone(a, 'D10', 880, 0.25) % เล่นโน้ต (a, พิน, ความถี่, ระยะเวลา)
หยุดชั่วคราว (0.3) % หยุดชั่วคราวหลังจากบันทึกสำหรับระยะเวลาที่ตั้งไว้
playTone(a, 'D10', 880, 0.25) % เล่นโน้ต (a, พิน, ความถี่, ระยะเวลา)
หยุดชั่วคราว (0.3) % หยุดชั่วคราวหลังจากบันทึกสำหรับระยะเวลาที่ตั้งไว้
playTone(a, 'D10', 880, 0.25) % เล่นโน้ต (a, พิน, ความถี่, ระยะเวลา)
หยุดชั่วคราว (0.3) % หยุดชั่วคราวหลังจากบันทึกสำหรับระยะเวลาที่ตั้งไว้
playTone(a, 'D10', 987, 0.25) % เล่นโน้ต (a, พิน, ความถี่, ระยะเวลา)
หยุดชั่วคราว (0.3) % หยุดชั่วคราวหลังจากบันทึกสำหรับระยะเวลาที่ตั้งไว้
playTone(a, 'D10', 987, 0.25) % เล่นโน้ต (a, พิน, ความถี่, ระยะเวลา)
หยุดชั่วคราว (0.3) % หยุดชั่วคราวหลังจากบันทึกสำหรับระยะเวลาที่ตั้งไว้
playTone(a, 'D10', 880, 0.12) % เล่นโน้ต (a, พิน, ความถี่, ระยะเวลา)
หยุดชั่วคราว (0.1) % หยุดชั่วคราวหลังจากบันทึกสำหรับระยะเวลาที่ตั้งไว้
playTone(a, 'D10', 740, 0.12) % เล่นโน้ต (a, พิน, ความถี่, ระยะเวลา)
หยุดชั่วคราว (0.1) % หยุดชั่วคราวหลังจากบันทึกสำหรับระยะเวลาที่ตั้งไว้
playTone(a, 'D10', 587, 0.25) % เล่นโน้ต (a, พิน, ความถี่, ระยะเวลา)
หยุดชั่วคราว(0.3)
sendmail('[email protected]', 'เครื่องทำความร้อนและความเย็นที่ต้องการบริการ!!!', …
'ระบบทำความร้อนและความเย็นทำงานไม่มีประสิทธิภาพ โปรดให้ช่างซ่อมบำรุงเครื่องโดยเร็วที่สุด') % ส่งอีเมลไปยังบัญชีอีเมลที่ระบุ
elseif reading>= 0.8 && reading<0.85% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'Temp 86 F'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading>= 0.85 && reading<2 % ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'HOT HOT BABY!!!'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
end % สิ้นสุดลง if statement
ในขณะที่ b==0 % วนซ้ำผ่านคำสั่งที่มีอยู่ตราบใดที่ false
b=readDigitalPin(a, 'D9'); % อ่านพินดิจิตอล (เซ็นเซอร์ดิจิตอล)
Reading2= readVoltage(a, 'A2'); % อ่านแรงดันไฟฟ้าบนเทอร์มิสเตอร์อนาล็อกที่เชื่อมต่อกับพิน A2
ถ้า read2>= 0.6 && reading2< 0.68% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'ประสิทธิภาพ 80%'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading2>= 0.68 && reading2<0.69 % ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'ประสิทธิภาพ 90%'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading2>= 0.69 && reading2<0.7 % ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'ประสิทธิภาพ 95%'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading2>=0.7 && reading2<0.71% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'ประสิทธิภาพ 97%'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading2>=0.71 && reading2<0.72% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'ประสิทธิภาพ 100%'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading2>=0.72 && reading2<0.73 % ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'ประสิทธิภาพ 95%'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading2>= 0.73 && reading2<0.74% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'ประสิทธิภาพ 90%'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading2>= 0.74 && reading2<0.75% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'ประสิทธิภาพ 85%'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading2>= 0.75 && reading2<0.76% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'ประสิทธิภาพ 80%'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading2>= 0.76 && reading2<0.77% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'ประสิทธิภาพ 75%'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading2>= 0.77 && reading2<0.8% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'ประสิทธิภาพ 70%'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading2>= 0.8 && reading2<0.85% ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'ประสิทธิภาพ 65%'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
elseif reading2>= 0.85 && reading2<2 % ดำเนินการคำสั่งชุดเดียวแบบมีเงื่อนไข (บล็อก)
clearLCD(lcd) % ล้างหน้าจอ LCD
printLCD(lcd, 'ON FIRE!!!'); % พิมพ์สตริงไปยัง LCD
หยุดชั่วคราว (0.5) % หยุดชั่วคราวก่อนดำเนินการคำสั่งถัดไป
end % end if คำสั่ง
สิ้นสุด% สิ้นสุดในขณะที่วนรอบ
สิ้นสุด% สิ้นสุดในขณะที่วนรอบ
ขั้นตอนที่ 7: แผนภาพ
นี่คือการแสดงพื้นฐานของตำแหน่งที่จะวางเซ็นเซอร์อุณหภูมิบนท่อระบายและไอเพื่อตรวจสอบอุณหภูมิของแต่ละบรรทัดและส่วนต่างระหว่างกัน
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง