สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: สร้างการออกแบบใน InkScape
- ขั้นตอนที่ 2: นำเข้า.dxf ลงใน EasyEDA เพื่อสร้างรูปร่างที่กำหนดเอง
- ขั้นตอนที่ 3: วางแผนส่วนประกอบที่คุณจะใช้ รวมถึงการประกอบ SMD
- ขั้นตอนที่ 4: สร้าง Schematic ทำให้ Arduino Programmable
- ขั้นตอนที่ 5: เพิ่มส่วนประกอบเหล่านี้ลงใน PCB ด้วย "อัปเดต PCB"
- ขั้นตอนที่ 6: กำหนดเส้นทางส่วนประกอบบน PCB
- ขั้นตอนที่ 7: เพิ่มส่วนประกอบอื่นๆ จนกว่าการออกแบบจะเสร็จสมบูรณ์ หมุนตามความจำเป็น
- ขั้นตอนที่ 8: สั่งซื้อ PCB และเลือกเพิ่ม SMD Build
- ขั้นตอนที่ 9: สร้างต้นแบบซอฟต์แวร์ (แนบไฟล์.ino)
- ขั้นตอนที่ 10: แกะกล่องและชื่นชม PCB ใหม่ของคุณ! อุปกรณ์เสริม - ประสานอะไหล่เพิ่มเติม
- ขั้นตอนที่ 11: ตั้งโปรแกรมบอร์ดด้วยโปรแกรมเมอร์ ArduinoISP
- ขั้นตอนที่ 12: สนุกกับโครงการของคุณ
วีดีโอ: เรียนรู้วิธีออกแบบ PCB รูปทรงแบบกำหนดเองด้วยเครื่องมือออนไลน์ EasyEDA: 12 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
ฉันต้องการออกแบบ PCB แบบกำหนดเองมาโดยตลอด และด้วยเครื่องมือออนไลน์และการสร้างต้นแบบ PCB ราคาถูกไม่เคยง่ายไปกว่านี้มาก่อน! เป็นไปได้ด้วยซ้ำที่จะประกอบส่วนประกอบยึดพื้นผิวในราคาถูกและง่ายดายในปริมาณน้อยเพื่อประหยัดงานบัดกรีที่ยากลำบาก! ฉันได้สั่งซื้อ PCB 10x พร้อมชุดประกอบในราคาไม่ถึง 50 เหรียญสหรัฐ แม้ว่า PCB จะทำหน้าที่สำคัญ แต่เลย์เอาต์ของส่วนประกอบก็เป็นส่วนสำคัญของรูปลักษณ์ ฉันได้หมุนส่วนประกอบต่างๆ บนกระดานเพื่อให้สอดคล้องกับจุดต่างๆ ของดาว
คำแนะนำนี้จะสอนคุณ:
- วิธีวาดรูปร่าง PCB แบบกำหนดเองใน InkScape (เครื่องมือกราฟิกโอเพ่นซอร์สฟรี)
- วิธีใช้เครื่องมือออกแบบวงจรและ PCB ของ EasyEDA (ฟรีและออนไลน์ ไม่จำเป็นต้องติดตั้ง!)
- วิธีการนำเข้า SVG ไปยัง EasyEDA สำหรับรูปร่าง PCB แบบกำหนดเองและซิลค์สกรีน
- วิธีการออกแบบการออกแบบ MCU ที่ตั้งโปรแกรมได้ 'Arduino' อย่างง่าย
- วิธีการใช้ JLCPCB Surface Mount Assembly เพื่อทำและประกอบบอร์ด
คุณสมบัติของ "เดอะสตาร์"
- PCB รูปทรงดาว 5 แฉกแบบกำหนดเอง
- ไฟส่องสว่างแบบเคลื่อนไหว - ไฟ LED 10x ต่อด้าน สองด้าน
- โปรแกรม Arduino ATMEGA328P microctroller
- ปุ่ม 2x สำหรับการโต้ตอบ - คุณสามารถสร้างเกมง่ายๆ ได้
- ไมโคร USB ขับเคลื่อน (ตัวเลือก)
- เครือข่ายหลายดาวสำหรับแอนิเมชั่นขนาดใหญ่ (ตัวเลือก) พร้อมการสื่อสารแบบอนุกรม
อัปเดต 02 เมษายน 2563 หลังจากได้รับบอร์ด
เสบียง
ดูไฟล์ BOM (Bill of Materials) และแนบไฟล์ PDF แผนผัง
ดูแผนผังแบบเต็มที่แนบมา
นี่คือลิงค์ไปยังโครงการ EasyEDA จากขั้นตอนต่อไป -
ขั้นตอนที่ 1: สร้างการออกแบบใน InkScape
ขั้นแรก มาออกแบบรูปร่างของ PCB และงานศิลปะบนซิลค์สกรีนเพื่อนำไปวางบน PCB
- ดาวน์โหลดและติดตั้ง inkscape
- สร้างเอกสารใหม่
- ใช้เครื่องมือสี่เหลี่ยมผืนผ้าเพื่อสร้างสี่เหลี่ยมผืนผ้าขนาด 100x100 มม. JLCPCB เสนอ PCB ที่ถูกกว่าภายใต้ขนาดนี้
- ใช้เครื่องมือรูปหลายเหลี่ยมเพื่อสร้างรูปทรงดาวที่พอดีกับรูปสี่เหลี่ยมผืนผ้า
-
เพิ่มรายละเอียดอื่นๆ เช่น กราฟิกรูปดาวขนาดเล็กภายในโครงร่าง ซึ่งเป็นที่ที่ฉันจะวาง LEDs
- เริ่มต้นด้วยการเพิ่มรูปร่างสำหรับจุดหนึ่งของดาวเช่น ด้านบน
- เพิ่มมุมโค้งมน (เพื่อความปลอดภัย!) โดยใช้เส้นโค้งเบซิเยร์
- เลือกรูปร่างทั้งหมดในจุดนี้และจัดกลุ่มเข้าด้วยกัน
-
จากนั้นเราก็สามารถคัดลอกและหมุนกลุ่มนี้ไปยังจุดอื่นของดวงดาวได้
"แก้ไข -> โคลน -> สร้างโคลนแบบเรียงต่อกัน"
-
หากคุณทำรอบมุมแล้วเราจำเป็นต้องลบจุดที่ไม่จำเป็นอีกต่อไป
- ในการทำเช่นนี้ ฉันวาดเส้นตรงที่เชื่อมกับเส้นโค้งด้วยตนเอง
- แล้วเอาดาวเดิมออก
บันทึก 2 เวอร์ชันของภาพนี้
- A: ซิลค์สกรีน - ภาพเต็มพร้อมรายละเอียดทั้งหมดที่จะใช้สำหรับซิลค์สกรีน
- B: โครงร่างของบอร์ด - ดังที่กล่าวข้างต้น แต่ให้ลบรายละเอียดทั้งหมดที่อยู่ตรงกลางออก เหลือเพียงโครงร่างเท่านั้น สิ่งนี้จะกำหนดรูปร่างของ PCB
บันทึก. DXF ของทั้งสองไฟล์
- ไฟล์ -> บันทึกเป็น ->.dxf
- ใช้ดีฟอลต์
ตัวอย่างไฟล์ inkscape.svg และ.dxf ที่แนบ
ขั้นตอนที่ 2: นำเข้า.dxf ลงใน EasyEDA เพื่อสร้างรูปร่างที่กำหนดเอง
ขั้นตอนนี้จะสร้างโครงการใหม่บนเครื่องมือออนไลน์ EasyEDA และนำเข้า.dxf เพื่อกำหนดรูปร่างของ PCB และซิลค์สกรีน EasyEDA เป็นโปรแกรมแก้ไขแผนผังและ PCB ออนไลน์ฟรี ฉันเลือกตัวเลือกนี้เนื่องจากง่ายกว่าการดาวน์โหลดและติดตั้งเครื่องมือที่มีอยู่มากมาย ดูเหมือนว่าจะดีสำหรับความต้องการของฉัน และเข้ากันได้ดีกับ JLCPCB สำหรับต้นแบบ PCB และชิ้นส่วน LCSC
สร้างโครงการและ PCB
- เยี่ยมชม https://easyeda.com/ และสร้างบัญชีฟรี
-
สร้างโครงการใหม่ในพื้นที่ทำงานของคุณ
ไฟล์บันทึกแผนผัง
-
คลิกขวาที่ชื่อโครงการและ "PCB ใหม่"
- ตกลงค่าเริ่มต้น (100x100mm)
- หมายเหตุ - เราสามารถกลับมาแก้ไขแผนผังในภายหลังและเพิ่มส่วนประกอบได้
-
นำเข้าโครงร่างบอร์ด
- ไฟล์ -> นำเข้า DXF
- เลือกไฟล์เค้าร่างบอร์ด.dxf จาก inkscape
- ตรวจสอบว่าเลเยอร์ถูกตั้งค่าเป็น 'BoardOutLine'
- คลิก 'นำเข้า'
- วางไว้ภายในสี่เหลี่ยม 100x100 ที่มีอยู่
- ลบสี่เหลี่ยม รูปดาวใหม่คือ BoardOutLine
- ตรวจสอบว่าอยู่บนเลเยอร์ BoardOutLine สีชมพู ถ้าไม่ใช่ ให้เลือกและเปลี่ยนเลเยอร์ในแผงด้านบนขวา
-
นำเข้าภาพหน้าจอไหม
- ไฟล์ -> นำเข้า DXF
- เลือกไฟล์ซิลค์สกรีน.dxf จาก inkscape
- ตรวจสอบว่า Layer ถูกตั้งค่าเป็น 'TopSilkLayer'
- คลิก 'นำเข้า'
- วางไว้ที่ด้านบนของโครงร่างบอร์ด (ซูมเข้าด้วยล้อเลื่อนของเมาส์เพื่อความแม่นยำ)
-
ตรวจสอบผลลัพธ์โดยดูตัวอย่างภาพตัวอย่าง 3 มิติ
คลิกไอคอน "กล้อง" และ "มุมมอง 3 มิติ"
ขั้นตอนต่อไป - เพิ่มส่วนประกอบ:)
ขั้นตอนที่ 3: วางแผนส่วนประกอบที่คุณจะใช้ รวมถึงการประกอบ SMD
ตอนนี้เรามีรูปร่างที่กำหนดเองแล้ว เราสามารถเริ่มเพิ่มส่วนประกอบได้
คุณสามารถวางส่วนประกอบโดยตรงในตัวแก้ไข PCB ได้ แต่ควรเพิ่มลงในมุมมองแผนผังแล้วกด 'อัปเดต PCB' เพื่อเพิ่มลงใน PCB
หมายเหตุ - เพื่อใช้ประโยชน์จากบริการประกอบ PCB ที่นำเสนอโดย JLCPCB (https://jlcpcb.com/smt-assembly) สิ่งสำคัญคือต้องใช้ส่วนประกอบจากรายการเฉพาะที่มี
-
ดาวน์โหลดรายการอะไหล่ XLS
- ปัจจุบัน -
- ซึ่งเชื่อมโยงมาจาก:
การเลือกชิ้นส่วน:
-
ฐาน
ตัวเลือกที่ถูกที่สุดคือการใช้ชิ้นส่วนจากรายการ 'ฐาน' เนื่องจากชิ้นส่วนเหล่านี้ถูกบรรจุลงในเครื่องหยิบและวางแล้ว
-
ขยาย
มีชิ้นส่วน 'ขยาย' เพิ่มเติม แต่มีค่าใช้จ่ายส่วนเพิ่มสำหรับแต่ละส่วน เช่น. ไฟ LED และ ATMEG328P ที่ฉันใช้ในโปรเจ็กต์นี้ขยายออกทั้งคู่ อย่างไรก็ตาม ตัวต้านทานแบบแยก ตัวเก็บประจุ และเรโซเนเตอร์เซรามิกทั้งหมดเป็นชิ้นส่วนมาตรฐาน
-
อื่นๆ - เพิ่มด้วยตนเองในบอร์ดในภายหลัง
ฉันเลือกที่จะเพิ่มขั้วต่อ USB ปุ่มกดและส่วนหัวของการเขียนโปรแกรมด้วยตนเอง
รูปภาพที่แนบมาเป็นภาพหน้าจอของชุดย่อยของชิ้นส่วนต่างๆ ที่ฉันใช้ในโปรเจ็กต์ ฉันเพิ่มคอลัมน์ "MyProject" เพื่อช่วยกรองส่วนประกอบที่ฉันสนใจ ฉันเลือกรอยเท้า 0805 เป็นส่วนใหญ่เพื่อให้การบัดกรีง่ายขึ้น เรโซเนเตอร์คริสตัล/เซรามิกอาจบัดกรีด้วยมือได้ยาก
หมายเลขชิ้นส่วน LCSC เช่น C14877 สามารถใช้โดยตรงในตัวแก้ไขแผนผัง (และ PCB)
สรุป BOM
- C84258. - ไฟ LED สีขาวนวล สว่างมาก (แม้มีไฟ LED 2 ดวงที่แชร์ตัวต้านทาน 150R ที่ 5 โวลต์) และตัวกระจายแสงที่สวยงาม
- C7171 - ฝาปิดดีคัปปลิ้ง 10uF x2
- C17444 - ตัวต้านทาน 12K สำหรับ RESET pin pull-up x1
- C17471 - ตัวต้านทาน 150R แบบอนุกรมพร้อมไฟ LED x10
- C21120 - ฝาปิดดีคัปปลิ้ง 220nF x2
- C13738 - เรโซเนเตอร์เซรามิก 16MHz พร้อมแคปในตัว
- C14877 - ATMEGA328P MCU
ขั้นตอนที่ 4: สร้าง Schematic ทำให้ Arduino Programmable
หัวใจของการออกแบบนี้คือ ATMEGA328P ซึ่งใช้ใน Arduinos หลายตัวรวมถึง Uno, Nano และ Pro Mini ซึ่งหมายความว่าสามารถใช้ Arduino IDE เพื่อเขียนโค้ดและตั้งโปรแกรมบอร์ดได้
ฉันได้ออกแบบบอร์ดนี้ให้ใช้จำนวนส่วนประกอบน้อยที่สุดเพื่อลดต้นทุนและทำให้บอร์ดเรียบง่าย แต่ยังอนุญาตให้ตั้งโปรแกรมผ่านส่วนหัว 'In System Programming' ของ ISP ราวกับว่าเป็น Arduino Nano
เข้าใจพินเอาต์
ดูไดอะแกรม pinout ที่แนบมาจาก https://github.com/MCUdude/MiniCore เพื่อดูว่าพินทางกายภาพของ MCU จับคู่กับชื่อพิน Arduino อย่างไร เช่น. MCU จริงพิน 1 (บนซ้าย) ยังเป็นพิน Arduino 3 (ติดป้ายกำกับ D3 บนนาโน) ควบคุมโดย PD3 ภายใน MCU จากมุมมองของ arduino IDE คุณเพียงแค่ต้องรู้ Arduino pin '3'
ส่วนประกอบขั้นต่ำที่จะเลียนแบบนาโน:
- ATMEGA328P
- ดีคัปปลิ้งคาปาซิเตอร์เพื่อทำให้การจ่ายไฟราบรื่น
-
ส่วนหัว 'ในการเขียนโปรแกรมระบบ' ของ ISP แทนการเขียนโปรแกรม USB
- ส่วนหัว 6 พินซึ่งสามารถตั้งโปรแกรมจาก Arduino อื่นด้วยอิมเมจโปรแกรมเมอร์ ISP
- หมายเหตุ - ไม่สามารถเขียนโปรแกรม USB/อนุกรมได้หากไม่มีตัวแปลง USB เป็นอนุกรม
- ดู
-
เรโซเนเตอร์เซรามิก 16MHz
- นี่เป็นสิ่งจำเป็นหากคุณกำลังเลียนแบบนาโน เนื่องจากสิ่งเหล่านี้เป็นเรโซเนเตอร์ภายนอก 5V และ 16MHz เสมอ
- โปรดทราบว่าเรโซเนเตอร์ 3 หรือ 4 พินส่วนใหญ่ไม่ต้องการตัวเก็บประจุแยกต่างหากที่คริสตัลต้องการ
ทางเลือก ชุดส่วนประกอบที่น้อยที่สุดด้วย MiniCore
หากคุณไม่ต้องการ หรือไม่มีคริสตัลหรือเรโซเนเตอร์ คุณสามารถใช้ออสเชียเลเตอร์ 8MHz ภายในภายใน ATMEGA328P ได้ คุณต้องโหลด bootloader อื่นเพื่อเปิดใช้งานสิ่งนี้ เช่น MiniCore bootloader ดู GitHub สำหรับข้อมูลเพิ่มเติม
https://github.com/MCUdude/MiniCore
ตอนนี้เริ่มเพิ่มส่วนประกอบ:
- คลิกขวาที่ "วางองค์ประกอบ"
- ในช่องค้นหา ให้ป้อนหมายเลขชิ้นส่วนจากสเปรดชีต / LCSC เช่น C14877 สำหรับ ATMEGA328P-AU
- วางไว้บนแผนผัง
-
ทำซ้ำสำหรับส่วนประกอบอื่นๆ - แคป ตัวต้านทาน ไฟ LED
แต่ละองค์ประกอบในตอนแรก จากนั้นคัดลอกและวางรอบๆ การออกแบบตามต้องการ
ขั้นตอนที่ 5: เพิ่มส่วนประกอบเหล่านี้ลงใน PCB ด้วย "อัปเดต PCB"
คุณลักษณะที่ดีอย่างหนึ่งของโปรแกรมแก้ไขออนไลน์ EasyEDA คือความสามารถในการเปลี่ยนแปลงแผนผังแล้วอัปเดต PCB
- ในตัวแก้ไขแผนผัง ให้กด file save
-
จากนั้นปุ่ม "อัปเดต PCB" ในแถบเครื่องมือ
- หน้าต่างจะปรากฏขึ้นเพื่อบอกคุณว่ามีอะไรเปลี่ยนแปลงบ้าง
- 'ใช้การเปลี่ยนแปลง'
- ส่วนประกอบใหม่จะถูกวางไว้ที่มุมล่างขวา
-
ย้ายไปยังที่ที่คุณต้องการ
- กด Space เพื่อหมุน 90 องศา
- ใช้ล้อเลื่อนของเมาส์เพื่อซูม
-
สังเกต 'เส้นหนู' ซึ่งแสดงตำแหน่งที่ส่วนประกอบต้องเชื่อมต่อ
ใช้การหมุนส่วนประกอบเพื่อให้เดินสายได้ง่าย
- หากต้องการวางส่วนประกอบไว้ด้านล่าง ให้คลิกส่วนประกอบและที่มุมบนขวาให้เปลี่ยน TopLayer เป็น Bottom Layer
ขั้นตอนที่ 6: กำหนดเส้นทางส่วนประกอบบน PCB
ตอนนี้ต่อส่วนประกอบตามที่ระบุโดย ratlines
- ใช้ปุ่ม 'ติดตาม' ในแถบเครื่องมือ
- คลิกส่วนประกอบหนึ่ง จากนั้นคลิกถัดไป
- ใช้จุดแวะเพื่อเชื่อมต่อระหว่างชั้นต่างๆ
-
เพิ่มระนาบกราวด์ทั่วทั้งชั้นบนสุดเพื่อเชื่อมต่อพินกราวด์ทั้งหมดโดยอัตโนมัติ
- ใช้ปุ่ม 'พื้นที่ทองแดง' เพื่อวาดรูปสี่เหลี่ยมผืนผ้าที่ครอบคลุมทั้งกระดาน เครื่องมือจะเติมพื้นที่ที่ถูกต้องโดยอัตโนมัติและเชื่อมต่อกับ GND net โดยค่าเริ่มต้น
- เพิ่มระนาบอื่นที่ชั้นล่างสำหรับ VCC
- เปิดมุมมอง 3 มิติเพื่อตรวจสอบความคืบหน้าของคุณ
ฉันเลือกที่จะรักษาเส้นทางให้ตรงและเรียบร้อย ฉันดูที่เลย์เอาต์ PCB เพื่อเลือกพินของ MCU ที่จะเชื่อมต่อกับแต่ละ LED เพื่อทำให้การกำหนดเส้นทางง่ายขึ้นและทำให้เป็นส่วนหนึ่งของกระบวนการออกแบบ
ง่ายที่จะสลับกลับไปที่ตัวแสดงแผนผังและเพิ่มชื่อเน็ตให้กับพิน เช่น U1 pin 23 เชื่อมต่อกับ net LED4 ติดฉลากเน็ตเดียวกันบน LED อัปเดต PCB และกำหนดเส้นทางของแทร็ก
** นี่คือลิงค์ไปยังโครงการบนเว็บไซต์ EasyEDA:
easyeda.com/neil.parris/thestar-instructab…
ขั้นตอนที่ 7: เพิ่มส่วนประกอบอื่นๆ จนกว่าการออกแบบจะเสร็จสมบูรณ์ หมุนตามความจำเป็น
เพิ่มไฟ LED ปุ่ม ฯลฯ ต่อไป
คุณสามารถกำหนดการหมุนแต่ละองค์ประกอบได้เอง เช่น สำหรับดาว 5 แฉก แต่ละจุดห่างกัน 72 องศา เพื่อให้ได้มุมที่ถูกต้องสำหรับ LED และส่วนประกอบอื่นๆ ให้พิมพ์ 72 ลงในกล่องหมุน และกดช่องว่างเพื่อหมุน 90 องศาในแต่ละครั้ง จนกว่าคุณจะได้ผลลัพธ์ที่ต้องการ บางครั้งคุณต้องการมุมอื่นที่เกี่ยวข้องกับ 72 เช่น 90 - 72 = 18 หรือ 2x 18 = 36 ด้วยการหมุน 18/36/72 และ 90 องศา คุณสามารถจัดแนวแกนหลักทั้งหมดของดาวได้
ดู PDF ของแผนผังแบบเต็มที่แนบมาด้วย [โปรดทราบว่านี่เป็นการออกแบบที่แตกต่างกันเล็กน้อยจากภาพหน้าจอก่อนหน้า แต่มีหลักการเดียวกัน]
ขั้นตอนที่ 8: สั่งซื้อ PCB และเลือกเพิ่ม SMD Build
เมื่อคุณออกแบบเสร็จแล้ว ตรวจสอบและตรวจดูว่าไม่มีข้อผิดพลาด ให้สร้างไฟล์ Gerber ได้เลย จะแจ้งให้คุณดำเนินการตรวจสอบกฎการออกแบบ (DRC) ตรวจสอบว่าไม่มีข้อผิดพลาดและบันทึกไฟล์ Gerber สำหรับการผลิต หรือเปิด JLCPCB โดยตรงจากโปรแกรมแก้ไข
หากคุณต้องการใช้บริการการผลิต SMD ให้บันทึก BOM (รายการวัสดุ) และไฟล์หยิบและวาง (ซึ่งจะบอกให้เครื่องทราบว่าจะวางส่วนประกอบของคุณไว้ที่ใด)
ทำตามขั้นตอนการสั่งซื้อและตรวจสอบการวางแนวของส่วนประกอบโพลาไรซ์อีกครั้ง เช่น LED, ตัวเก็บประจุ, เรโซเนเตอร์ และ MCU!
สำหรับบอร์ด 10 บอร์ดที่ประกอบเข้าด้วยกัน (ไม่มี USB และส่วนหัวของการเขียนโปรแกรม) ฉันมีค่าใช้จ่ายในการจัดส่งประมาณ 35 ปอนด์ (ประมาณ 2,000 บาท) (ประมาณ 45 ดอลลาร์สหรัฐฯ ขึ้นอยู่กับอัตราแลกเปลี่ยน)
ดูอีเมลอัปเดตและติดตามบอร์ดของคุณและสร้างผ่านเว็บไซต์ JLCPCB
ขั้นตอนที่ 9: สร้างต้นแบบซอฟต์แวร์ (แนบไฟล์.ino)
ระหว่างรอบอร์ดมาถึงก็ถึงเวลาเริ่มเขียนซอฟต์แวร์กันแล้วครับ:)
ฉันได้วาง Arduino Nano ไว้บนเขียงหั่นขนมและต่อสาย LED ในที่เดียวกันและเชื่อมต่อแบบเดียวกันเพื่อเลียนแบบ PCB จากนั้นจึงจะเป็นไปได้ที่จะโหลดซอฟต์แวร์เดียวกันนี้โดยตรงบน PCB แม้ว่าจะมีโปรแกรมเมอร์ ISP Arduino
โค้ดนี้ใช้อาร์เรย์เพื่อทำให้การเขียนโปรแกรมง่ายขึ้น ฉันได้นำเข้าไลบรารี "FastLED.h" ด้วย เนื่องจากมีฟังก์ชันตัวช่วยที่มีประโยชน์ เช่น sin8()
นี่คือไฮไลท์บางส่วน:
อาร์เรย์นี้จับคู่หมุด Arduino กับ LED1 สูงสุด 10 LED1 เชื่อมต่อกับ Arduino A2 และ LED10 เชื่อมต่อกับ D4
- // สร้างอาร์เรย์ของชื่อพินทางกายภาพที่เชื่อมต่อกับ LED1, LED2 ฯลฯ ไปยัง LED10
- const ไบต์ ledpins = {A2, A3, A1, A0, 9, 10, 6, 5, 3, 4};
ลูปหลักคือรูทีน PWM ซอฟต์แวร์อย่างง่ายซึ่งตรวจสอบ 'pwm_now' กับค่า 'led_brightness' ปัจจุบัน
ขณะนี้เป็นรหัสทดสอบเพื่อทดสอบรูปแบบแสงสองสามแบบ
ขั้นตอนที่ 10: แกะกล่องและชื่นชม PCB ใหม่ของคุณ! อุปกรณ์เสริม - ประสานอะไหล่เพิ่มเติม
สนุกกับการแกะกล่องและชื่นชม PCB ที่คุณกำหนดเอง:)
ด้วยการประกอบ SMD ฉันมีส่วนประกอบที่สำคัญทั้งหมดบัดกรีที่ด้านเดียวเพื่อให้เป็นอุปกรณ์ที่ใช้งานได้
ทางเลือก - ประสานส่วนประกอบเพิ่มเติม:
- ขั้วต่อ Micro-USB สำหรับจ่ายไฟ (ไม่ได้ตั้งโปรแกรม)
- ปุ่มกด - เพื่อให้เป็นแบบโต้ตอบ
- ไฟ LED ที่ด้านหลัง - ทำให้เป็นสองด้าน!
ขั้นตอนที่ 11: ตั้งโปรแกรมบอร์ดด้วยโปรแกรมเมอร์ ArduinoISP
นี่คือความสนุกบิต กำลังโหลด Arduino bootloader และโค้ดบน PCB!
สองสามวันหลังจากเขียนคำแนะนำนี้กระดานก็มาถึง! บอร์ด 10x ทั้งหมดทำมาอย่างดี และส่วนประกอบบัดกรีอย่างประณีต และทำงานได้อย่างสมบูรณ์
ต่อ Arduino สำรองเป็นโปรแกรมเมอร์ ArduinoISP
ฉันใช้ Arduino Nano บนเขียงหั่นขนมขนาดเล็กที่ต่อสายเป็นโปรแกรมเมอร์ ArduioISP ซึ่งหมายความว่าจะเชื่อมต่อจาก IDE ผ่าน USB ไปยังนาโน ซึ่งจะเชื่อมต่อกับอุปกรณ์เป้าหมายผ่านขั้วต่อการเขียนโปรแกรม 6 พิน
พินเอาต์นั้นเหมือนกับตัวเชื่อมต่อนาโน IP โดยทั่วไปเพียงแค่ MISO/MOSI/RST/SCK/5V/GND
ดูลิงค์นี้สำหรับรายละเอียดเพิ่มเติม:
1 - มิโซะ
2 - +5V
3 - SCK
4 - MOSI
5 - RST => ขับเคลื่อนจาก Pin 10 ของ Arduino nano
6 - GND
โหลดร่าง ArduinoISP ลงบนโปรแกรมเมอร์
- ตัวอย่าง -> 11. ArduinoISP -> ArduinoISP
- หมายเหตุ - เมื่ออัปโหลดภาพนี้ไปยังโปรแกรมเมอร์ จะต้องลบตัวเก็บประจุระหว่างพิน RST และ GND นำสิ่งนี้กลับมาก่อนที่คุณจะใช้โปรแกรมเมอร์
อัปโหลด bootloaded และรหัสไปยังบอร์ดเป้าหมาย
-
เชื่อมต่อโปรแกรมเมอร์กับเป้าหมายด้วยขั้วต่อ 6 ขา
คุณสามารถยึดหัวพิน 6x เข้ากับ PCB โดยไม่ต้องบัดกรีโดยจับที่มุมเพื่อให้สัมผัสได้ดี
-
หากคุณมีเรโซเนเตอร์เซรามิก 16MHz บนบอร์ด และคุณยินดีที่จะแมปพินเอาต์ให้เข้ากับ Arduino nano จากนั้นเพียงตั้งโปรแกรมบอร์ดเช่น Arduino nano แต่มีการตั้งค่าต่อไปนี้:
- บอร์ด: "Arduino นาโน"
- หน่วยประมวลผล: "ATmega328P"
- โปรแกรมเมอร์: "Arduino เป็น ISP"
-
อัพโหลด bootloader
สิ่งนี้จะตั้งค่าฟิวส์ใน MCU เพื่อเปิดใช้งานคริสตัลหรือเรโซเนเตอร์ภายนอก 16MHz หากคุณไม่มีสิ่งนี้ ให้ใช้ bootloader อื่น เช่น มินิคอร์
-
อัปโหลดรหัสของคุณ
สำคัญ - เนื่องจากเรากำลังดาวน์โหลดโค้ดด้วยโปรแกรมเมอร์ คุณต้องกด SHIFT เมื่อคุณกดปุ่ม UPLOAD (=>) สิ่งนี้จะเปลี่ยนการเขียนโปรแกรมจาก 'อัปโหลด' ปกติผ่านพอร์ตอนุกรม ไปใช้ 'อัปโหลดด้วยโปรแกรมเมอร์' ลงในพิน ISP แทน
หากข้างต้นสำเร็จ แสดงว่าคุณควรมีไฟ LED กะพริบจำนวนมาก!:
ขั้นตอนที่ 12: สนุกกับโครงการของคุณ
ฉันหวังว่าคุณจะพบว่าคำแนะนำนี้มีประโยชน์ ฉันใช้เวลาหลายชั่วโมงในการทดลองกับเครื่องมือเหล่านี้เพื่อสร้าง PCB ที่น่าสนใจ และพบว่าเครื่องมือออนไลน์สะดวกมาก
การออกแบบเฉพาะนี้ค่อนข้างง่ายในแง่ของวงจร แต่น่าสนใจในแง่ของรูปแบบทางกายภาพ นอกจากนี้ยังจะทำให้การตกแต่งที่ดีสำหรับเทศกาลวันหยุด!
รางวัลที่สองในความท้าทายการออกแบบ PCB
แนะนำ:
PCB Flashing Tree Decoration: 5 ขั้นตอน (พร้อมรูปภาพ)
PCB Flashing Tree Decoration: ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีสร้างโปรเจ็กต์อิเล็กทรอนิกส์อย่างมีประสิทธิภาพ ตัวอย่างเช่น ฉันจะสร้าง PCB ที่มีไฟกะพริบตั้งแต่ต้นจนจบ อุปกรณ์อิเล็กทรอนิกส์ทั้งหมดทำงานด้วยตัวเองโดยไม่ต้องมีการเข้ารหัส สิ่งที่คุณต้องทำคือเสียบปลั๊ก
Head Phone Amp พร้อม PCB แบบกำหนดเอง: 8 ขั้นตอน (พร้อมรูปภาพ)
Head Phone Amp with Custom PCB: ฉันกำลังสร้าง (และพยายามทำให้สมบูรณ์แบบ) แอมป์หูฟังมาระยะหนึ่งแล้ว พวกคุณบางคนคงเคยเห็น 'งานสร้าง ible ก่อนหน้านี้ของฉันแล้ว สำหรับผู้ที่ยังไม่มี ฉันได้เชื่อมโยงสิ่งเหล่านี้ด้านล่าง สำหรับงานสร้างที่เก่ากว่าของฉัน ฉันมักจะใช้บอร์ดต้นแบบเพื่อสร้าง t
PCB Coils ใน KiCad: 5 ขั้นตอน (พร้อมรูปภาพ)
PCB Coils ใน KiCad: เมื่อไม่กี่สัปดาห์ก่อน ฉันได้สร้างจอแสดงผล 7 ส่วนแบบเครื่องกลที่ใช้แม่เหล็กไฟฟ้าเพื่อดันส่วนต่างๆ โปรเจ็กต์นี้ได้รับการตอบรับเป็นอย่างดี แม้กระทั่งได้รับการตีพิมพ์ในนิตยสาร Hackspace! ฉันได้รับความคิดเห็นและข้อเสนอแนะมากมายที่ฉันต้องทำ
วิธีสร้าง Arduino Shield ง่ายมาก (โดยใช้ EasyEDA): 4 ขั้นตอน
วิธีสร้าง Arduino Shield ง่ายมาก (โดยใช้ EasyEDA): ในคำแนะนำนี้ ฉันจะสอนวิธีสร้าง Arduino Uno Shield ที่ง่ายมาก ฉันจะไม่ลงรายละเอียดมากเกินไป แต่ฉันรวมวิดีโอที่ฉัน เจาะลึกลงไปอีกเล็กน้อยเกี่ยวกับวิธีใช้ซอฟต์แวร์ ฉันใช้เว็บแอปพลิเคชัน EasyEDA เนื่องจากฉัน
SlouchyBoard - วิธีที่น่ารำคาญเพื่อป้องกันไม่ให้คุณงอน (Intro to EasyEDA): 4 ขั้นตอน (พร้อมรูปภาพ)
SlouchyBoard - วิธีที่น่ารำคาญเพื่อป้องกันไม่ให้คุณงอตัว (Intro to EasyEDA): Slouchy board เป็น PCB ขนาดเล็ก 30 มม. x 30 มม. (แผงวงจรพิมพ์) ที่ใช้เซ็นเซอร์เอียง ออดแบบพายโซ และ ATTiny 85 เพื่อสร้างเสียงที่น่ารำคาญเมื่อ ผู้ใช้กำลังงอ บอร์ดสามารถติดเข้ากับเสื้อหรือหมวกของผู้ใช้ได้ เพื่อที่เมื่อพวกเขา