สารบัญ:

ไฟ LED ซิงโครไนซ์ย่านกว้าง: 5 ขั้นตอน (พร้อมรูปภาพ)
ไฟ LED ซิงโครไนซ์ย่านกว้าง: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ไฟ LED ซิงโครไนซ์ย่านกว้าง: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ไฟ LED ซิงโครไนซ์ย่านกว้าง: 5 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: วิธีต่อหลอดไฟLEDเข้ากับขาหลอดไฟฟลูออเรสเซนต์รุ่นเก่า ทำได้2วิธี 2024, พฤศจิกายน
Anonim
ไฟ LED ซิงโครไนซ์ย่านกว้าง
ไฟ LED ซิงโครไนซ์ย่านกว้าง
ไฟ LED ซิงโครไนซ์ย่านกว้าง
ไฟ LED ซิงโครไนซ์ย่านกว้าง
ไฟ LED ซิงโครไนซ์ย่านกว้าง
ไฟ LED ซิงโครไนซ์ย่านกว้าง

ฉันมีแถบ LED ไร้สายบางอันที่ฉันคิดว่าจะเอาไปใช้ในวันหยุดได้ แต่ในบ้านของฉัน พวกเขาสามารถต่อสายได้เช่นเดียวกัน ดังนั้นความท้าทายที่เย็นกว่าคืออะไร? ไฟ LED ประดับบ้านทุกหลังในบล็อกของฉันพร้อมจอแสดงผลแบบซิงโครไนซ์! ในปีที่บ้าคลั่งนี้ มันเป็นวิธีเชื่อมโยงเราเข้าด้วยกัน

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

มันใช้ไฟ 5 โวลต์ และฉันใช้อะแดปเตอร์ แต่พวกมันสามารถใช้แบตเตอรี่ USB ได้ชั่วขณะเช่นกัน ดังนั้นจึงพกพาได้ ใช้เครือข่าย WiFi ของตนเองที่ไม่ได้เชื่อมต่อกับอินเทอร์เน็ต และสามารถทำงานนอกเครือข่ายได้

เพื่อนบ้านของเราทุกคนต่างตื่นเต้นที่จะได้รับการตกแต่งร่วมกันนี้ และเป็นเรื่องดีที่คุณได้เห็นพวกเขาทั้งหมดแสดงหน้าจอแบบเดียวกันเมื่อคุณเดินไปตามถนน ฉันมีรูปภาพสองสามรูปที่หน้าบ้านของฉันสำหรับการทดสอบ แต่มันยากมากที่จะถ่ายรูปพวกเขาตามท้องถนน

ขั้นตอนที่ 1: อะไหล่

อะไหล่
อะไหล่
อะไหล่
อะไหล่
อะไหล่
อะไหล่

ESP8266 D1 Mini - ฉันใช้โมดูล D1 Mini เนื่องจากฉันต้องการเพียงพิน I/O เดียวสำหรับ LED โครงการนี้สามารถทำได้โดยไม่ต้องบัดกรีโดยใช้แผงขั้วต่อแบบนี้และโมดูล ESP8266 อื่น มีรุ่นของ D1 Mini ที่มีเสาอากาศที่ดีกว่า - D1 Mini Pro มีเสาอากาศเซรามิกและขั้วต่อ U. FL สำหรับเสาอากาศภายนอก แต่คุณต้องย้ายตัวต้านทาน 0 โอห์มสำหรับติดบนพื้นผิวสำหรับเสาอากาศภายนอก อภิปรายเพิ่มเติมในขั้นตอนต่อไป

WS2811 LED Strands - ฉันใช้เกลียว WS2811 เนื่องจากกันน้ำได้ (ยกเว้นขั้วต่อ JST) และใช้งานได้ง่าย แถบ "Neopixel" ของ WS2812b จะใช้รหัสเดียวกันทั้งหมด ฯลฯ ฉันใช้ 5v แต่คุณสามารถรับได้ใน 12v (ใช้กระแสไฟน้อยกว่า) - คุณจะต้องมีตัวแปลงแรงดันไฟฟ้าสำหรับ ESP8266s คุณยังสามารถรับสายไฟ LED WS2811 พร้อมขั้วต่อกันน้ำได้หากต้องการ สายไฟ LED ที่ฉันใช้มีขั้วต่อ JST SM ที่ปลายทั้งสองข้าง - ตัวเมียเป็นอินพุต แต่ฉันเห็นพวกมันต่อสายอีกทางหนึ่ง (ตัวผู้เป็นอินพุต) ทิศทางยังถูกทำเครื่องหมายบน LED เอง นอกจากนี้ยังมีสายฉีดกำลัง - ฉันตัดปลายออกเพื่อไม่ให้ชิ้นส่วนกระป๋องสั้นออก คุณยังสามารถซื้อได้ในแพ็คละ 10

ตัวต้านทาน 330 โอห์ม 1/4 วัตต์ - ใช้ที่ขาข้อมูลบน ESP8266 เพื่อป้องกันไม่ให้ไฟ LED กะพริบ

JST SM 3 Pin Male Connector - สำหรับเชื่อมต่อกับแถบ LED โปรดทราบว่าขั้วต่อ "ตัวผู้" มีฮูดอยู่

ขั้วต่อกล้องวงจรปิดตัวเมีย 2.1 มม. - ใช้สำหรับขั้วต่อสายไฟ คุณสามารถใช้ระบบตัวเชื่อมต่ออื่นสำหรับสิ่งนี้ได้หากต้องการ

แหล่งจ่ายไฟ 5V - อัตราแอมป์ขึ้นอยู่กับจำนวน LED ที่คุณมี 2A หนึ่งน่าจะใช้ได้สำหรับไฟ LED 50 หรือ 100 ดวงที่ไม่เคยเปิดเต็มที่ (ดูขั้นตอนการเดินสายสำหรับข้อมูลเพิ่มเติม)

สายต่อ JST SM 3 ขาหรือสายต่อขนาด 2.1 มม. - เนื่องจากตัวเชื่อมต่อ JST บน D1 Mini อยู่ใกล้กับ LED คุณจึงมักต้องการส่วนต่อขยายเพื่อให้สามารถวาง LED ให้ห่างจาก CPU ได้ ในกรณีของฉัน ฉันลงเอยด้วยการวาง CPU ให้สูงขึ้นในการตกแต่งเพื่อให้ได้ช่วง WiFi ที่ดีขึ้น ดังนั้นฉันจึงเก็บ CPU ไว้ใกล้กับไฟ LED และใช้สายต่อขนาด 2.1 มม. แทน

สายเคเบิล USB ถึง 2.1 มม. - เป็นอุปกรณ์เสริม - ให้คุณจ่ายไฟให้กับสายไฟจากแหล่ง USB หรือแบตเตอรี่

ท่อหดความร้อน 3 มม. - คุณต้องการเพียงประมาณ 1 นิ้วเพื่อปิดตัวต้านทานบน D1 Mini

ท่อหดแบบใช้ความร้อนแบบใส 20 มม. - เป็นทางเลือกส่วนหนึ่งในการป้องกันขั้วต่อของ D1 Mini ตรวจสอบให้แน่ใจว่าได้หนีบสวิตช์รีเซ็ตหลังจากใช้แล้วหากท่อบีบอัดสวิตช์

Waterproof Box - เพื่อป้องกันแหล่งจ่ายไฟและ CPU ภายนอก เพื่อนบ้านของฉันส่วนใหญ่ใช้ถุงพลาสติก

ท่อร้อยสาย EMT 1/2" - ชิ้น 29" พอดีกับรูปทรงอ้อยขนม - ฉันใช้สายรัดซิป 4 อันเพื่อยึดไว้ ฉันลองใช้ PVC ขนาด 1/2 นิ้วและพอดี แต่สัมผัสไฟ LED ทั้งสองข้าง

เหล็กเส้นขนาด 3/8" x 3" - เมื่อติด EMT กับรูปทรงแล้ว คุณสามารถทุบเหล็กเส้นลงบนพื้นแล้ววางท่อ EMT ทับได้ เหล็กเส้น 1/2" จะพอดี แต่คุณจะต้องตัดเหล็กเส้นออก ส่วนโค้งงอและอยู่ใกล้ - หากถูกแบนหรืออะไรก็ตามเมื่อทุบเข้าไป มันจะแน่นมาก ดังนั้น 3/8" จึงมีแนวโน้มที่จะล้างเส้นผ่านศูนย์กลางภายในของท่อ EMT ได้ง่ายขึ้น

รูปทรง Candy Cane - ดูขั้นตอนเหล่านี้ คุณสามารถ DIY รูปร่าง ประดับไว้บนพุ่มไม้ หรือใช้รูปร่างเช่นนี้

ขั้นตอนที่ 2: การประกอบคอนโทรลเลอร์

ชุดควบคุม
ชุดควบคุม
ชุดควบคุม
ชุดควบคุม
ชุดควบคุม
ชุดควบคุม
ชุดควบคุม
ชุดควบคุม

ตัวควบคุมประกอบด้วย D1 Mini (ESP8266), แจ็คไฟสำหรับกล้องวงจรปิด 2.1 มม. ตัวเมีย, ตัวต้านทาน 330 โอห์ม และขั้วต่อตัวผู้ JST 3 ขา

สมมติฐานสำหรับโครงการนี้คือ คุณจะใช้ไฟ LED 50-100 ดวง หากคุณต้องการใช้มากขึ้น คุณจะต้องใช้การจ่ายไฟเพื่อจ่ายไฟให้กับ LED ทั้งหมด ดูคำแนะนำอื่น ๆ นี้สำหรับการสนทนาที่ลึกซึ้งยิ่งขึ้น

ด้วยไฟ LED 50 ดวงทั้งหมดเป็นสีขาวล้วน จะวาดได้ 50 x 0.06A = 3 แอมป์ ดังนั้น ด้วยอะแดปเตอร์ 2A เราจึงคาดว่าอะแดปเตอร์จะไม่มีวันเปิดอย่างเต็มที่ สำหรับไฟ LED 100 ดวง ค่าสูงสุดคือ 6A ดังนั้นควรระมัดระวังมากขึ้นในการเปิดไฟบางส่วนในแต่ละครั้ง แม้จะมีไฟ LED 100 ดวงที่ 0.02A ต่ออัน แต่เราก็ยังใช้ 2 แอมป์ ดังนั้น ขอแนะนำให้ใช้แหล่งจ่ายไฟที่มีกระแสไฟสูงกว่า แม้ว่าฉันจะปรับจอแสดงผลให้ไม่ใช้ไฟ LED หรือสีทั้งหมดในคราวเดียว ลดแสงลงมาก และได้เริ่มต้นด้วยอุปกรณ์ 2A ที่มีไฟสำรองที่ใหญ่กว่า นี่เป็นบทความที่ดีเกี่ยวกับการลดความต้องการพลังงาน

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

ฉันบัดกรีตัวต้านทานกับ D1 Mini โดยตรง แต่เหลือตะกั่วไว้เหนือบอร์ดประมาณ 1/8 "เพื่อที่ฉันจะได้ดัดให้แบนได้ ฉันใช้ตัวต้านทานความร้อน 3 มม. หดตัวประมาณ 1" เพื่อป้องกันไม่ให้ลัดวงจรบน กระดาน.

ฉันใช้การหดตัวด้วยความร้อนใส 20 มม. เพื่อป้องกัน D1 Mini จากการสัมผัสกับโลหะ ฯลฯ อย่าลืมตรวจสอบสวิตช์รีเซ็ตที่ด้านข้าง - คุณอาจต้องตัดความร้อนที่หดตัวเล็กน้อยเพื่อให้แน่ใจว่าไม่ได้กดสวิตช์ ฉันต้องการสิ่งนั้นทั้งหมดของฉัน

โปรดทราบว่าฉันไม่ต้องการตัวเลื่อนระดับจากเอาต์พุต 3.3V ESP8266 และไฟ LED ทำงานที่ 5V (เนื่องจากข้อมูลจำเพาะชิป LED จะต้องมีสายข้อมูลไม่น้อยกว่า 70% ของแหล่งจ่าย) ฉันต้องการไดโอด/ LED เสียสละในโปรเจ็กต์ก่อนหน้า (ขั้นตอนที่ 3) ที่มีแถบ WS2812b แต่ชิป WS2811 โดยตรงใน LED นั้นดูโอเคจนถึงตอนนี้

คุณสามารถทำได้โดยไม่ต้องบัดกรี! เทอร์มินอลชิลด์ ESP8266 ที่มี CPU ต่างกันก็ใช้งานได้เช่นกัน ฟอร์มแฟคเตอร์ของ D1 Mini นั้นดีและเล็ก แต่พวกมันก็ทำงานเหมือนกันหมด

ขั้นตอนที่ 3: รูปร่าง

รูปร่าง
รูปร่าง
รูปร่าง
รูปร่าง
รูปร่าง
รูปร่าง

เส้น LED สามารถเป็นแบบอิสระหรือคุณสามารถสร้างเป็นรูปทรงได้ - ไม่ว่าจะทำเองหรือจากร้านค้าออนไลน์ ฉันสั่งซื้อรูปทรงต่างๆ จาก HolidayCoro - ต้นไม้ LED ขนาดเล็ก ถุงเท้ายาว และลูกกวาดไม้เท้า สต็อคใช้ไฟ LED 50 ดวงอย่างดี - ความยาวของหนึ่งเส้น ต้นไม้ต้นเล็กๆ ใช้หลอดไฟ LED 100 ดวง แต่คุณสามารถทำได้ครึ่งหนึ่งหากต้องการ โดยหันหน้าไปทางถนน ในที่สุดอ้อยขนมก็เป็นที่ชื่นชอบของเพื่อนบ้านเพราะมันใหญ่กว่าเล็กน้อย ไฟ LED 99 ดวงและฉันทิ้งอันสุดท้ายไว้ด้านหลังโดยคิดว่าสามารถใช้สำหรับการดีบักได้

เนื่องจากรูปร่างเป็นสีขาว เราจึงตัดสินใจทาแถบสีแดงเพื่อให้ดูดีขึ้นในเวลากลางวัน ฉันปิดบังพวกเขา ทำทรายละเอียดอย่างรวดเร็ว เช็ดด้วยอะซิโตน (น้ำยาล้างเล็บแบบเต็มกำลัง) และใช้สีสเปรย์สองชั้นที่ใช้กับพลาสติกได้ ถือว่าติดดี ส่วนใหญ่เราทำอยู่ด้านหนึ่ง และอีกสองสามหลังสำหรับบ้านสองหลังที่มี 2 หลัง

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

รหัส & WiFi
รหัส & WiFi
รหัส & WiFi
รหัส & WiFi
รหัส & WiFi
รหัส & WiFi

D1 Mini ใช้โมดูล Espressif ESP8266 ฉันตั้งโปรแกรมโดยใช้ Arduino IDE ดังนั้นจึงรู้สึกเหมือน Arduino ทรงพลังที่มี WiFi ในตัว มีคำแนะนำมากมายบนอินเทอร์เน็ตเกี่ยวกับวิธีกำหนดค่า Arduino IDE สำหรับ ESP8266 และ D1 Mini ดังนั้นฉันจะไม่ทำซ้ำที่นี่

รหัสจะขึ้นอยู่กับคำสั่งก่อนหน้า ใช้ไลบรารี Painless Mesh เพื่อให้ CPU ทั้งหมดคุยกัน ฉันใช้ไลบรารี FastLED เนื่องจากก่อนหน้านี้ฉันมีปัญหากับไลบรารีเมชและไลบรารี Neopixel และฉันไม่ได้ทำการทดสอบซ้ำในครั้งนี้

ฉันไม่แน่ใจว่าจำนวนโหนดสูงสุดคือเท่าใด บางโพสต์ระบุว่าจะถูกจำกัดด้วยจำนวนข้อความและประเภท CPU และบางทีฝาอาจอยู่ที่ประมาณ 30-60 โหนด แอปพลิเคชันนี้ไม่ได้ส่งข้อความจำนวนมาก - เป็นเพียงการเปลี่ยนภาพเคลื่อนไหว แม้ว่าจะมีข้อความอัตโนมัติบางอย่าง เช่น การเปลี่ยนตาข่ายและข้อความซิงค์เวลา

คุณสามารถเชื่อมต่อไฟ LED กับ D1 Mini ขณะเข้ารหัส แต่คุณอาจต้องการแหล่งจ่ายไฟภายนอกหากคุณมีมากกว่า 50 แหล่ง เนื่องจากคุณอาจมีแหล่งจ่ายไฟเกินจากพอร์ต USB ของคอมพิวเตอร์และตัวควบคุมพลังงานของ D1 Mini ดังที่กล่าวไปแล้ว เมื่อโค้ดของฉันไม่เปิดไฟ LED แบบเต็ม ฉันสามารถตั้งโปรแกรม LED 100 ดวงบนการเชื่อมต่อ USB ได้โดยไม่มีปัญหา

โมดูล ESP8266 มี WiFi ในตัว เนื่องจากรหัสตาข่าย (PainlessMesh) ที่เราใช้สร้างจุดเข้าใช้งานในแต่ละโมดูล ช่วงสำหรับการเข้าถึงพื้นที่ใกล้เคียงจึงมีความสำคัญ ฉันใช้รูปทรงอ้อยขนม และวาง CPU ไว้ที่ด้านบนสุดเพื่อให้ได้ระยะที่ดีที่สุด และอยู่ห่างจากบ้านของฉันประมาณ 50-100 ฟุต - หนึ่งหรือสองหลาในละแวกของฉัน ระดับสายตาที่สูงขึ้นและดีขึ้น (LOS) ช่วยปรับปรุงสิ่งต่างๆ ในบางกรณีช่วงที่ข้ามถนน (ขึ้นอยู่กับรถที่ขวาง LOS มากกว่า)

มีบ้านสองสามหลังที่ไม่ได้ซิงก์เนื่องจากสิ่งกีดขวาง WiFi แต่ไฟก็ดูดีแม้ว่าจะไม่ได้ซิงก์ก็ตาม ฉันสร้างโหนด "ทวน" โดยมีเพียง D1 Mini บนแท่งที่ใช้พลังงานจากแบตเตอรี่ USB เมื่อวางไว้ระหว่างบ้านเรือนก็ประสานกันอย่างเหมาะสม สำหรับตัวทวนสัญญาณระยะไกล คุณอาจใช้แบตเตอรี่พลังงานแสงอาทิตย์ USB แม้ว่าจะไม่ชาร์จเร็วมาก

ฉันยังคงพบปัญหาการซิงโครไนซ์เป็นช่วงๆ อยู่ จากนั้นพบบันทึกย่อนี้ว่ามีโหนดมากเกินไปหรือกระจายออกไป:

gitlab.com/painlessMesh/painlessMesh/-/wik…

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

ฉันยังเพิ่มการอัปเดตอีกหนึ่งรายการให้กับตัวแปร SetRoot: ฉันเพิ่มรหัสเพื่อรีเซ็ต ESP8266 หากไม่มีคำสั่งใดๆ เป็นเวลา 10 นาที สิ่งนี้ทำให้โหนดมีโอกาสค้นพบโหนดรูทอีกครั้ง ดูเหมือนว่าจะช่วยกับโหนดที่อยู่ห่างไกลออกไปบางส่วน

เมื่อสิ้นสุดฤดูกาล ฉันสามารถทดสอบโมดูล D1 Mini Pro บางตัวได้ พวกเขามีเสาอากาศเซรามิกบนบอร์ด และคุณยังสามารถใช้ขั้วต่อ U. FL และเสาอากาศภายนอกได้หากคุณย้ายตัวต้านทานศูนย์โอห์ม ฉันลองใช้คู่ที่มีปัญหาในการซิงก์กับ D1 Mini Pros กับเสาอากาศเซรามิก และพวกมันก็ทำงานได้ดีขึ้น ฉันทำการทดสอบในภายหลังด้วยโหนดเดียวในบ้านของฉัน จากผลลัพธ์ เราจะเปลี่ยนไปใช้โมดูล D1 Mini Pro ที่มีเสาอากาศเซรามิกในปีหน้า

ด้วยรีโมท D1 Mini: มีเพียง D1 Mini Pro ที่มีเสาอากาศภายนอกเท่านั้นที่มองเห็น และความแรงของสัญญาณต่ำ

ด้วยรีโมท D1 Mini Pro ที่มีเสาอากาศเซรามิก: D1 Mini, D1 Mini Pro พร้อมเสาอากาศเซรามิก และ D1 Mini Pro ที่มีเสาอากาศภายนอก ต่างก็เห็นมันด้วยความแรงของสัญญาณที่ใกล้เคียงกัน นั่นเป็นการปรับปรุงให้ดีขึ้น การวางแนวของบอร์ด (เสาอากาศ) มีความสำคัญในระดับหนึ่ง

ด้วยรีโมท D1 Mini Pro ที่มีเสาอากาศภายนอก: บอร์ดอื่นๆ ทั้งหมดเห็นแล้ว แต่ความแรงของสัญญาณไม่ได้ดีไปกว่าการทดสอบด้วยเสาอากาศเซรามิกในตัว ดังนั้นฉันจะไม่รบกวนการย้ายตัวต้านทานศูนย์โอห์มเหล่านั้นและใส่เสาอากาศบน อ้อยขนม

ขั้นตอนที่ 5: การประกอบขั้นสุดท้าย

การประกอบขั้นสุดท้าย
การประกอบขั้นสุดท้าย
การประกอบขั้นสุดท้าย
การประกอบขั้นสุดท้าย
การประกอบขั้นสุดท้าย
การประกอบขั้นสุดท้าย

เมื่อคุณมีคอนโทรลเลอร์พร้อมและตั้งโปรแกรมแล้ว สิ่งที่คุณต้องทำคือเชื่อมต่อ LED กับคอนโทรลเลอร์ด้วยสาย JST และแหล่งจ่ายไฟ 5v บนแจ็ค 2.1 มม.

ส่วนขยาย JST ควรมีประโยชน์ในการทำให้คอนโทรลเลอร์และอะแดปเตอร์จ่ายไฟอยู่ห่างจาก LED เสมอ หรือเพื่อให้ CPU สูงขึ้น ฉันใส่ถุงพลาสติกเล็กๆ มัดด้วยสายรัด และใช้สายไฟต่อขนาด 2.1 มม. กับแหล่งจ่ายไฟ

กล่องกันน้ำจะช่วยปกป้องอะแดปเตอร์และ CPU แต่เพื่อนบ้านของฉันส่วนใหญ่ใช้ถุงพลาสติกธรรมดา

ความท้าทายความเร็วของการตกแต่งวันหยุด
ความท้าทายความเร็วของการตกแต่งวันหยุด
ความท้าทายความเร็วของการตกแต่งวันหยุด
ความท้าทายความเร็วของการตกแต่งวันหยุด

รางวัลที่สองในการท้าทายความเร็วการตกแต่งวันหยุด

แนะนำ: