สารบัญ:
- ขั้นตอนที่ 1: ชิ้นส่วนที่จำเป็น
- ขั้นตอนที่ 2: การบัดกรี เซนเซอร์ บนบอร์ดฝ่าวงล้อม
- ขั้นตอนที่ 3: บัดกรีอุปกรณ์ที่เหลือ
- ขั้นตอนที่ 4: แบตเตอรี่และอุปกรณ์ชาร์จ
- ขั้นตอนที่ 5: กระพริบอุปกรณ์
- ขั้นตอนที่ 6: วิธีใช้อุปกรณ์
- ขั้นตอนที่ 7: ทดสอบอุปกรณ์
- ขั้นตอนที่ 8: ตัวป้องกันแสงแดดและท่อหด
- ขั้นตอนที่ 9: วิทยาศาสตร์
วีดีโอ: เครื่องวัดระยะสูงแบบอิเล็กทรอนิกส์สำหรับบอลลูนสตราโตสเฟียร์: 9 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
ทีมของเรา RandomRace.ru เปิดตัวลูกโป่งฮีเลียม เล็กและใหญ่ มีกล้องและไม่มี เราเปิดตัวรายการเล็ก ๆ เพื่อสุ่มวางจุดตรวจสำหรับการแข่งขันการแข่งขันผจญภัย และรายการใหญ่เพื่อสร้างวิดีโอและภาพถ่ายที่ยอดเยี่ยมจากชั้นบนสุดของบรรยากาศ ยังไม่ใช่ที่ว่าง แต่ที่ระดับความสูง 30 กม. ความกดอากาศประมาณ 1% ของปกติ ดูไม่เป็นบรรยากาศแล้วใช่มั๊ยคะ? ความรับผิดชอบของฉันในทีมคืออุปกรณ์อิเล็กทรอนิกส์ และฉันต้องการแบ่งปันหนึ่งในโครงการของฉันที่นำไปปฏิบัติในหน้าที่นั้น
เราจะวัดความสูงของบอลลูนได้อย่างไร? ด้วย GPS (ส่วนใหญ่ไม่ทำงานเกิน 18 กม.) หรือเครื่องวัดความสูงด้วยความกดดันของบรรยากาศ มาสร้างบอร์ดไมโครคอนโทรลเลอร์ (MCU) กันเถอะ! เราต้องการให้มันเบา ราคาถูก (เพราะบางครั้งเราสูญเสียโพรบของเรา) และง่ายต่อการสร้าง ใช้งานง่าย นอกจากนี้ยังควรวัดความดันที่ต่ำมาก อุปกรณ์ควรบันทึกข้อมูลอย่างน้อย 5 ชั่วโมงติดต่อกัน ลองใช้แบตเตอรี่ลิเธียมจากโทรศัพท์มือถือเครื่องเก่าเป็นแหล่งพลังงาน ตามความต้องการ ฉันได้เลือก Maple Mini board ซึ่งใช้ n ไมโครคอนโทรลเลอร์ ARM (STM32F103RC) พร้อมอินเทอร์เฟซ USB หน่วยความจำภายใน 128 Kb ซึ่งเพียงพอสำหรับทั้งเฟิร์มแวร์ MCU และข้อมูลที่รวบรวม น่าเสียดาย (หรือโชคดี?) LeafLabs ไม่ได้ผลิตบอร์ดเหล่านั้นอีกต่อไป แต่สามารถพบโคลนของพวกมันได้ในร้านค้าออนไลน์ของจีนด้วยเงินเพียงไม่กี่ดอลลาร์เท่านั้น นอกจากนี้เรายังได้บริจาคเซ็นเซอร์ความดันอากาศ MS5534 จำนวนหนึ่งซึ่งสามารถวัดได้ 0.01…1.1 บาร์ นั่นก็เพียงพอแล้วสำหรับความสูง 30 กม.
อุปกรณ์นี้ค่อนข้างง่าย คุณเพียงแค่ต้องใช้ทักษะและเครื่องมือในการบัดกรี (ไม่จำเป็นต้องบัดกรีชิ้นส่วนเล็กๆ จริงๆ) และทักษะคอมพิวเตอร์ขั้นพื้นฐาน ที่นี่คุณสามารถค้นหาที่เก็บ github ที่มีทั้งการออกแบบ PCB ฝ่าวงล้อมในรูปแบบ Eagle และเฟิร์มแวร์
ขั้นตอนที่ 1: ชิ้นส่วนที่จำเป็น
- โคลนของบอร์ด Maple Mini MCU
- แถวพิน 4*1 2.54 มม. (0.1") (ปกติจะมาพร้อมกับบอร์ด MCU)
- แบตเตอรี่ 1S LiPo แบตเตอรี่จากมือถือรุ่นเก่าหรือกล้องแอคชั่นแคมพอดี
- บอร์ดชาร์จ LiPo 1S
- MS5534 เซ็นเซอร์ความกดอากาศ
- MS5534 กระดานฝ่าวงล้อม
- 1N5819 Schottky diode หรือใกล้เคียง
- ผมเปีย JST RCY, 1*ตัวเมีย, 2*ตัวผู้
- กระป๋องเบียร์อลูมิเนียมเปล่า
- ท่อหดความร้อน D=2, 5mm(0.1") ของสีใดๆ
- ท่อหดความร้อน D=20mm(0.8"), โปร่งใส
แทนที่จะใช้ MS5534 คุณสามารถใช้ MS5540 ได้ แต่ต้องใช้บอร์ดฝ่าวงล้อมอื่น คุณสามารถสร้างมันขึ้นมาเองโดยใช้ EagleCAD หรือ KiKad หรืออะไรก็ได้ที่คุณต้องการ คุณยังสามารถบัดกรีเซ็นเซอร์โดยตรงด้วยสายไฟหากคุณมีทักษะในการบัดกรีเพียงพอ
เครื่องมือที่จำเป็น:
- ชุดเครื่องมือบัดกรีปกติ
- กรรไกรและคีม
- หรือจะเป็นพัดลมบัดกรีก็ได้ หากคุณไม่มี คุณสามารถใช้หัวแร้งและที่จุดบุหรี่แทนได้
- สายไฟตัวเมีย-ตัวเมียแบบมาตรฐาน 1 พิน
- หมุดติดต่อพิเศษสองสามอัน
- บอร์ดสาธิต STM32 เพื่อใช้เป็นอุปกรณ์แฟลช MCU ฉันใช้ NUCLEO-F303RE แต่สามารถใช้บอร์ด STM32 Nucleo64 หรือ Nucleo144 ใดก็ได้
ขั้นตอนที่ 2: การบัดกรี เซนเซอร์ บนบอร์ดฝ่าวงล้อม
ก่อนอื่น เราต้องประสานเซ็นเซอร์เข้ากับบอร์ดฝ่าวงล้อม ใช้หัวแร้งบัดกรีและหัวแร้งบัดกรี ถ้ามี ถ้าไม่สามารถทำได้โดยใช้หัวแร้งและหัวแร้งธรรมดา เมื่อเสร็จแล้วให้ตัดแถวสี่พินและลวดสองชิ้น อย่างละ 4 ซม. ประสานพวกเขาไปที่ฝ่าวงล้อมดังแสดงในภาพที่สอง - หมุด + และ - ควรเชื่อมต่อกับสายไฟ อีก 4 อันระหว่างพวกเขา - กับแถวพิน หมุดต้องอยู่ที่ด้านล่างของฝ่าวงล้อม
ขั้นตอนที่ 3: บัดกรีอุปกรณ์ที่เหลือ
บอร์ดเซ็นเซอร์และกวี MCU ควรวางซ้อนกัน และต้องวางเซ็นเซอร์ไว้เหนือชิป MCU
แผนภาพการเชื่อมต่อแสดงในภาพที่ 1 และนี่คือการเชื่อมต่อทั้งหมดที่ระบุไว้:
- พินฝ่าวงล้อม "+" เชื่อมต่อกับพินบอร์ด MCU "Vcc"
- พินฝ่าวงล้อม "GND" เชื่อมต่อกับพินบอร์ด MCU "GND"
- หมุดฝ่าวงล้อม "8", "9", "10", "11" เชื่อมต่อกับหมุดของบอร์ด MCU ที่มีหมายเลขเดียวกัน
- สาย JST RCY Maleblack เชื่อมต่อกับพิน "GND" อื่นของบอร์ด MCU
- JST RCY สายสีแดงตัวผู้เชื่อมต่อกับไดโอดแอโนด
- ไดโอดแคโทดเชื่อมต่อกับบอร์ด MCU "Vin" pin
ก่อนเชื่อมต่อผมเปีย JST อย่าลืมวางท่อยืดความร้อนบาง ๆ บนสายสีแดง
สิ่งสุดท้ายที่ต้องทำ - ไดโอดจะต้องหุ้มฉนวนด้วยท่อหดด้วยความร้อน เพียงดึงไว้เหนือไดโอด จากนั้นอุ่นด้วยพัดลมบัดกรี อุณหภูมิที่แนะนำคือประมาณ 160C (320F) หากคุณไม่มีพัดลม ให้ใช้เทียนไขหรือที่จุดบุหรี่ แต่ระวังด้วย
ขั้นตอนที่ 4: แบตเตอรี่และอุปกรณ์ชาร์จ
ให้สร้างแหล่งพลังงานสำหรับอุปกรณ์และที่ชาร์จสำหรับมัน ควรบัดกรีผมเปียตัวเมียกับแบตเตอรี่ สายสีแดงไปที่ "+" สีดำถึง "-" ปกป้องการเชื่อมต่อด้วยกาวร้อน เทปพันสายไฟ หรือเทปฉนวน - ตามที่คุณต้องการ
ต้องบัดกรีผมเปียตัวผู้เข้ากับบอร์ดชาร์จ - สายสีแดงไปที่ "B+", สีดำถึง "B-" ยึดบอร์ดให้แน่นด้วยท่อหดแบบใช้ความร้อน ตอนนี้คุณสามารถเชื่อมต่อเครื่องชาร์จกับแบตเตอรี่ และเครื่องชาร์จกับแหล่งจ่ายไฟ USB หรือพอร์ตคอมพิวเตอร์ ไฟ LED สีแดงบนกระดานแสดงว่ากำลังชาร์จอยู่ สีเขียวหนึ่ง - แบตเตอรี่ที่ชาร์จเต็มแล้ว บอร์ดอาจร้อนขึ้นระหว่างการชาร์จ แต่ไม่มากจนเกินไป
ขั้นตอนที่ 5: กระพริบอุปกรณ์
หากต้องการแฟลชอุปกรณ์ คุณต้องติดตั้งซอฟต์แวร์บางตัว สำหรับ Windows คุณสามารถใช้แอปพลิเคชันดั้งเดิมได้จากเว็บไซต์ st.com ขออภัย คุณต้องลงทะเบียนที่นี่
ภายใต้ Linux หรือ Mac (ใน Windows ก็ได้เช่นกัน) คุณสามารถใช้ OpenOCD โปรดดูคำแนะนำในการติดตั้งและการใช้งานบนเว็บไซต์
ตอนนี้คุณสามารถดาวน์โหลดเฟิร์มแวร์
ในการเตรียมอุปกรณ์สำหรับการกะพริบ คุณต้องบัดกรีหมุดอีกสองตัวชั่วคราวกับหน้าสัมผัส 21 และ 22 ของบอร์ด MCU
ในการเชื่อมต่ออุปกรณ์ของเรากับไฟกะพริบ:
- เปิดจัมเปอร์ทั้งสองบนขั้วต่อ CN2 ของบอร์ด Nucleo(สีขาว) ที่ช่วยให้บอร์ดสามารถแฟลชอุปกรณ์ภายนอกได้
- เชื่อมต่อ MCU pin 21 กับพิน 2 ของตัวเชื่อมต่อ Nucleo CN4
- ต่อสายแบตเตอรี่สีดำเข้ากับพิน 3 ของขั้วต่อ Nucleo CN4
- เชื่อมต่อ MCU pin 22 กับพิน 4 ของตัวเชื่อมต่อ Nucleo CN4
- เชื่อมต่อทั้งอุปกรณ์และบอร์ด Nucleo กับคอมพิวเตอร์ด้วยสาย USB
-
แฟลชเฟิร์มแวร์ (Windows)
- เรียกใช้ยูทิลิตี้ STM32 ST-LINK
- เลือกไฟล์ -> เปิดไฟล์… -> เปิดเฟิร์มแวร์ที่ดาวน์โหลด
- เลือก Target -> Option Bytes… เลือก Read Out Protection: Disabled คลิกสมัคร
- เลือก Target -> Program & Verify คลิก Start
-
แฟลชเฟิร์มแวร์ (Linux & Mac)
- ดาวน์โหลดและติดตั้ง OpenOCD
- เรียกใช้คำสั่ง
อินเทอร์เฟซ openocd -f/stlink-v2-1.cfg -f target/stm32f1x.cfg -c "เริ่มต้น; รีเซ็ตหยุด; stm32f1x ปลดล็อก 0; โปรแกรม baro_v4.hex; ปิด"
แค่นั้นแหละ!
ขั้นตอนที่ 6: วิธีใช้อุปกรณ์
หากทุกอย่างเรียบร้อยดี เราก็พร้อมที่จะเรียกใช้อุปกรณ์ เครื่องวัดระยะสูงมีสามโหมด:
ลบข้อมูล
จ่ายไฟให้อุปกรณ์ผ่าน USB หรือผ่านขั้วต่อแบตเตอรี่สีแดง กดปุ่ม (ห่างจากขั้วต่อ USB มากที่สุด) ค้างไว้ 2-3 วินาที ไฟ LED สีฟ้าควรเริ่มกะพริบอย่างรวดเร็วและกะพริบต่อไปจนกว่าข้อมูลทั้งหมดจะถูกลบ
บันทึกข้อมูล
เชื่อมต่ออุปกรณ์กับแบตเตอรี่ด้วยขั้วต่อสีแดง ไฟ LED สีฟ้าจะกะพริบถี่ๆ สองสามวินาที แล้วเปลี่ยนเป็นกะพริบหนึ่งครั้งต่อวินาที ทุกครั้งที่กะพริบ ตัวอย่างข้อมูลจะถูกเขียนไปยังหน่วยความจำภายในของอุปกรณ์ อุปกรณ์สามารถบันทึกการวัดได้นานถึง 9 ชั่วโมง
การอ่านข้อมูล
ถอดแบตเตอรี่และเชื่อมต่ออุปกรณ์กับคอมพิวเตอร์ด้วยสาย USB หลังจากกะพริบถี่ๆ สองสามวินาที มันจะเปลี่ยนเป็นกะพริบสองครั้งต่อวินาที นี่คือโหมดการอ่านข้อมูล อุปกรณ์นี้เป็นที่รู้จักในฐานะแฟลชไดรฟ์ชื่อ BARO_ELMOT ไดรฟ์ไม่สามารถเขียนได้ คุณสามารถอ่านข้อมูลได้เท่านั้น ในตัวจัดการไฟล์ คุณจะพบไฟล์สองไฟล์บนอุปกรณ์ โดยไฟล์แรกมีชื่อว่า LEFT_123. MIN นี่เป็นไฟล์ปลอม ไม่มีข้อมูลใด ๆ แต่ "123" หมายความว่ายังมีที่ว่างสำหรับการบันทึกข้อมูล 123 นาที อีกไฟล์หนึ่งคือ BARO. TXT มีข้อมูลที่รวบรวมจริง เช่น แท็บคั่นข้อความ - ส่วนหัวและบรรทัดข้อมูล รูปแบบนี้สามารถนำเข้าสู่ MS Excel หรือแอปพลิเคชันสเปรดชีตอื่นๆ ได้อย่างง่ายดาย รวมถึง Google ชีต แต่ละบรรทัดประกอบด้วยหมายเลขชุดข้อมูล (S) หมายเลขตัวอย่าง (N) (=เวลาที่ผ่านไปเป็นวินาที) อุณหภูมิ (T) ใน เซลเซียส ความกดอากาศ (P) ในหน่วย mbars และค่าความสูงคร่าวๆ (A) ในหน่วยเมตรเหนือระดับน้ำทะเล บันทึก! ค่า "A" นั้นหยาบมาก คุณอาจคำนวณความสูงจากข้อมูลความดันด้วยตัวเอง ดูขั้นตอนเพิ่มเติม
ขั้นตอนที่ 7: ทดสอบอุปกรณ์
- เชื่อมต่อแบตเตอรี่เข้ากับอุปกรณ์ LED ควรเริ่มกะพริบ
- กดปุ่มผู้ใช้ค้างไว้ หลังจาก 2-3 วินาที LED จะเริ่มทำงานอย่างรวดเร็ว ปล่อยปุ่ม ให้เย็นอย่าถอดแบตเตอรี่ กำลังลบข้อมูล
- หลังจากนั้นครู่หนึ่ง LED จะเริ่มกะพริบหนึ่งครั้งต่อวินาที
- เปิดเครื่องไว้อย่างน้อย 30 วินาที
- ถอดแบตเตอรี่
- เชื่อมต่ออุปกรณ์ของคุณกับคอมพิวเตอร์ด้วยสาย USB
- อุปกรณ์จะปรากฏเป็นแฟลชไดรฟ์ขนาดเล็กเพียง 3Mb เท่านั้น เปิดไฟล์ BARO. TXT ที่นั่นด้วยโปรแกรมแก้ไขข้อความ
- ตรวจสอบว่าคอลัมน์ T และ P มีข้อมูลที่สมเหตุสมผลหรือไม่ โดยปกติประมาณ 20-30 สำหรับ T, ประมาณ 1,000 สำหรับ P สำหรับ P หากคุณอยู่ในตู้เย็นหรือบนยอดเขาเอเวอเรสต์ ตัวเลขจะแตกต่างกันอย่างมากแน่นอน
ขั้นตอนที่ 8: ตัวป้องกันแสงแดดและท่อหด
หลังจากขั้นตอนที่แล้ว เรามั่นใจว่าทุกอย่างทำงานได้ดี ตอนนี้เราควรเลิกขายหมุดที่กะพริบ เพราะเราไม่ต้องการมันอีกต่อไป นอกจากนี้ ควรตัดส่วนปลายของหมุดที่เชื่อมต่อเซ็นเซอร์และบอร์ด MCU อย่างถูกต้อง มิฉะนั้น จะสามารถเจาะฝาครอบพลาสติกด้านนอกของอุปกรณ์ได้
เซ็นเซอร์ที่ใช้ในโครงการไม่ควรโดนแสงแดดโดยตรง เราจะสร้างเกราะป้องกันจากกระป๋องเบียร์อลูมิเนียม แน่นอน ถ้าคุณก้าวหน้าถึงขั้นนั้นแล้ว คุณสมควรได้รับเนื้อหาของกระป๋องที่น่าสงสารนั้น ตัดด้วยกรรไกรอลูมิเนียมขนาดประมาณ 12*12 มม. (0.5"*0.5") จากนั้นงอสองด้านตรงข้ามกันด้วยคีมเพื่อทำ "ถาด" ขนาดเล็ก 7*12*2.5 มม. (0.28"*0.5"*0.1") หลังจากดัดแล้ว ให้ตัดแถบ 1.5 มม. จากด้านที่งอนั้นออกเพื่อให้ถาดก ต่ำกว่าเล็กน้อย สูงประมาณ 1 มม.
วางถาดไว้ด้านบนของเซ็นเซอร์ หมายเหตุ - ไม่ควรสัมผัสที่ติดต่อใด ๆ ! จากนั้นใส่อุปกรณ์ที่มีถาดลงในท่อหดด้วยความร้อน (ยาวกว่าบอร์ดเล็กน้อย) และให้ความร้อนอย่างดี แต่ใช้พัดลมบัดกรี (หรือที่จุดบุหรี่) อย่างระมัดระวัง ตรวจสอบอีกครั้งว่าฝาครอบอะลูมิเนียมไม่สัมผัสกับหน้าสัมผัสของเซ็นเซอร์หรือไม่
ขั้นตอนที่ 9: วิทยาศาสตร์
ตอนนี้เรามีอุปกรณ์พร้อมทำงานแล้ว มันวัดอุณหภูมิและความดันอากาศ และยังประมาณความสูงโดยประมาณ ขออภัย ความกดดันขึ้นอยู่กับระดับความสูง ซึ่งไม่ใช่เรื่องเล็กน้อย คุณอาจอ่านเรื่องนี้ในวิกิพีเดีย เราจะคำนวณความสูงของบอลลูนให้แม่นยำยิ่งขึ้นได้อย่างไร วิธีหนึ่งคือการใช้เครื่องคำนวณบรรยากาศมาตรฐานปี 1976 อุปกรณ์ของคุณมีข้อมูลรุ่นเดียวกัน แต่ไม่แม่นยำนักเนื่องจากข้อจำกัดด้านหน่วยความจำของอุปกรณ์ เมื่อใช้ข้อมูลบารอมิเตอร์และเครื่องคิดเลข คุณจะสามารถคำนวณระดับความสูงได้ดีกว่าที่เครื่องคำนวณเอง นอกจากนี้ การพิจารณาสภาพอากาศที่จุดปล่อยบอลลูนของคุณ (แน่นอนว่าจะถูกบันทึกไว้ที่เครื่องวัดระยะสูงเดียวกันในตอนเริ่มต้น) และระดับความสูงของจุดปล่อยบอลลูน คุณจะพบการเปลี่ยนแปลงของอุณหภูมิและการแก้ไขความกดอากาศ และ จากนั้นใช้เครื่องคิดเลขเครื่องเดียวกัน คุณอาจคำนวณทุกอย่างได้ดียิ่งขึ้น ด้วยทักษะสเปรดชีตบางอย่าง คุณยังสามารถสร้างแผนภูมิข้อมูลการเปิดตัวได้อีกด้วย
วิ่งขึ้นใน Space Challenge
แนะนำ:
DIY 37 Leds เกมรูเล็ต Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY 37 Leds เกมรูเล็ต Arduino: รูเล็ตเป็นเกมคาสิโนที่ตั้งชื่อตามคำภาษาฝรั่งเศสหมายถึงวงล้อเล็ก
หมวกนิรภัย Covid ส่วนที่ 1: บทนำสู่ Tinkercad Circuits!: 20 ขั้นตอน (พร้อมรูปภาพ)
Covid Safety Helmet ตอนที่ 1: บทนำสู่ Tinkercad Circuits!: สวัสดีเพื่อน ๆ ในชุดสองตอนนี้ เราจะเรียนรู้วิธีใช้วงจรของ Tinkercad - เครื่องมือที่สนุก ทรงพลัง และให้ความรู้สำหรับการเรียนรู้เกี่ยวกับวิธีการทำงานของวงจร! หนึ่งในวิธีที่ดีที่สุดในการเรียนรู้คือการทำ ดังนั้น อันดับแรก เราจะออกแบบโครงการของเราเอง: th
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-