ปีนี้เราอยากได้การ์ดที่มันพิเศษหน่อย แต่ก็อยากให้ซอฟต์แวร์มันง่ายๆ ไว้ก่อนนะ... ไว้ค่อยว่ากันทีหลัง
เลยหยิบเอาบอร์ด copper clad ที่เหลือๆ อยู่ มาเจอกับ ATtiny กับ LED นิดหน่อย เราก็เริ่มต้นทำการ์ดแวววาวมีไฟได้แล้ว แม้ว่าพอทำเสร็จเราจะอยากเพิ่มฟีเจอร์อีกนิดหน่อยก็ตาม... อีสเตอร์คราวนี้คงจะสนุกแน่!
รวบรวมชิ้นส่วน
ต้องใช้ Uno + breadboard + jumper wires เพื่อโปรแกรมไอซี ATtiny85 ที่เห็นด้านล่างนี่แหละ...

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

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

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

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

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

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


พอทำความสะอาดรอบสุดท้ายด้วย 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 Studio อีกหนึ่งอินสแตนซ์สำหรับโปรเจค ArduinoISP ของคุณเพื่อรันโปรแกรมเมอร์
สามารถเปิดได้จากตัวอย่างที่ติดตั้งมากับ core ตามที่แสดงด้านล่าง:

อัปโหลดโค้ดนี้ลงไปใน Arduino Uno ของคุณก่อน จากนั้นค่อยต่อสายไปยัง ATtiny **ห้ามช็อตนะตัวนี้**
อ่านข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่า Arduino เป็นโปรแกรมเมอร์ (Arduino As ISP) ได้จากแหล่งข้อมูลทั่วไป
อัปโหลดโค้ดลงชิป
ตอนนี้เรามีโปรแกรมเมอร์พร้อมแล้ว ในที่สุดก็ได้เวลาอัปโหลดโค้ดของเราลงชิปสักที
อย่างแรก เราต้องเสียบ ATtiny ลงบนเบรดบอร์ด และต่อสายไปยัง Uno ของเรา:

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

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

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