โคตรตึง! จับคีย์บอร์ด Bluetooth มาคุยผ่าน I2C ด้วย Raspberry Pi Pico W

Bluetooth keyboard connected to I2C via Pi Pico W
โปรเจกต์แปลงคีย์บอร์ดไร้สาย Bluetooth ให้ส่งข้อมูลผ่านบัส I2C ด้วยบอร์ด Pi Pico W

สวัสดีชาว Maker สายหาทำทุกคนครับ! 🛠️ ใครที่เคยเขียนโค้ดเล่นกับไมโครคอนโทรลเลอร์ น่าจะรู้ซึ้งดีว่าพอร์ต I2C นี่มันคือเดอะแบกของวงการเลย เพราะใช้สายไฟแค่ 2 เส้น (SDA/SCL) กับโค้ดอีกนิดหน่อย ก็คุยกับเซนเซอร์ หน้าจอ หรืออุปกรณ์ต่างๆ ได้สารพัดชนิด

แต่พอพูดถึง "คีย์บอร์ด I2C" ในตลาด ส่วนใหญ่มันจะเป็นคีย์บอร์ดปุ่มกดเล็กๆ แข็งๆ ที่พิมพ์ไม่ค่อยถนัดมือเอาซะเลย จะเอามาพิมพ์งานจริงจังก็ปวดนิ้วแย่ วันนี้เราเลยขอมาป้ายยาโปรเจกต์สุดบรรเจิดที่มีชื่อว่า "bt2i2c" จากคุณ [Roberto Alsina] ที่จะมาปลดล็อกปัญหานี้ครับ!

ทำงานยังไง? (Step-by-Step สุดคูล) 🧠

โปรเจกต์นี้เป็นการแปลงร่างบอร์ด Raspberry Pi Pico W ให้กลายเป็นตัวกลาง (Bridge) เชื่อมโลกไร้สายเข้ากับพอร์ต I2C ครับ หลักการทำงานง่ายๆ ตามนี้เลย:

  • แฟลชเฟิร์มแวร์โปรเจกต์ bt2i2c ลงในบอร์ด Raspberry Pi Pico W
  • บอร์ด Pico W จะเปิด Bluetooth เพื่อรอให้คุณเอาคีย์บอร์ดไร้สายตัวโปรด (Standard Bluetooth keyboard) มาเชื่อมต่อ
  • เมื่อคุณพิมพ์คีย์บอร์ด บอร์ด Pico W จะรับข้อมูลมา แล้วส่งออกไปทางสาย I2C ให้กับบอร์ดโปรเจกต์หลักของคุณ (เช่น ESP32)

ความฉลาดของมันอยู่ตรงนี้ครับ! 💡 ฝั่งบอร์ดโปรเจกต์หลักของคุณ จะมองเห็นคีย์บอร์ด Bluetooth ตัวนี้เป็น "คีย์บอร์ดของโทรศัพท์ BlackBerry รุ่น BBQ20/BBQ10" ที่ Address 0x1F เป๊ะๆ! ซึ่งแปลว่าคุณสามารถใช้ไลบรารีโค้ดที่มีคนเขียนแจกไว้เกลื่อนเน็ต มาใช้งานต่อได้ทันทีโดยไม่ต้องเขียนโค้ด I2C รับค่าเองใหม่เลย โคตรเนียน!

💡 Maker's Tip: ในโปรเจกต์นี้ ถ้าอยากให้มีหน้าจอแสดงสถานะการเชื่อมต่อ Bluetooth แบบเท่ๆ คุณยังสามารถเอาหน้าจอ ST7789 มาต่อผ่านพอร์ต SPI เข้ากับ Pi Pico W เพิ่มเติมได้ด้วยนะ!

หากเพื่อนๆ กำลังหาของไปทำโปรเจกต์นี้ แวะมาช้อป บอร์ด Raspberry Pi Pico W, จอ IPS ST7789, หรือบอร์ดตระกูล ESP32 ได้ที่ Globalbyte Shop เลยครับ ของแท้พร้อมส่ง ทัก LINE OA มาให้แอดมินช่วยจัดเซตได้เลย!

เหมาะกับใคร? เอาไปทำอะไรได้บ้าง? 🚀

ในยุคที่ไมโครคอนโทรลเลอร์แรงขึ้นเรื่อยๆ จนแทบจะรันงานแทนคอมพิวเตอร์เครื่องนึงได้แล้ว โปรเจกต์นี้ตอบโจทย์คนที่ชอบทำโปรเจกต์สไตล์ Writerdeck (เครื่องพิมพ์ดีดดิจิทัลแบบพกพา) มากๆ ครับ คุณสามารถใช้บอร์ด ESP32 ประมวลผลหน้าจอ แล้วใช้ Pi Pico W เป็นตัวรับคีย์บอร์ด Bluetooth พิมพ์งานแบบไร้สิ่งรบกวนได้ชิลๆ เลย

⚠️ ข้อควรรู้ก่อนเริ่มโปรเจกต์

เนื่องจากโปรเจกต์นี้เป็นการนำบอร์ด 2 บอร์ดมาคุยกัน (Pico W กับ บอร์ดหลักของคุณ) อย่าลืมตรวจสอบเรื่องแรงดันไฟฟ้า (Voltage Logic) ของสาย I2C ให้ตรงกัน (ปกติจะเป็น 3.3V) เพื่อป้องกันพอร์ตพังนะครับ! สายหาทำสามารถเข้าไปศึกษาวิธีเซ็ตอัปโค้ดอย่างละเอียดได้ที่ บล็อกต้นฉบับของคุณ Roberto ได้เลย!

หน้าจอแสดงสถานะการเชื่อมต่อ 📡

ST7789 display connected to Pi Pico W showing Bluetooth status
การต่อหน้าจอ ST7789 ผ่าน SPI เข้ากับบอร์ด Pi Pico W เพื่อแสดงสถานะว่ามีคีย์บอร์ด Bluetooth ตัวไหนกำลังเชื่อมต่ออยู่บ้าง
*คำเตือนและข้อแนะนำ: เนื้อหาบทความนี้สรุปและแปลมาจากบทความเทคโนโลยีต่างประเทศ โปรเจกต์ซอฟต์แวร์และการเชื่อมต่อผ่านโปรโตคอล I2C ต้องใช้ความรู้พื้นฐานในการเดินสายไฟและการคอมไพล์โค้ด แนะนำให้ตรวจสอบรายละเอียดเฟิร์มแวร์ bt2i2c จาก เว็บไซต์ผู้พัฒนาโดยตรง ก่อนเริ่มนำไปประยุกต์ใช้งานครับ

แท็ก


Blog posts

เข้าสู่ระบบ

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

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