Raspberry Pi Pico 2 ปลุกชีพ Brick Phone ตำนานมือถือกระดูกหมา

คุณอาจจะเคยเห็นมือถือรุ่นคุณพ่ออย่าง "มือถือกระดูกหมา" (Motorola 1G สไตล์ Brick Phone รุ่นปี 1992) ที่ตอนนี้กลายเป็นแค่ที่ทับกระดาษไปแล้ว แต่วันนี้เราจะพาไปดูโปรเจกต์สุดเจ๋งที่จับมันมาถอดไส้ในออกทั้งหมด แล้วยัดสมองกลยุคใหม่อย่าง Raspberry Pi Pico 2 เข้าไปแทนที่ ทำให้มันกลับมาโทรออกได้จริงๆ ในยุคนี้!

มาดูกันว่าการเปลี่ยนของเก่าเก็บ ให้กลายเป็นมือถือสุดเก๋าที่ใช้งานร่วมกับสมาร์ทโฟนยุคปัจจุบันได้นั้น เขาทำกันอย่างไร


ภายในมือถือกระดูกหมาฉบับรีเมค

ผู้สร้างโปรเจกต์ได้รื้อแผงวงจรเดิมทิ้งทั้งหมด แล้วสร้างแผงคีย์บอร์ด PCB ขึ้นมาใหม่ให้พอดีกับเคสเดิม โดยภาพด้านล่างคือการเปรียบเทียบระหว่างบอร์ดใหม่ (ซ้าย) กับบอร์ดดั้งเดิม (ขวา) ครับ

Keyboard PCB Comparison
คลิกเพื่อดูรูปภาพเครื่องในและวงจรเพิ่มเติม (View More)
Internals Comparison
Inside the Phone

หลักการทำงาน (Overview)

ระบบนี้ทำงานร่วมกันหลายส่วน โดยใช้ภาษา CircuitPython เป็นตัวควบคุมลอจิกทั้งหมด:

  • ปุ่มกด: ใช้ไมโครสวิตช์ 20 ตัวต่อเข้าด้วยกันเป็น Key Matrix ด้วยสายรีเลย์เบอร์ 30 (30 gauge) แล้วส่งเข้าบอร์ด Pico 2
  • หน้าจอ: ใช้จอสี TFT LCD ต่อผ่าน SPI เพื่อจำลองการแสดงผลให้เหมือนจอ LED 7-segment แบบรุ่นคลาสสิก
  • ระบบโทรออก: Pico จะส่งคำสั่งผ่าน I2C ไปที่สวิตช์อนาล็อก (ADG729) เพื่อ "จำลองการกดปุ่ม" บนแผงวงจรของหูฟังบลูทูธ (BM10 Wireless Dialer) ที่ซ่อนอยู่ข้างในเครื่องอีกที
  • พลังงาน: เลี้ยงระบบทั้งหมดด้วยแบตเตอรี่ลิเธียมไอออน 3.7v ความจุ 2200mAh
System Diagram

อุปกรณ์ที่ใช้ (Parts List) & การประกอบ

  • Raspberry Pi Pico 2
  • สวิตช์ปุ่มกด Tactile ขนาด 6 มม.
  • หน้าจอ 1.3" 240x240 TFT LCD - ST7789
  • โมดูล Adafruit ADG729 Dual 1-to-4 Analog Matrix Switch
  • โทรศัพท์มือถือจิ๋วบลูทูธ BM10 Wireless Dialer
  • แบตเตอรี่ Lithium Ion - 3.7v 2200mAh
  • บอร์ดจ่ายไฟ PowerBoost 1000 Charger

การประกอบ (The Build): เพื่อให้ยัดของทั้งหมดลงในเคสมือถือเก่าได้ ผู้สร้างเลือกใช้วิธีซ้อนแผ่น PCB ขึ้นไปเป็นชั้นๆ (Stacked) แล้วเดินสายไฟเชื่อมหากันเพื่อประหยัดพื้นที่ให้มากที่สุด

ส่วนของซอฟต์แวร์ (CircuitPython)

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

คลิกเพื่อดูและคัดลอกโค้ด (View More)
# ตัวอย่างโครงสร้างโค้ด CircuitPython สำหรับอ่านค่า Key Matrix
import board
import digitalio
import time

# กำหนดขา Row และ Column ของปุ่มกด
rows = [digitalio.DigitalInOut(pin) for pin in (board.GP0, board.GP1, board.GP2)]
cols = [digitalio.DigitalInOut(pin) for pin in (board.GP3, board.GP4, board.GP5)]

for row in rows:
    row.direction = digitalio.Direction.OUTPUT
    row.value = False
for col in cols:
    col.direction = digitalio.Direction.INPUT
    col.pull = digitalio.Pull.DOWN

def scan_keys():
    for i, row in enumerate(rows):
        row.value = True
        for j, col in enumerate(cols):
            if col.value:
                print(f"Key Pressed: Row {i}, Col {j}")
                time.sleep(0.2) # Debounce
        row.value = False

while True:
    scan_keys()
    time.sleep(0.01)

ทริคการตั้งค่า: ถ้าต่อ Bluetooth กับ iPhone ไม่ได้?

การทำงานของโปรเจกต์นี้คือใช้บอร์ดตัวใน (BM10) เชื่อมต่อ Bluetooth เข้ากับสมาร์ทโฟนของคุณเพื่อรับสาย/โทรออก หากคุณต่อกับ iPhone แล้วมีปัญหา ลองแก้ตามนี้ครับ:

  • เช็กสิทธิ์การเข้าถึง (Restrictions): ไปที่ Settings > Screen Time > Content & Privacy Restrictions แล้วดูว่าอนุญาตให้ใช้ Bluetooth sharing หรือยัง
  • รีเซ็ตเครือข่าย (Reset Network Settings): ถ้าแก้ไม่ได้ ให้ลองไปที่ Settings > General > Transfer or Reset iPhone > Reset > Reset Network Settings เพื่อล้างค่า Bluetooth ดูครับ

สรุป: โปรเจกต์นี้เป็นการผสานความคลาสสิกของมือถือยุค 90 เข้ากับเทคโนโลยีไมโครคอนโทรลเลอร์สมัยใหม่อย่าง Raspberry Pi Pico 2 ได้อย่างลงตัว ใครที่มีของเก่าเก็บอยู่ที่บ้าน ลองเอามาปัดฝุ่นแล้วใส่สมองกลเข้าไปใหม่ คุณอาจจะได้แกดเจ็ตสุดเท่ที่ไม่เหมือนใครเลยก็ได้ครับ!


คำเตือน: เนื้อหานี้เป็นการสรุปและเรียบเรียงจากบทความต้นฉบับภาษาอังกฤษ ข้อมูลฉบับภาษาไทยอาจมีความคลาดเคลื่อนบางประการจากการตีความหรือย่อเนื้อหา

อ้างอิงและเรียบเรียงโดย: Globalbyteshop Blog

แหล่งที่มาต้นฉบับ:
- โปรเจกต์โดย alanb128: GitHub - Brick Phone
- Hackaday: No More Paperweight, This Vintage Brick Phone is Back Online

แท็ก


Blog posts

เข้าสู่ระบบ

ลืมรหัสผ่านใช่ไหม?

ยังไม่มีบัญชีใช่ไหม?
สร้างบัญชี