PCB แบบใช้มือถือพร้อม Arduino (พร้อมตัวเลือกในการใช้งานแบบไร้สาย!): 3 ขั้นตอน
PCB แบบใช้มือถือพร้อม Arduino (พร้อมตัวเลือกในการใช้งานแบบไร้สาย!): 3 ขั้นตอน
Anonim
PCB แบบใช้มือถือพร้อม Arduino (พร้อมตัวเลือกในการใช้งานแบบไร้สาย!)
PCB แบบใช้มือถือพร้อม Arduino (พร้อมตัวเลือกในการใช้งานแบบไร้สาย!)
PCB แบบใช้มือถือพร้อม Arduino (พร้อมตัวเลือกในการใช้งานแบบไร้สาย!)
PCB แบบใช้มือถือพร้อม Arduino (พร้อมตัวเลือกในการใช้งานแบบไร้สาย!)

อัปเดต 28.1.2019ฉันกำลังทำงานกับอุปกรณ์พกพารุ่นถัดไปนี้ คุณสามารถติดตามโครงการได้ที่ช่อง YouTube หรือ Twitter ของฉัน

คำเตือน! ฉันพบข้อผิดพลาดในเค้าโครง PCB ปุ่มซ้ายและขึ้นเชื่อมต่อกับหมุดอนาล็อกเท่านั้น ฉันแก้ไขโดยการเพิ่มตัวต้านทานแบบดึงขึ้นสองตัวเข้ากับอินพุตทั้งสอง นั่นไม่ใช่วิธีแก้ปัญหาที่สมบูรณ์แบบ แต่ใช้งานได้

ฉันออกแบบ PCB สำหรับอุปกรณ์พกพาที่ใช้ไมโครคอนโทรลเลอร์ ATmega328P-AU (เหมือนกับใน Arduino Nano), จอแสดงผล SSD1306 OLED และบางปุ่ม ฉันยังเพิ่มตัวเลือกในการเพิ่มโมดูลวิทยุ NRF24L01+ สำหรับเกมที่มีผู้เล่นหลายคน คุณสามารถใช้อุปกรณ์พกพานี้เป็นตัวควบคุมไร้สายได้ ฉันเคยทำตัวควบคุมไร้สายมาก่อนและยังมีคำแนะนำเกี่ยวกับพวกเขาอีกด้วย สิ่งที่คุณต้องมีก็คือ Arduino Leonardo หรือ Pro Micro

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

ดังที่คุณเห็นจากภาพ ฉันยังไม่ได้รับชิ้นส่วน SMD ฉันกำลังพัฒนาโค้ดด้วยต้นแบบ

ฉันไม่ต้องการรับ PCB มืออาชีพ ฉันยังสร้างสิ่งนี้ได้ไหม

แน่นอน. ฉันได้ทำแบบฝึกหัดเกี่ยวกับวิธีการสร้างคอนโซลนี้ให้กับ PCB ต้นแบบที่มีทองแดงประ คุณสามารถค้นหาโครงการได้ที่นี่:

ขั้นตอนที่ 1: รับชิ้นส่วนทั้งหมด

รับอะไหล่ทั้งหมด
รับอะไหล่ทั้งหมด

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

นี่คือลิงค์สำหรับ PCBs:

นี่คือรายการส่วนประกอบที่คุณจะต้องซื้อเพื่อให้มันทำงาน:

  • ATmega328P (TQFP-32)
  • 8 ชิ้น กระดุม 6 x 6 x 6 มม.
  • คริสตัลออสซิลเลเตอร์ 16 MHz
  • ตัวเก็บประจุขนาด 22 pF 0603 จำนวน 2 ชิ้น
  • จอแสดงผล SSD1306 พร้อมอินเทอร์เฟซ SPI (128 x 64, ขาวดำ)
  • ตัวต้านทาน 0603 10 kΩ สองตัว

นี่คือรายการของส่วนประกอบเสริม:

  • NRF24L01+
  • AMSD1117-3.3 (ตัวควบคุม 3, 3 V สำหรับ NRF24L01+)
  • ตัวเก็บประจุ 1206 680 nF (NRF24L01+ ต้องการแรงดันไฟฟ้าคงที่เพื่อให้ทำงานได้อย่างถูกต้อง)
  • 2 ชิ้น 1206 led (ถ้าคุณต้องการแฟลชบางไฟ)
  • ตัวต้านทาน 0603 2 ชิ้นสำหรับไฟ LED

ขั้นตอนที่ 2: ประกอบบอร์ด

นี่จะอธิบายยากหน่อยเพราะฉันยังไม่ได้สร้าง PCB เลย ฉันไม่รู้ว่าชิ้นส่วนไปที่ไหน แต่ฉันหวังว่าพวกมันจะมาเร็ว ๆ นี้

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

หากคุณไม่เคยบัดกรีชิ้นส่วน SMD ฉันขอแนะนำให้ดูบทช่วยสอนจาก YouTube กฎพื้นฐานคือการใช้บัดกรีกับแผ่นเดียว ใส่ชิปเข้าที่ และบัดกรีหมุด จากนั้นทำด้านตรงข้ามและถ้ามีหมุดมากกว่าให้ทำ คุณยังสามารถใช้ฟลักซ์เพื่อช่วยในกระบวนการบัดกรี

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

ตรวจสอบให้แน่ใจว่าคุณประสานชิ้นส่วนอย่างถูกต้อง โดยปกติไมโครคอนโทรลเลอร์จะมีจุดเพื่อระบุพินแรก โดยปกติ PCBs จะมีจุดเพื่อชี้นำทิศทางด้วย

สำหรับชิ้นส่วน SMD คุณมักจะต้องการบัดกรีชิ้นส่วนขนาดเล็กก่อน หากคุณบัดกรีส่วนหัวก่อน คุณอาจจะใช้หัวแร้งตีหัวแร้งและปล่อยก๊าซที่น่ารังเกียจออกมา ฉันสามารถแนะนำลำดับนี้จากประสบการณ์ คุณไม่จำเป็นต้องติดตามรายการนี้ แต่ทำขึ้นด้วยสามัญสำนึก:

  1. ตัวเก็บประจุ
  2. ไฟ LED และตัวต้านทานสำหรับไฟ LED (อุปกรณ์เสริม) [ก่อนอื่นคุณควรประสานตัวต้านทาน]
  3. ตัวควบคุมและไมโครคอนโทรลเลอร์ (ตรวจสอบให้แน่ใจว่าคุณใส่ MCU อย่างถูกวิธี จุดควรหันไปทางเดียวกับเครื่องหมาย [จุดสีขาว] บน PCB)
  4. คริสตัล
  5. ปุ่ม
  6. ส่วนหัว (ส่วนหัวของ NRF24L01+ คือตำแหน่งที่วางนิ้วของคุณ ดังนั้นฉันขอแนะนำให้ใช้สายไฟเพื่อให้มีความยืดหยุ่น)
  7. สายไฟบางส่วนสำหรับแบตเตอรี่ พลังงานหลักถูกทำเครื่องหมายด้วย VCC และ GND VCC ควรอยู่ที่ประมาณ 3, 6-6 โวลต์ แรงดันไฟฟ้านั้นจะส่งตรงไปยังไมโครคอนโทรลเลอร์ ดังนั้นตรวจสอบให้แน่ใจว่าคุณไม่ได้ใส่แรงดันไฟฟ้ามากเกินไป

ขั้นตอนที่ 3: ซอฟต์แวร์

Image
Image

ฉันได้ทำเกมสองสามเกมสำหรับแพลตฟอร์มประเภทนี้ในช่วงหลายปีที่ผ่านมา คุณสามารถค้นหารหัสหลายเกมแบบเก่าได้จากที่นี่ (เป็นรหัสที่ชื่อ Mushroom_mcp_continued_v10_converted):

github.com/Teneppa/handheld_open_source

เอ็นจิ้นโอเพ่นซอร์สสามารถพบได้ที่นี่ (ฉันใช้ Visual Studio เพื่อเข้ารหัสดังนั้นจึงมีไฟล์แปลก ๆ หลายไฟล์):https://github.com/Teneppa/openTileEngine