กลับไปหน้ารวมไฟล์
christmas-card-pcb-a601ba.md

ปีนี้เราอยากได้การ์ดที่มันพิเศษหน่อย แต่ก็อยากให้ซอฟต์แวร์มันง่ายๆ ไว้ก่อนนะ... ไว้ค่อยว่ากันทีหลัง

เลยหยิบเอาบอร์ด copper clad ที่เหลือๆ อยู่ มาเจอกับ ATtiny กับ LED นิดหน่อย เราก็เริ่มต้นทำการ์ดแวววาวมีไฟได้แล้ว แม้ว่าพอทำเสร็จเราจะอยากเพิ่มฟีเจอร์อีกนิดหน่อยก็ตาม... อีสเตอร์คราวนี้คงจะสนุกแน่!

รวบรวมชิ้นส่วน

ต้องใช้ Uno + breadboard + jumper wires เพื่อโปรแกรมไอซี ATtiny85 ที่เห็นด้านล่างนี่แหละ...

ชิ้นส่วนจิ๋วๆ สำหรับติดบนการ์ด - ต้องหาซื้อแบตเตอรี่เพิ่มอีกสักก้อน!

ออกแบบบอร์ด

ขั้นแรก เราต้องมีภาพที่อยากจะเอามาเอ็ทช์ลงบนหน้าบอร์ดก่อน ซึ่งจะเป็นไฟล์ภาพรูปแบบไหนก็ได้

ดีไซน์แรกเริ่มของเรา ใช้รูปฟรีจากเน็ตกับโปรแกรม Paint...

จากนั้นก็เปิดไฟล์ใน Inkscape ปรับขนาดให้เท่ากับบอร์ด copper ของเราพอดี แล้วใช้เครื่องมือ 305Laser Engineering เพื่อแปลงไฟล์เป็น GCODE สำหรับเครื่องพิมพ์เลเซอร์ของเรา ซึ่งจะได้ภาพแบบ 1:1 เลย

เราเซ็ตให้เลเซอร์ทำงานที่กำลังเต็มที่ ความเร็ว 50mm/min ซึ่งช้าหน่อยแต่สำหรับเรามันเวิร์กดี

ทีนี้เราก็ต้องออกแบบวงจรไฟฟ้า อย่าลืมว่า LED ต้องอยู่หลังส่วนที่ถูกเอ็ทช์ไว้ พอออกแบบเสร็จก็ export เป็นไฟล์ gerber แล้วแปลงเป็นภาพ กลับด้าน แล้วแปลงเป็น GCODE ด้วยวิธีเดิมเหมือนด้านบน

ออกแบบวงจรด้วย FreePCB (ไฟล์ทั้งหมดอยู่ท้ายบทความนะ)

โปรเจกต์นี้คือการ์ดอวยพรวันหยุดระดับ Advance ที่ใช้ PCB เป็นฐาน มีไฟวิ่งเป็นลำดับและเสียงเพลงประกอบ วงจรถูกออกแบบด้วย **Inkscape** และ **GerbV** จากนั้นก็เอาไปเอ็ทช์หรือสั่งทำ PCB แบบมืออาชีพเลย Arduino (ส่วนใหญ่ใช้ **ATtiny85** เพราะตัวเล็กดี) จะถูกฝังลงไปบนพื้นผิวของ "การ์ด" เลย

เตรียมตัวให้พร้อม... ไปเอ็ทช์กัน!

การเอ็ทช์

ระวังให้ดีเวลาจัดการสารเคมีสำหรับการเอ็ทช์และอุปกรณ์เลเซอร์ทุกชิ้นนะจ๊ะ!!

เราเพิ่มชั้น resist โดยใช้สีดำด้าน แล้วใช้เลเซอร์ UV 2.5W ที่ติดตั้งบนเครื่องพิมพ์ 3D ของเรา

ด้านหลังของ PCB ระหว่างทำ มันเป็นแสงสีเขียวในกล่องเครื่องพิมพ์

พอสีถูกเผาไปแล้ว คุณควรได้บอร์ดแบบด้านล่าง สีของเราจะดูเป็นสีเงินตรงที่ถูกเผา

ด้านหน้าของ PCB ก่อนทำความสะอาด...

ทีนี้ก็ขัดมันให้ดีซะ ด้วยแปรงสีฟันเก่าๆ เป็นตัวอย่าง และน้ำยาล้างจานนิดหน่อยก็ช่วยได้...

หลังจากขัดดีๆ แล้ว copper จะสะท้อนแสงได้พอประมาณ แสดงว่าพร้อมเอ็ทช์แล้ว...

จากนั้นก็เอ็ทช์ด้วยสารละลายเอ็ทช์ที่คุณเลือก ตามคำแนะนำ... และอย่าลืมใส่ถุงมือยาง เปิดหน้าต่างให้อากาศถ่ายเท และใส่แว่นตานะ!!

เราพบว่าการเอาบอร์ดออกมาจากสารละลายเอ็ทช์เป็นระยะ แล้วขัดเบาๆ ด้วยแปรงสีฟัน ช่วยกำจัดสีที่เลเซอร์หรือการทำความสะอาดครั้งก่อนลอกออกไม่หมดได้ดี

หวังว่ามันน่าจะออกมา หน้าตาแบบนี้มากกว่า:

พอทำความสะอาดรอบสุดท้ายด้วย Acetone เพื่อลบสีออกทั้งหมด เราก็ควรได้บอร์ดด้านหน้าที่ดูดี แม้จะยังไม่มีไฟเลยก็ตาม! เก่งมากวัยรุ่น!

การบัดกรี (Soldering)

เราใช้อุปกรณ์แบบ SMT (Surface-Mount Technology) สำหรับงานนี้ เลยไม่มีรูให้เจาะ งานนี้ก็ค่อนข้างจุกจิกเหมือนเดิมแหละ แต่มันก็ดีที่เราไม่ต้องไปทำลายหน้าทองแดงด้วยรูเจาะอะไรพวกนั้น...

**หมายเหตุสำคัญ** - ตรวจสอบขั้วของ LED ด้วยโวลต์มิเตอร์โดยใช้โหมดทดสอบไดโอด (Diode) ถ้ามันไม่ได้ระบุขั้วไว้ชัดเจน (และบนตัว SMT เล็กๆ มันก็บอกยากจริงๆ นั่นแหละ):

เราใช้ตัวต้านทาน (Resistor) 100 โอห์มสำหรับ LED สีเหลืองและแดง และ 22 โอห์มสำหรับ LED สีเขียวและน้ำเงิน เพราะเราไม่อยากให้มันพังก่อนถึงปีใหม่ไงล่ะ! สู้งานนะน้อง

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

การเขียนโค้ด (Coding)

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

เราเขียนโค้ดใน Visual Micro ให้มันแสดงรูปแบบการกะพริบแบบสุ่มๆ ในช่วงเวลาสุ่มๆ ง่ายแต่ได้ผลดีสำหรับงานนี้เลย

เฟิร์มแวร์ของเราจัดการกับอาร์เรย์ LED แบบ "Charlieplexed" หรือเมทริกซ์ สร้างอนิเมชั่นแบบ "หิมะตก" หรือ "ต้นไม้กะพริบ" โดยกินกระแสไม่เกิน 10mA เพื่อประหยัดแบตเตอรี่ มันยังใช้ฟังก์ชัน `tone()` เล่นเพลงคริสต์มาสคาราโอเกะได้ด้วย พร้อมให้ไฟ LED กระพริบตามจังหวะเพลง เป็นประสบการณ์วันหยุดมัลติมีเดียในพกพาได้เลยทีเดียว งานนี้จัดไปวัยรุ่น!

ติดตั้ง Cores ที่จำเป็นสำหรับชิปเป้าหมายที่ใช้ (ของเราคือ ATtiny85 ผู้วิเศษ)

Visual Micro Explorer กำลังติดตั้งบอร์ด ATtiny

เปิด Visual Studio อีกหนึ่งอินสแตนซ์สำหรับโปรเจค ArduinoISP ของคุณเพื่อรันโปรแกรมเมอร์

สามารถเปิดได้จากตัวอย่างที่ติดตั้งมากับ core ตามที่แสดงด้านล่าง:

Visual Micro Explorer กำลังโหลดตัวอย่าง ArduinoISP

อัปโหลดโค้ดนี้ลงไปใน Arduino Uno ของคุณก่อน จากนั้นค่อยต่อสายไปยัง ATtiny **ห้ามช็อตนะตัวนี้**

อ่านข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่า Arduino เป็นโปรแกรมเมอร์ (Arduino As ISP) ได้จากแหล่งข้อมูลทั่วไป

อัปโหลดโค้ดลงชิป

ตอนนี้เรามีโปรแกรมเมอร์พร้อมแล้ว ในที่สุดก็ได้เวลาอัปโหลดโค้ดของเราลงชิปสักที

อย่างแรก เราต้องเสียบ ATtiny ลงบนเบรดบอร์ด และต่อสายไปยัง Uno ของเรา:

การต่อสายระหว่าง Arduino Uno (สีน้ำเงิน) กับ ATtiny ขณะโปรแกรม

ตรงนี้เราต้องเลือกชิปที่ถูกต้อง และตรวจสอบให้แน่ใจว่าเราเลือกตัวเลือกโปรแกรมเมอร์ถูกต้อง สำหรับเราคือ ArduinoISP:

ตรวจสอบให้แน่ใจว่าเลือกตัวเลือกตามที่แสดงใน Visual Micro

ทีนี้ก็กด Build & Upload ได้เลย โค้ดของคุณควรจะอัปโหลดลงชิปเรียบร้อย

ติดตั้งชิปและจ่ายไฟ

บัดกรีหรือเสียบชิปลงบนบอร์ดถ้าใช้เฮดเดอร์ และในที่สุดเราก็ได้เปิดไฟดูแล้วว่าเมื่อไฟติดมันจะสวยปะไหน!

คราวหน้าอาจจะเพิ่มไฟอีกหน่อย...

เป็นไงล่ะ นี่แหละการ์ดคริสต์มาสที่จัดเต็มได้สารพัดแบบ พอได้กลับมาเปิดปีใหม่ก็อัพเกรดต่อได้อีก ประหยัดสุดๆ!

ลองไปดู Visual Micro กันได้เลย

ข้อมูล Frontmatter ดั้งเดิม

apps:
  - "1x Inkscape"
  - "1x Arduino IDE"
  - "1x Visual Micro"
  - "1x Visual Studio 2017"
  - "1x GerbV"
  - "1x Inkscape 305 Laser Plugin"
author: "arduinocc"
category: "Gadgets, Games & Toys"
components:
  - "1x Soldering iron (generic)"
  - "1x SMT Resistors 100 Ohm"
  - "1x Matt Black Paint"
  - "1x Copper Clad Board"
  - "1x SMT Resistors 3KOhm"
  - "1x Solder Wire, Lead Free"
  - "1x Jumper wires (generic)"
  - "1x Acetone"
  - "1x Arduino UNO"
  - "1x ATtiny85"
  - "1x SMT LEDs"
  - "1x 3D Printer (generic)"
  - "1x SMT Resistors 22Ohm"
  - "1x Breadboard (generic)"
  - "1x PCB Etchant (Ferric Chloride)"
  - "1x 2.5W UV Laser"
description: "มาสร้างการ์ดวงจรพิมพ์สุดเท่ด้วยตัวเอง! ใช้แค่ไฟกระพริบ (Glitter แบบอิเล็กทรอนิกส์) งานนี้ทั้งสนุกและใช้ของเหลือในลิ้นชักเซนเซอร์/ตัวต้านทานที่เก็บไว้อัดลงไปให้หมด! จัดไปวัยรุ่น!"
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles: []
encryptedPayload: "U2FsdGVkX18Q3y3v77Ds+Qizt1O77HZswzQqfBRDO93fGp/2hEjn8WIxyim8/NAAJaXt91jAYAJXYZhjoYGigBMfjfBU1PlreW5hFhk5OALQ12uFaR3f79MT8J6C7HT2yMYAKcu5e9oqBUkbOCOO0YbgDKDKyS7ERisfNnL3KD57ln1BUK77C86mlOA8gXtUYx/29FTVaeUoKIzOCaBqIbqpPAL3K/D3/BjJFW+SwUU="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/christmas-card-pcb-a601ba_cover.jpg"
lang: "en"
likes: 0
passwordHash: "d4347f163344cfb4a3b9596dac6e84a893a1f0845f693f8bcd47eb746ac2bcc2"
price: 99
seoDescription: "Create a unique Christmas Card PCB using spares and electronic glitter. A fun and festive DIY project for makers."
tags:
  - "home automation"
  - "pcb"
  - "visual micro"
title: "PCB การ์ดคริสต์มาส งานง่ายแต่หล่อ ไฟกระพริบตึงๆ!"
tools: []
videoLinks: []
views: 4415