สารบัญ:
- ขั้นตอนที่ 1: ฮาร์ดแวร์
- ขั้นตอนที่ 2: การสร้างจอแสดงผล LCD
- ขั้นตอนที่ 3: การตั้งค่าซอฟต์แวร์
- ขั้นตอนที่ 4: ทางเลือก - การปิดจอแสดงผล
- ขั้นตอนที่ 5: แขวนปฏิทิน
วีดีโอ: ปฏิทินติดผนังอัจฉริยะ: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
ฉันและภรรยาเคยมีปฏิทินติดผนังแบบคลาสสิกซึ่งเรากำหนดวันสำคัญต่างๆ เรายังใช้ Google ปฏิทินบนสมาร์ทโฟนของเราในการทำเครื่องหมายกิจกรรม ดังนั้นจึงหมายถึงการทำงานซ้ำซ้อน ดังนั้นฉันจึงตัดสินใจสร้างปฏิทินติดผนังอัจฉริยะ ซึ่งจะแสดงการเตือนความจำ กิจกรรม และข้อมูลอื่นๆ เนื่องจากฉันมีชิ้นส่วนอิเล็กทรอนิกส์เก่าๆ มากมาย เป้าหมายของฉันคือนำชิ้นส่วนเหล่านั้นกลับมาใช้ใหม่ให้ได้มากที่สุด และสร้างปฏิทินด้วยต้นทุนที่ต่ำที่สุด
ในบทช่วยสอนนี้ ฉันจะแสดงวิธีสร้างปฏิทินผนังอัจฉริยะ แสดงกิจกรรมจากบัญชี Google หลายบัญชี นอกจากนี้ยังแสดงเวลา วันที่ สภาพอากาศ อุณหภูมิ และข้อมูลเพิ่มเติม มันจะใช้พลังงานจากคอมพิวเตอร์ Raspberry Pi ที่มีเซ็นเซอร์ตรวจจับความเคลื่อนไหวแบบพาสซีฟอินฟราเรด (PIR) ติดอยู่ เพื่อให้จอแสดงผลเปิดขึ้นเมื่อตรวจพบการเคลื่อนไหวในห้อง แต่จะดับลงหลังจากไม่มีการใช้งานไม่กี่นาที บทช่วยสอนนี้อ้างอิงจากบทช่วยสอนอื่นๆ ที่ฉันพบในอินเทอร์เน็ต และฉันจะให้ลิงก์ไปยังบทเรียนเหล่านั้นเพื่อความเข้าใจที่ดีขึ้น จำเป็นต้องมีความรู้พื้นฐานด้านการเขียนโปรแกรม (HTML, Python, …)
ขั้นตอนที่ 1: ฮาร์ดแวร์
ดังที่ได้กล่าวไว้ก่อนหน้านี้ ฉันพยายามนำชิ้นส่วนอิเล็กทรอนิกส์เก่า ๆ กลับมาใช้ใหม่ให้มากที่สุดเพื่อลดต้นทุน อย่างไรก็ตาม ฉันต้องซื้อของบางอย่าง ดังนั้นฉันจะแสดงรายการทั้งหมดที่จำเป็นสำหรับการก่อสร้าง
- ชุด Raspberry Pi ตอนแรกฉันใช้โมเดล 2 รุ่นเก่าจากโครงการอื่น มันใช้งานได้ แต่การแก้ไขและโหลดหน้าเว็บใหม่ใช้เวลานานมาก ดังนั้นในที่สุดฉันก็เปลี่ยนเป็นรุ่น 3 ซึ่งใช้งานได้คล่องมากขึ้น https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=raspberry+pi+kit&_sacat=0
- จอ LCD. ฉันใช้หน้าจอจากแล็ปท็อปเครื่องเก่า เลยต้องซื้อบอร์ดไดรเวอร์ LVDS สำหรับมันและพาวเวอร์ซัพพลาย https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=hdmi+ ไดรเวอร์+LVDS+บอร์ด&_sacat=0
- กล่องพลาสติกใส่อุปกรณ์อิเล็กทรอนิกส์
- เซ็นเซอร์ตรวจจับความเคลื่อนไหวอินฟราเรดแบบพาสซีฟ
- เซ็นเซอร์อุณหภูมิ/ความชื้น AM2302
- แฟ้มสไลด์พลาสติกสีดำสำหรับกรอบ LCD
- สายเคเบิลต่างๆ (HDMI, 5.5 มม. สำหรับไฟ DC, สายจัมเปอร์เขียงหั่นขนมแบบบัดกรี, …)
ขั้นตอนที่ 2: การสร้างจอแสดงผล LCD
ฉันใช้หน้าจอ LCD จากแล็ปท็อปเครื่องเก่าที่ล้าสมัย มีแบบฝึกหัดมากมายเกี่ยวกับวิธีการทำเช่นนี้ ฉันทำตามนี้:
www.instructables.com/id/How-to-reuse-the-old-LCD-Screen-of-your-broken-Lap/
ฉันถอดฝาครอบแล็ปท็อปเครื่องเก่าออก นำจอ LCD ออก แล้วสั่งบอร์ดไดรเวอร์ LVDS ที่ถูกต้อง ฉันให้รหัสผลิตภัณฑ์แก่ผู้ขาย ซึ่งสามารถพบได้ที่ด้านหลังของ LCD ในกรณีของฉันคือ LP171WE3 (TL)(A2) - ดูป้ายด้านล่างขวาบนภาพสุดท้าย จากนั้นเขาก็ส่ง LVDS ที่เหมาะสมมาให้ฉัน โปรดทราบว่า คุณจะต้องใช้แหล่งจ่ายไฟสำหรับจอแสดงผลด้วย ดังนั้นขอให้ผู้ขายส่งให้ด้วย ฉันยังซื้อกล่องพลาสติกขนาด 14.5 × 7.5 × 2 ซม. ที่ดีเพื่อให้พอดีกับบอร์ดควบคุมและติดไว้ที่ด้านหลังของ LCD
ตอนนี้จอ LCD มีกรอบโลหะที่ดูไม่สวย ทีแรกผมพ่นสเปรย์ให้เป็นสีดำ แต่สีเริ่มลอกออก ดังนั้นฉันจึงนำแฟ้มพลาสติกสีดำแบบสไลด์ออนสี่อัน ซึ่งโดยทั่วไปแล้วจะใช้สำหรับการเย็บกระดาษแผ่น ตัดแต่งตามนั้นแล้วติดไว้เพื่อครอบกรอบ มันดูดีมาก ดังนั้นฉันจึงต่อสายเคเบิลทั้งหมด เสียบ HDMI กับ Raspberry Pi และ Voila เครื่องเก่าของฉัน – มันใช้งานได้! มีรูปภาพแสดงอยู่บนจอแสดงผล ดังนั้นฉันจึงพร้อมที่จะไปยังขั้นตอนต่อไป – ข้อมูลใดบ้างที่จะแสดงบนจอแสดงผลและวิธีแสดง
ขั้นตอนที่ 3: การตั้งค่าซอฟต์แวร์
เมื่อผมหาข้อมูลทางอินเทอร์เน็ตเกี่ยวกับวิธีการสร้างปฏิทิน ผมได้แรงบันดาลใจจากเพจนี้ https://dakboard.com/site พวกเขาจัดหาผลิตภัณฑ์สำเร็จรูป (จอแสดงผล คอมพิวเตอร์และซอฟต์แวร์ที่ใช้งานได้) แต่ยังมีบทช่วยสอนที่ยอดเยี่ยมสำหรับโซลูชัน DIY (https://blog.dakboard.com/diy-wall-display/) ฉันแนะนำให้คุณทำตามบทช่วยสอนนี้ อย่างน้อยก็ในช่วงแรกพร้อมคำแนะนำในการเตรียมและตั้งค่าระบบบน Raspberry เพื่อให้เบราว์เซอร์โหลดหน้าเว็บที่ต้องการโดยอัตโนมัติเมื่อบูต
วิธีนี้ใช้ได้ผลดี แต่ฉันกำลังมองหาวิธีแก้ปัญหา ซึ่งสามารถปรับแต่งได้ตามความต้องการของฉัน ฉันตัดสินใจตั้งค่าเว็บเซิร์ฟเวอร์ของตัวเองและสร้างหน้าเว็บ ซึ่งจะแสดงข้อมูลเพิ่มเติมนอกเหนือจากปฏิทิน ฉันเลือก Wordpress.org เนื่องจากมีเอกสารประกอบที่ดีและมีการสนับสนุนที่ดีและชุมชนขนาดใหญ่ที่จะช่วยคุณ นี่คือการสอนเกี่ยวกับวิธีการติดตั้ง Wordpress บน Raspberry Pi: https://projects.raspberrypi.org/en/projects/lamp-web-server-with-wordpress เมื่อติดตั้ง Wordpress แล้ว ก็ถึงเวลาออกแบบหน้าแรกของฉัน คุณสามารถใช้หนึ่งในธีมที่มีให้มากมาย หรือออกแบบใหม่ทั้งหมด อย่างไรก็ตาม จำเป็นต้องมีความรู้ด้านการเขียนโปรแกรม HTML สำหรับสิ่งนี้
ฉันออกแบบหน้าของฉันเพื่อให้แสดงปฏิทินทางด้านซ้าย (https://sl.wordpress.org/plugins/google-calendar-events/) ในขณะที่แสดงเวลาและวันที่ทางด้านขวา (https://www.timeanddate.com/clocks/free.html และ https://www.arclab.com/en/kb/htmlcss/display-date-time-javascript-php-ssi.html) พยากรณ์อากาศมาจากหน้านี้ (https://www.1a-vreme.si/vremensko-okno/) ซึ่งมีวิดเจ็ตพยากรณ์อากาศสำหรับเมืองในสโลวีเนีย แต่ฉันเดาว่าอาจพบวิดเจ็ตสำหรับประเทศอื่น ๆ บนอินเทอร์เน็ตเช่นกัน เก็บอุณหภูมิโดยใช้เซ็นเซอร์ AM2302 (https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=AM2302+&_sacat=0) ตามที่อธิบายไว้ท้ายบทนี้ ที่ด้านล่างคือตัวนับเวลาถอยหลังแบบง่ายๆ ซึ่งแสดงจำนวนวันที่เหลือสำหรับบางกิจกรรม (น่าสนใจสำหรับบุตรหลานของฉันที่จะรู้ว่าพวกเขาจะต้องรอกี่วัน) ที่ขอบขวาบนคือปลั๊กอิน MetaSlider (https://wordpress.org/plugins/ml-slider/) ซึ่งจะสุ่มสไลด์ไปยังรูปภาพที่เลือกของครอบครัวของฉัน นอกจากนี้ ฉันเคยใช้ปลั๊กอินตัวเลื่อนพื้นหลัง (https://sl.wordpress.org/plugins/background-slider-master/) เพื่อแสดงรูปภาพแบบสุ่มสำหรับพื้นหลังที่ดีกว่า
ดังที่ได้กล่าวไว้ก่อนหน้านี้ อุณหภูมิในร่มจะถูกรวบรวมโดยใช้เซ็นเซอร์ AM2302 มีบทช่วยสอนมากมายเกี่ยวกับวิธีการรับอุณหภูมิ ฉันทำตามนี้: https://www.modmypi.com/blog/am2302-temphumidity-sensor ต่อมาฉันย้ายเซ็นเซอร์นี้ไปยัง Raspberry Pi ตัวอื่นที่มี Home Assistant ทำงานอยู่ เพราะอ่านและเผยแพร่ค่าได้ง่ายขึ้นโดยใช้ส่วนประกอบ DHT Sensor (https://www.home-assistant.io/components/sensor.dht/). Home Assistant ยังสามารถเก็บอุณหภูมิภายนอกโดยใช้ส่วนประกอบสภาพอากาศต่างๆ ฉันใช้ส่วนประกอบ YR.no (https://www.home-assistant.io/components/sensor.yr/) ด้วยเหตุนี้ ฉันจึงเขียนสคริปต์การทำงานอัตโนมัติเพื่อรวบรวมอุณหภูมิในร่ม/ภายนอกจากส่วนประกอบเหล่านี้ และเขียนลงในไฟล์ข้อความ ซึ่งจะแสดงบนปฏิทินติดผนังของฉัน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Home Assistant โปรดดูที่หน้าแรก (https://www.home-assistant.io/)
ขั้นตอนที่ 4: ทางเลือก - การปิดจอแสดงผล
ตอนนี้เราได้ตั้งค่าและใช้งานปฏิทินในแบบที่เราชอบแล้ว แต่เราไม่ต้องการให้จอแสดงผลเปิดตลอด 24 ชั่วโมงทุกวัน เราต้องการให้เปิดเมื่อมีคนอยู่บ้านเท่านั้น อีกทั้งไม่อยากให้เปิดกลางดึก เวลาเข้าห้องน้ำ มันสว่างเกินไป! ดังนั้นเราจะแนบเซ็นเซอร์อินฟราเรดเพื่อสังเกตเมื่อมีคนยืนอยู่ข้างหน้าและเพิ่มการจำกัดเวลาเมื่อควรเปิด
โปรดทราบว่าทักษะการเขียนโปรแกรมของฉันค่อนข้างจำกัด ดังนั้นสิ่งต่อไปนี้จึงไม่เหมาะสม เนื่องจากฉันได้เลือกจากฟอรัมออนไลน์และบทช่วยสอนต่างๆ แต่โดยพื้นฐานแล้วมันใช้ได้ผล ยังไงก็ยินดีน้อมรับทุกคำแนะนำ อันดับแรก เราจะเริ่มด้วยการทดสอบเพื่อเปิด/ปิดจอภาพด้วยตนเอง สำหรับสิ่งนั้น เราจะสร้างไฟล์สองไฟล์ (เช่น monitor_on.sh และ monitor_off.sh) และเขียนโค้ดลงไป วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการลงชื่อเข้าใช้ Raspberry ของคุณโดยใช้ SSH และพิมพ์
sudo nano monitor_on.sh
และพิมพ์รหัสต่อไปนี้
บริการทีวี --ที่ต้องการ;
startx /usr/bin/graphical_launcher `fgconsole`
กด CTRL+X เพื่อบันทึกและออก จากนั้นสร้างไฟล์ที่สอง
sudo nano monitor_off.sh
และพิมพ์รหัสต่อไปนี้
บริการทีวี --off;
อีกครั้ง กด CTRL+X เพื่อบันทึกและออก ทำให้ไฟล์ที่สร้างขึ้นใหม่เหล่านี้สามารถเรียกใช้งานได้:
sudo chmod +x monitor_on.sh
sudo chmod +x monitor_off.sh
ตอนนี้ให้ลองว่าคำสั่งเหล่านี้ใช้งานได้หรือไม่ ให้พิมพ์
sudo./monitor_off.sh
sudo./monitor_on.sh
จอภาพควรปิดและเปิดใหม่ตามลำดับ ฉันสังเกตเห็นว่าใน Raspberry Pi 2 ต้องใช้เวลาเกือบ 10 วินาทีในการเปิดจอภาพ บน Raspberry Pi 3 จะใช้เวลา 1-2 วินาที ต่อไปเราจะเชื่อมต่อเซ็นเซอร์อินฟราเรดซึ่งจะเรียกใช้สคริปต์เหล่านี้ อีกครั้งมีบทช่วยสอนมากมายเกี่ยวกับวิธีตั้งค่า Raspberry Pi และ PIR ฉันติดตามสิ่งนี้: https://www.instructables.com/id/PIR-Sensor-Interfacing-With-Raspberry-Pi/ โดยพื้นฐานแล้ว ให้สร้างไฟล์โดยใช้ตัวแก้ไขนาโน (เช่น motion_sensor.py) แล้วพิมพ์โค้ด Python ที่เหมาะสมลงไป ด้านล่างนี้เป็นตัวอย่างของไฟล์ของฉัน:
นำเข้า RPi. GPIO เป็น GPIOimport timeimport sysimport subprocessimport datetime เป็น dtimport osGPIO.setwarnings (False)# GPIO.setmode(GPIO. BOARD)GPIO.setmode(GPIO. BCM)GPIO.setup(17, GPIO. IN) #PIRturned_off = Falselast_motion_time time.time()SHUTOFF_DELAY = 180 # secondswhile True:i=GPIO.input(17)if i==0: #เมื่อเอาต์พุตจากเซ็นเซอร์ตรวจจับความเคลื่อนไหวต่ำ ให้ปิดจอภาพหากไม่ได้ปิดและ time.time() > (last_motion_time + SHUTOFF_DELAY): พิมพ์ "No intruders", iturned_off = Truetime.sleep(1)subprocess.call(['/home/pi/monitor_off.sh'], shell=True)elif i==1: #เมื่อส่งออกจากเซ็นเซอร์ตรวจจับความเคลื่อนไหว สูง เปิดมอนิเตอร์ ONprint "ตรวจพบผู้บุกรุก" itime.sleep(1)last_motion_time = time.time()sys.stdout.flush()if turns_off และ dt.datetime.now().hour > 5 และ dt.datetime now().hour < 23:turned_off = Falsesubprocess.call(['/home/pi/monitor_on.sh'], shell=True)if _name_ == '_main_':try:main() ยกเว้น KeyboardInterrupt:GPIO.cleanup ()
โปรดทราบว่า "GPIO.setup (17, GPIO. IN)" ระบุว่าพินเอาต์พุตจาก PIR เชื่อมต่อกับพิน 17 บน Raspberry Pi พินใดขึ้นอยู่กับว่าคุณกำหนด GPIO.setmode(GPIO. BOARD) หรือ GPIO.setmode(GPIO. BCM) มีการอธิบายความแตกต่างที่นี่: https://raspberrypi.stackexchange.com/questions/12966/what-is-the-difference-between-board-and-bcm-for-gpio-pin-numbering ฉันมี # หน้า GPIO. BOARD ดังนั้นจึงละเว้นและใช้ GPIO. BCM
สังเกตบรรทัด
SHUTOFF_DELAY = 180 #วินาที
มีการระบุไว้ในที่นี้ว่าจอภาพเปิดอยู่นานเท่าใดตั้งแต่ตรวจพบการเคลื่อนไหวครั้งล่าสุด ก่อนปิดเครื่อง สิ่งนี้มีประโยชน์เพราะฉันไม่ต้องการให้จอภาพปิด/เปิดตลอดเวลาเมื่อฉันเดินผ่านไป แต่ต้องการเปิดเครื่องไว้สักระยะก่อนที่จะปิด ฉันเลือกช่วงเวลา 180 วินาที เพื่อให้จอภาพปิดประมาณ 3 นาทีหลังจากตรวจพบการเคลื่อนไหวครั้งสุดท้าย
สุดท้ายสายนี้
ถ้า turn_off และ dt.datetime.now().hour > 6 และ dt.datetime.now().hour < 23:
ระบุว่าจอภาพเปิดเฉพาะระหว่าง 6:00 ถึง 23:00 น. ดังนั้นจึงไม่รบกวนฉันในเวลากลางคืน เส้น
พิมพ์ "ไม่มีผู้บุกรุก" ฉัน
และ
พิมพ์ "ตรวจพบผู้บุกรุก" i
มีไว้เพื่อทดสอบสคริปต์เท่านั้น คุณสามารถลบออกได้ในภายหลังเมื่อใช้งานได้ ตอนนี้ทดสอบสคริปต์:
sudo python motion_sensor.py
คุณควรเห็นข้อความ "ตรวจพบผู้บุกรุก" หากคุณโบกมือเหนือเซ็นเซอร์ ไม่เช่นนั้นจะเป็น "ไม่มีผู้บุกรุก" เมื่อสคริปต์นี้ได้รับการทดสอบและใช้งานได้ ให้ตั้งค่าให้เริ่มทำงานเมื่อบูต:
sudo nano ~/.config/lxsession/LXDE-pi/autostart
และเพิ่มบรรทัดต่อไปนี้
@sudo /usr/bin/python /home/pi/motion_sensor.py
แน่นอน คุณต้องระบุชื่อไฟล์ที่ถูกต้องของสคริปต์ Python ที่คุณสร้างขึ้น
ขั้นตอนที่ 5: แขวนปฏิทิน
เมื่อตั้งค่าเสร็จแล้ว ก็ได้เวลาแขวนปฏิทินบนผนังแล้ว!
ตอนแรกฉันคิดว่าจะซ่อน Raspberry Pi ไว้ด้านหลังจอ LCD ดังนั้นต้องใช้สายเคเบิลเพียงเส้นเดียว (ไฟ DC) แต่เนื่องจาก Raspberry ทำงานที่ 5V และจอ LCD ทำงานที่ 12V ฉันจึงต้องการหม้อแปลงเพิ่มเติม นอกจากนี้ เคส Raspberry ค่อนข้างหนา ซึ่งหมายความว่า LCD จะอยู่ห่างจากผนังประมาณ 3 เซนติเมตร ดังนั้นฉันจึงละทิ้งสิ่งนี้และทิ้งอุปกรณ์อิเล็กทรอนิกส์ LCD ไว้ด้านหลัง LCD เท่านั้น เพื่อให้ตอนนี้อยู่ห่างจากผนังไม่ถึง 1 ซม. ฉันได้สายเคเบิลยาว 5 เมตรสองเส้น HDMI หนึ่งเส้นและ 5 มม. หนึ่งเส้นสำหรับแหล่งจ่ายไฟ DC สายไฟทั้งสองข้างเป็นสีขาวเหมือนผนัง ซึ่งหมายความว่าไม่โดดเด่นมากนัก ฉันติดตั้ง LCD บนผนังแล้ววาง Raspberry ไว้บนตู้เย็นที่ผนังฝั่งตรงข้าม ดังนั้นจึงซ่อนไว้โดยพื้นฐาน แต่ก็ยังเข้าถึงได้ง่าย
แนะนำ:
การออกแบบเกมในการสะบัดใน 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 ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง