1.)รายละเอียดของไฟ LED ชนิดต่างๆที่ใช้ทำโปรเจ็ค
-ws2812b
-5050-60-RGB,5050-RGB
-El Wire
-มะรุม
2.)Arduino
-Atmega 1280
-LilyPad
-วิธีใช้ Arduinoขั้นพื้นฐาน(การต่อportและเขียนCode)
-วิธีการทำเสา+piezo sensor (วัดแรงสั่นสะเทือน)+ws2812b
-วิธีการส่งข้อมูลผ่านwireless network
-Processing (User Interface)
3.)วิธีการออกแบบวงจรและทำแผ่นPCB
ไฟLEDรูปแบบต่างๆที่ใช้ในโปรเจ็คนี้
1.1 ws2812b เป็นไฟLEDที่มีทั้งหมด3ขาคือขาเข้า3ขาคือ ขาไฟ+ ,ขากราว,และขาdata ซึ่งไฟLEDแต่ละดวงนี้จะมี controllerคอยควบคุมอยู่โดยจะเห็นได้ว่าในสายLEDนี้มีลูกศรที่ชี้อยู่หมายถึงการส่งdataไปในทิศทางเดียวเวลาเราจะส่งข้อมูลจะต้องส่งด้านที่อยู่ดวงแรกสุดแล้วcontrollerจะส่งข้อมูลต่อไปยังดวงถัดไป นั่นจึงเป็นเหตุผลในที่ไฟLEDจะดับทั้งสายหากดวงแรกดับในขณะทำโปรเจ็ค และไฟLEDชนิดนี้สามารถกำหนดสีแต่ละดวงได้ทุกสีและกำหนดการเปลี่ยนสีได้อย่างอิสระผ่าน codeเพราะมี controllerอยู่ข้างในทำให้สายไฟชนิดนี้ราคาสูงตามความสามารถของมัน
![]() |
มีขา ไฟ ดาต้าและกราว |
![]() |
ws2812b |
1.2 5050-60-RGB,5050-RGB เป็นไฟRGBที่มีการต่อขาทั้งหมด4ขาคือคือขา RED GREEN BLUEซึ่งเป็นแม่สีที่จะนำมาผสมกันโดยสามารถกำหนดความเข้มอ่อนของแต่ละสีได้โดยใช้ขา analogจาก controller โดยที่การควบคุมนั้นจะแบ่งไฟแต่ละจุดเป็นกลุ่มละ3ดวง โดยแต่ละเส้นที่ทำการแสดงสีออกมานั้นจะแสดงได้เพียงเส้นละสีเท่านั้น
![]() |
แบ่งไฟเป็นกลุ่มละ3จุด |
![]() |
ผสมสีออกมาแล้วแสดงสีเดียวกันทั้งเส้น |
1.3 El Wire คือสายไฟที่เคลือบสารแบบเดียวกับหลอดฟลูออเรสเซนท์ สามารถเปล่งแสงได้ตลอดทั้งเส้น โดย1เส้นจะมีแค่สีเดียว โดยหากต้องต่อวงจรEl Wire และจะต้องทำการปลอกสายอย่างประณีตมากๆเพราะสายไฟที่ใช้ต่อกับEl Wireอย่างด้านในของสาย และที่สำคัญขาดง่ายมากๆ
![]() |
ส่วนประกอบด้านในของEl Wire |
![]() |
El Wire |
1.4 ไฟมะรุม เป็นไฟที่คล้ายๆไฟ LED ที่นำมาต่อขนานกันหลายๆดวงโดยสามารถบังคับได้แค่เปิดและปิดไฟ โดยมีแค่ขาบวกและลบ เลือกสีของไฟไม่ได้ มีจุดเด่นคือราคาถูก
2. Arduino เป็นระบบที่ใช้ในการพัฒนาอุปกรณ์อิเล็กทรอนิกส์ต้นแบบ ซึ่งออกแบบให้ใช้งานง่ายทั้งฮาร์ดแวร์ และซอฟแวร์ กลุ่มเป้าหมายผู้ใช้งานอาดูยโน่ ได้แก่ ศิลปิน นักประดิษฐ์ นักออกแบบ ใช้ในงานอดิเรก หรือ ใครๆก็ตามที่สนใจในการประดิษฐ์นวัตกรรม งานสร้างสรรค์
ถึงปัจจุบัน Arduino มีบอร์ดหลายแบบให้เลือกใช้งานตามความถนัดและความเหมาะสมมากกว่า 20 รุ่น แต่ละรุ่นก็มีขนาด ความจุ ความเร็ว จำนวนขาพอร์ตอินพุต เอาท์พุต แตกต่างกันออกไป มีตั้งแต่ราคาหลักสองสามร้อยบาท ไปจนกระทั่งพันกว่าบาท นอกจากนี้ยังมีอุปกรณ์ต่อพ่วง (Shield) ให้อีกมากมาย ราคาก็เป็นไปตาม concept เดิมครับ คือ สมเหตุสมผลสุดๆ ทำให้เป็นที่นิยมมากขึ้นเรื่อยๆ
โดยในบทความนี้ผมจะพูดถึง Arduino รุ่นที่นำมาใช้ทำโปรเจ็คกลุ่มซึ่งมีอยู่ 2 ชนิดคือ Arduino Atmega 1280 และ LilyPad โดยการใช้งานพื้นฐานของทั้ง2 บอร์ดนี้ไม่ต่างกันเพียงแต่ LilyPad นั้นมีportที่น้อยกว่าเท่านั้นเอง
ถึงปัจจุบัน Arduino มีบอร์ดหลายแบบให้เลือกใช้งานตามความถนัดและความเหมาะสมมากกว่า 20 รุ่น แต่ละรุ่นก็มีขนาด ความจุ ความเร็ว จำนวนขาพอร์ตอินพุต เอาท์พุต แตกต่างกันออกไป มีตั้งแต่ราคาหลักสองสามร้อยบาท ไปจนกระทั่งพันกว่าบาท นอกจากนี้ยังมีอุปกรณ์ต่อพ่วง (Shield) ให้อีกมากมาย ราคาก็เป็นไปตาม concept เดิมครับ คือ สมเหตุสมผลสุดๆ ทำให้เป็นที่นิยมมากขึ้นเรื่อยๆ
โดยในบทความนี้ผมจะพูดถึง Arduino รุ่นที่นำมาใช้ทำโปรเจ็คกลุ่มซึ่งมีอยู่ 2 ชนิดคือ Arduino Atmega 1280 และ LilyPad โดยการใช้งานพื้นฐานของทั้ง2 บอร์ดนี้ไม่ต่างกันเพียงแต่ LilyPad นั้นมีportที่น้อยกว่าเท่านั้นเอง
![]() |
ATMEGA1280 |
![]() |
LilyPad |
วิธีใช้ Arduinoในขั้นแรกต้องรู้จักPortต่างๆเสียก่อนครับโดยผมจะอธิบายแบบง่ายๆและคร่าวๆเพื่อให้เข้าใจหลักการทำงานครับ ซึ่งในความเป็นจริงแต่ละ portจะมีรายละเอียดที่ลึกซึ้งกว่านั้นโดยอาจต้องเปิดดูใน datasheetเอาแต่นั่นเป็นการใช้งานระดับยากครับ
Portของarduino จะแบ่งportเป็น2ประเภทใหญ่ๆคือ
1.)Port ที่เป็น Analog จะมีการรับค่า-ส่งค่าเป็น analog ทำงานได้หลายค่า
2.)Port ที่เป็น Digital จะมีการรับค่า-ส่งค่าเป็น Digital ทำงานแค่2ค่าคือ 0และ1
โดยส่วนมากแล้ว Port Analogจะเป็น Port ที่ใช้รับค่ามาจาก Sonsorต่างๆ เพราะการอ่านค่าจาก Sensor นั้นจำเป็นจะต้องได้รับค่าที่หลายค่าที่ต่อเนื่องกันได้ และนำค่าที่วัดได้มาประมวลผลและแสดง output ผ่านPortที่เป็น Daigital เพราะจะทำการบังคับLEDหรืออุปกรณ์ๆว่าให้ทำงานหรือไม่ทำงาน แต่ในบางครั้งการรับค่าอาจใช้เป็นแบบDaigitalหรือการแสดง output เป็นแบบAnalogก็ได้
อย่าลืมใช้หลักการต่อไฟและกราวเพื่อให้การทำงานของอุปกรณ์ครบวงจรด้วยนะครับ!!
ขั้นต่อไปเป็นการเขียน Code ขั้นพื้นฐานที่ใช้รับค่าจาก Analog Potและแสดงผลที่ Digital Port
อธิบายcode
int sensorPin = A0 // หมายถึงการประกาศให้ตัวแปร sensorPin คือ port Analog 0
int ledPin = 13 // หมายถึงการประกาศให้ตัวแปร ledPin คือ port Digital 13
void Setup(){
pinMode(ledPin, OUTPUT); // เป็นการประกาศให้port13 แสดงผลเป็น Output Port
}
void loop(){
sensorValue = analogRead(sensorPin); //รับค่าเข้าตัวแปร sensorValue แบบanalog จาก port A0
digitalWrite(ledPin, HIGH); //แสดงผลแบบ Digital ออกจาก Port 13
}
ในงานโปรเจ็คกลุ่มตัวผมเองได้ทำการรับผิดชอบในส่วนของการเขียนโค้ด เสาและการส่งข้อมูลผ่าน wireless network ซึ่งผมจะอธิบายการต่อวงจรและการแก้โค้ดของทั้ง 2 งานนะครับ
1.วิธีการทำเสา+piezo sensor (วัดแรงสั่นสะเทือน)
- วิธีต่อวงจรรับ sensor piezo เข้ากับ Arduino คือขา+ของpiezoจะต่อลงกราวและขา-ต่อเข้าport Analogของarduino
- วิธีเขียนโค้ดเป็นการ import Library ที่ชื่อว่า Adafruit_NeoPixel.h มาลงในโปรแกรมก่อนแล้วทำการ include ก่อนเขียนโปรแกรม โดย Library Adafruit_NeoPixel.h นี้ใช้ควบคุมไฟLED ws2812b ซึ่งเสานี้ใช้ LEDชนิดนี้ครับ
อธิบายโค้ด
#include <Adafruit_NeoPixel.h> //เพิ่ม Libraryที่ควบคุมไฟLED ws2812bมาลองใช้งาน
ส่วนของloop()
Sensor = analogRead(7)/4 //เป็นการรับค่าanalogมาจาก piezo sensor เก็บไว้ที่ตัว analog
colorWipe() //เป็นฟังก์ชันที่รับค่าสีที่ต้องการ และจำนวนหลอดของLEDที่ต้องการให้ติดได้
เช่นcolorWipe(strip.Color(0, 0, 255), 0,30);
//พารามิเตอร์ 3 ตัวแรกเป็นการรับสี ซึ่ง0,0,255เป็นสีโทนฟ้า และพารามีเตอร์อีก 2 ตัวคือเริ่มที่หลอด0และจบที่หลอด 30
colorWipe(strip.Color(0, 100, 200), 31,60);
//พารามิเตอร์ 3 ตัวแรกเป็นการรับสี ซึ่ง0,100,200เป็นสีโทนฟ้าอ่อน และพารามีเตอร์อีก 2 ตัวคือเริ่มที่หลอด31และจบที่หลอด 60
Portของarduino จะแบ่งportเป็น2ประเภทใหญ่ๆคือ
1.)Port ที่เป็น Analog จะมีการรับค่า-ส่งค่าเป็น analog ทำงานได้หลายค่า
2.)Port ที่เป็น Digital จะมีการรับค่า-ส่งค่าเป็น Digital ทำงานแค่2ค่าคือ 0และ1
โดยส่วนมากแล้ว Port Analogจะเป็น Port ที่ใช้รับค่ามาจาก Sonsorต่างๆ เพราะการอ่านค่าจาก Sensor นั้นจำเป็นจะต้องได้รับค่าที่หลายค่าที่ต่อเนื่องกันได้ และนำค่าที่วัดได้มาประมวลผลและแสดง output ผ่านPortที่เป็น Daigital เพราะจะทำการบังคับLEDหรืออุปกรณ์ๆว่าให้ทำงานหรือไม่ทำงาน แต่ในบางครั้งการรับค่าอาจใช้เป็นแบบDaigitalหรือการแสดง output เป็นแบบAnalogก็ได้
อย่าลืมใช้หลักการต่อไฟและกราวเพื่อให้การทำงานของอุปกรณ์ครบวงจรด้วยนะครับ!!
ขั้นต่อไปเป็นการเขียน Code ขั้นพื้นฐานที่ใช้รับค่าจาก Analog Potและแสดงผลที่ Digital Port
Code ขั้นพื้นฐานในการรับค่าจากฆำืหนพแล้วแสดงผล |
int sensorPin = A0 // หมายถึงการประกาศให้ตัวแปร sensorPin คือ port Analog 0
int ledPin = 13 // หมายถึงการประกาศให้ตัวแปร ledPin คือ port Digital 13
void Setup(){
pinMode(ledPin, OUTPUT); // เป็นการประกาศให้port13 แสดงผลเป็น Output Port
}
void loop(){
sensorValue = analogRead(sensorPin); //รับค่าเข้าตัวแปร sensorValue แบบanalog จาก port A0
digitalWrite(ledPin, HIGH); //แสดงผลแบบ Digital ออกจาก Port 13
}
ในงานโปรเจ็คกลุ่มตัวผมเองได้ทำการรับผิดชอบในส่วนของการเขียนโค้ด เสาและการส่งข้อมูลผ่าน wireless network ซึ่งผมจะอธิบายการต่อวงจรและการแก้โค้ดของทั้ง 2 งานนะครับ
1.วิธีการทำเสา+piezo sensor (วัดแรงสั่นสะเทือน)
- วิธีต่อวงจรรับ sensor piezo เข้ากับ Arduino คือขา+ของpiezoจะต่อลงกราวและขา-ต่อเข้าport Analogของarduino
![]() |
Piezo with Arduino |
อธิบายโค้ด
#include <Adafruit_NeoPixel.h> //เพิ่ม Libraryที่ควบคุมไฟLED ws2812bมาลองใช้งาน
ส่วนของloop()
Sensor = analogRead(7)/4 //เป็นการรับค่าanalogมาจาก piezo sensor เก็บไว้ที่ตัว analog
colorWipe() //เป็นฟังก์ชันที่รับค่าสีที่ต้องการ และจำนวนหลอดของLEDที่ต้องการให้ติดได้
เช่นcolorWipe(strip.Color(0, 0, 255), 0,30);
//พารามิเตอร์ 3 ตัวแรกเป็นการรับสี ซึ่ง0,0,255เป็นสีโทนฟ้า และพารามีเตอร์อีก 2 ตัวคือเริ่มที่หลอด0และจบที่หลอด 30
colorWipe(strip.Color(0, 100, 200), 31,60);
//พารามิเตอร์ 3 ตัวแรกเป็นการรับสี ซึ่ง0,100,200เป็นสีโทนฟ้าอ่อน และพารามีเตอร์อีก 2 ตัวคือเริ่มที่หลอด31และจบที่หลอด 60
2.วิธีใช้การติดต่อสื่อสารผ่านทางไกล
2.1)การติดต่อสื่อสารผ่านทางไกลที่เราได้ทดลองใช้คือ xbee และทำการติดต่อระหว่าง2ตัวโดยใช้
X-CTUซึ่งไม่สำเร็จเพราะว่าไม่สามารถทำให้การส่งข้อมูลระหว่าง2ตัว สำเร็จได้
2.2สร้างWireless networkโดยใช้ NRF24l01 โดยรายละเอียดของการต่อวงจรคือ
โดยในขั้นทดลองเป็นการส่งสัญญาญระหว่าง Arduino กับArduino
วิธีการเขียนโค้ด
ตัวส่งสัญญาณ
- uint64_t pipes[2] = { 0xF0F0F0F0E1LL, 0x7365727631LL }//0xF0F0F0F0E1LLคือหมายเลขแอดเดรสของตัวส่งสัญญาณ และ 0x7365727631LL คือหมายเลขแอดเดรสของตัวรับสัญญาณ
-กำหนดค่า Dataที่ต้องการส่ง
ตัวรับข้อมูล
อธิบายโค้ด
- uint64_t pipes[6] = { 0x7365727631LL, 0xF0F0F0F0E1LL, 0xF0F0F0F0E2LL, 0xF0F0F0F0E3LL, 0xF0F0F0F0E4LL, 0xF0F0F0F0E5LL }//คือการประกาศแอดเดรสของตัวรับและตัวส่งที่สามารถรับได้ทั้งหมด
โดยจะเป็นการสื่อสารระหว่าง Arduino -Arduino เป็นเพียงการทดลองใช้ซึ่งจริงๆแล้วจะต้องเป็นการสื่อสารระหว่างArduino - LilyPad แบบ 1-many ซึ่งจะทำการแก้ที่การต่อวงจรของLilyPadเท่านั้นซึ่งเป็นไปตามรูปด้านล่างนี้
ซึ่งหลักการที่จะทำให้ตัวส่งเพียง 1 ตัวส่งไปยัง LilyPadหลายๆตัวพร้อมๆกันนั้นคือการประกาศให้ LilyPadทุกตัวมี Adressเดียวกันหมด จะมีปัญหาที่ว่าบางครั้งจะมีการ Loss ของการส่งข้อมูลบ้างเพราะเหมือนตัวส่งจะสลับการทำงานทีละตัว แต่ยังอยู่ในขั้นที่พอรับได้
โดยcode ของตัวรับสัญญาณนี้จะทำการรับค่าเหมือนๆกันทั้งหมด3ตัวเพียงแต่จะเขียนโค้ดเพิ่มในการดักเพื่อให้รู้ว่าต้องการส่งข้อมูลให้ตัวไหนเพื่อจะเป็นการควบคุมการติดของLEDถูกจุด
เมื่อการทำการสื่อสารสำเร็จแล้วขั้นต่อไปคือการทำ User Interfaceเพื่อใช้ในการควบคุมจากระยะไกลได้ซึ่งเราใช้ภาษา Processing ในการทำงานครับ
ขั้นตอนในการทำงานของProcessingคือ
1.ทำการเชื่อมต่อเข้ากับบอร์ด Arduino
2.สร้างUser Interface
3.กำหนดการการกดUser Interfaceส่งค่าที่แตกต่างกันเข้าไปยังArduinoโดยตรงเพื่อให้Arduinoสามารถรับค่าได้ขณะที่โปรแกรมรันอยู่ซึ่งจะทำให้สามารถควบคุม LEDตามจุดต่างๆสลับไปมาได้
3.)การออกแบบวงจรและทำแผ่น PCB เพื่อความสมบูรณ์ของชิ้นงาน
จากในการทดลองต่างๆเราจะใช้สายไฟมีจิ้มใน โฟโต้บอร์ด แต่การที่จะนำไปใช้งานจริงได้นั้นชิ้นงานต้องมีการต้องการความแข็งแรง คงทนและสะดวกซึ่งเราจำเป็นจะต้องออกแบบวงจรเพื่อทำแผ่นPCB
โดยการออกแบบสามารถทำได้โดยใช้โปรแกรม Proteus หรือ Eagleครับ
ขั้นต่อไปเมื่อเราได้ลายวงจรมาแล้วให้ปริ้นลายวงจรนั้นออกมาโดยกำหนดให้สีนั้นเข้มที่สุด จากนั้นนำไปรีดให้ลายวงจรไปติดกับแผ่น PCB ซึ่งส่วนที่มีลายนี้ติดกับPCBจะทำให้ส่วนนั้นไม่ถูกกัดทองแดงออกไปหากแช่น้ำยากัดปริ้น ขั้นต่อไปเมื่อได้ลายPCBที่ติดกับแผ่นปริ้นเรียบร้อยแล้วมาทำการเช็คลายที่หายไปแล้ววาดทับลงไปใหม่ด้วยปากกาเคมีเพื่อให้วงจรสมบูรณ์มากยิ่งขึ้น และขั้นสุดท้ายคือการนำไปแช่น้ำยากะดปริ้นก็จะได้ลายวงจรออกมาแล้วนำไปทำการติด socketหรืออุปกรณ์ต่างๆก็เป็นอันเสร็จครับ(พูดเหมือนง่ายแต่ความจริงแต่ละขั้นตอนใช้เวลานานมากๆ)
2.1)การติดต่อสื่อสารผ่านทางไกลที่เราได้ทดลองใช้คือ xbee และทำการติดต่อระหว่าง2ตัวโดยใช้
X-CTUซึ่งไม่สำเร็จเพราะว่าไม่สามารถทำให้การส่งข้อมูลระหว่าง2ตัว สำเร็จได้
![]() |
การตืดต่อXbeeโดยใช้ X-CTU |
2.2สร้างWireless networkโดยใช้ NRF24l01 โดยรายละเอียดของการต่อวงจรคือ
ชื่อของขาต่างๆในNRF |
การต่อNRFเข้ากับ Arduinoแต่ละรุ่น |
โดยในขั้นทดลองเป็นการส่งสัญญาญระหว่าง Arduino กับArduino
![]() |
arduino - arduino |
ตัวส่งสัญญาณ
อธิบายโค้ด
- ทำการimport library nRF24L01.h มาลงในโปรแกรม
- การ initial ค่าในตอนแรกจะทำการ include "nRF24L01.h"
- RF24 radio(9,53) // คือการเซ็ตset port9ให้เชื่อมต่อกับ port CE และset port53เข้ากับ portCSNของ NRF- uint64_t pipes[2] = { 0xF0F0F0F0E1LL, 0x7365727631LL }//0xF0F0F0F0E1LLคือหมายเลขแอดเดรสของตัวส่งสัญญาณ และ 0x7365727631LL คือหมายเลขแอดเดรสของตัวรับสัญญาณ
-กำหนดค่า Dataที่ต้องการส่ง
ตัวรับข้อมูล
อธิบายโค้ด
- การ initial ค่าในตอนแรกจะทำการ include "nRF24L01.h"
- RF24 radio(9,53) // คือการเซ็ตset port9ให้เชื่อมต่อกับ port CE และset port53เข้ากับ portCSNของ NRF- uint64_t pipes[6] = { 0x7365727631LL, 0xF0F0F0F0E1LL, 0xF0F0F0F0E2LL, 0xF0F0F0F0E3LL, 0xF0F0F0F0E4LL, 0xF0F0F0F0E5LL }//คือการประกาศแอดเดรสของตัวรับและตัวส่งที่สามารถรับได้ทั้งหมด
โดยจะเป็นการสื่อสารระหว่าง Arduino -Arduino เป็นเพียงการทดลองใช้ซึ่งจริงๆแล้วจะต้องเป็นการสื่อสารระหว่างArduino - LilyPad แบบ 1-many ซึ่งจะทำการแก้ที่การต่อวงจรของLilyPadเท่านั้นซึ่งเป็นไปตามรูปด้านล่างนี้
![]() |
port ที่ใช้เชื่อมต่อกับ NRF |
ซึ่งหลักการที่จะทำให้ตัวส่งเพียง 1 ตัวส่งไปยัง LilyPadหลายๆตัวพร้อมๆกันนั้นคือการประกาศให้ LilyPadทุกตัวมี Adressเดียวกันหมด จะมีปัญหาที่ว่าบางครั้งจะมีการ Loss ของการส่งข้อมูลบ้างเพราะเหมือนตัวส่งจะสลับการทำงานทีละตัว แต่ยังอยู่ในขั้นที่พอรับได้
โดยcode ของตัวรับสัญญาณนี้จะทำการรับค่าเหมือนๆกันทั้งหมด3ตัวเพียงแต่จะเขียนโค้ดเพิ่มในการดักเพื่อให้รู้ว่าต้องการส่งข้อมูลให้ตัวไหนเพื่อจะเป็นการควบคุมการติดของLEDถูกจุด
การเขียนโปรแกรมดักเพื่อให้รู้ว่าเป็นของLilyPadตัวไหน |
![]() |
การส่งข้อมูลแบบ 1-many |
ขั้นตอนในการทำงานของProcessingคือ
1.ทำการเชื่อมต่อเข้ากับบอร์ด Arduino
2.สร้างUser Interface
3.กำหนดการการกดUser Interfaceส่งค่าที่แตกต่างกันเข้าไปยังArduinoโดยตรงเพื่อให้Arduinoสามารถรับค่าได้ขณะที่โปรแกรมรันอยู่ซึ่งจะทำให้สามารถควบคุม LEDตามจุดต่างๆสลับไปมาได้
![]() |
ตัวอย่างโค้ดProcessing(1) |
![]() |
ตัวอย่างโค้ดProcessing(2) |
![]() |
Interfaceในเบื้องต้น |
3.)การออกแบบวงจรและทำแผ่น PCB เพื่อความสมบูรณ์ของชิ้นงาน
จากในการทดลองต่างๆเราจะใช้สายไฟมีจิ้มใน โฟโต้บอร์ด แต่การที่จะนำไปใช้งานจริงได้นั้นชิ้นงานต้องมีการต้องการความแข็งแรง คงทนและสะดวกซึ่งเราจำเป็นจะต้องออกแบบวงจรเพื่อทำแผ่นPCB
โดยการออกแบบสามารถทำได้โดยใช้โปรแกรม Proteus หรือ Eagleครับ
![]() |
การออกแบบวงจรLilyPad จากEagle |
![]() |
การออกแบบวงจร ควบคุมไฟจาก Proteus |
ขั้นต่อไปเมื่อเราได้ลายวงจรมาแล้วให้ปริ้นลายวงจรนั้นออกมาโดยกำหนดให้สีนั้นเข้มที่สุด จากนั้นนำไปรีดให้ลายวงจรไปติดกับแผ่น PCB ซึ่งส่วนที่มีลายนี้ติดกับPCBจะทำให้ส่วนนั้นไม่ถูกกัดทองแดงออกไปหากแช่น้ำยากัดปริ้น ขั้นต่อไปเมื่อได้ลายPCBที่ติดกับแผ่นปริ้นเรียบร้อยแล้วมาทำการเช็คลายที่หายไปแล้ววาดทับลงไปใหม่ด้วยปากกาเคมีเพื่อให้วงจรสมบูรณ์มากยิ่งขึ้น และขั้นสุดท้ายคือการนำไปแช่น้ำยากะดปริ้นก็จะได้ลายวงจรออกมาแล้วนำไปทำการติด socketหรืออุปกรณ์ต่างๆก็เป็นอันเสร็จครับ(พูดเหมือนง่ายแต่ความจริงแต่ละขั้นตอนใช้เวลานานมากๆ)
![]() |
แผ่นPCBที่สมบูรณ์ |