หน้าแรก ดูโปรเจกต์ทั้งหมด
Hard

โปรเจกต์ ASCII-Braille Real-Time Translation ผ่าน Arduino

ไอเดียที่ไร้สาระและการออกแบบที่ยังไม่ดีเพื่อให้คนอื่นนำไปพัฒนาต่อ: ASCII-Braille Real-Time Translation ผ่าน Arduino

โปรเจกต์ ASCII-Braille Real-Time Translation ผ่าน Arduino

รายการอุปกรณ์และเครื่องมือ

6x Solenoid, 5V, push-pull
-
6x 2N3904 NPN transistor
-
6x 1N4007 – High Voltage, High Current Rated Diode
-

รายละเอียดและวิธีทำ

ลองนึกถึงไอเดียที่ดูจะบ้าบิ่นดู: คือการสร้าง Solenoid matrix ขนาด 2x6 และแปลงตัวอักษร ASCII ที่ได้รับผ่าน Serial Port ให้เป็นรูปแบบจุดอักษรเบรลล์ที่ตรงกัน

จากนั้น ลองพยายามสร้างมันด้วยวิธีที่ถูกที่สุด เร็วที่สุด และหยาบที่สุด ภายในเวลาไม่กี่วันก่อนที่จะถึงช่วงวันหยุดฤดูร้อนของคุณ

แล้วคุณจะได้อะไร? ความเละเทะยังไงล่ะ.

แต่มันก็น่าสนใจนะ (อย่างน้อยก็ในแง่ของ Software...) และทุกคนสามารถนำไปปรับปรุงต่อได้ง่ายๆ!

ทำไมถึงบอกว่าบ้าบิ่น? เพราะผู้พิการทางสายตาเขาใช้ Screen Reader กัน ซึ่งมันมีประสิทธิภาพมากกว่าอุปกรณ์กลไกใดๆ มากมายมหาศาล แถมสำหรับผู้ที่ทั้งหูหนวกและตาบอด โปรโตไทป์ของผมที่ต้องมีคนคอยส่งตัวอักษร ASCII ไปยัง Arduino นั้น เรียกได้ว่าใช้งานจริงไม่ได้เลยจะดีกว่า

อย่างไรก็ตาม เราสามารถสร้าง LED matrix ขนาด 2x6 ขึ้นมาแทนได้ (จริงๆ แล้วผมก็ใช้วิธีนี้ทดสอบ Software เหมือนกัน!) เพื่อให้ได้ความพิลึกถึงขีดสุด: อักษรเบรลล์ที่มองเห็นได้! และนั่นคือความตั้งใจจริงๆ ของผม คือการสร้างระบบแปลกๆ ที่ต้องใช้ Bit Mask ในกระบวนการแปลข้อมูล

การทดสอบที่ย้อนแย้ง - LED matrix แบบ "อักษรเบรลล์ที่มองเห็นได้"

ตรงกันข้ามกับการต่อ Breadboard และการเลือกอุปกรณ์ที่ดูแย่ ตัว Software กลับทำงานได้อย่างสมบูรณ์แบบ และน่าจะเป็นส่วนเดียวที่มีประโยชน์ที่สุดของโปรเจกต์นี้

ก่อนที่จะอธิบายไอเดีย ผมขอออกตัวก่อนว่าผมรู้ตัวดีว่าควรจะทำมันให้ดีกว่านี้

เห็นได้ชัดเลยว่าผมก้าวเข้าไปในดินแดนที่ไม่รู้จักซึ่งเกินกว่าความรู้อันน้อยนิดของผม ผมยินดีที่จะเป็นตัวตลกให้เหล่าแฟนๆ Arduino ผู้เชี่ยวชาญได้หัวเราะเยาะกัน

ปัญหาหลัก:

Push-pull Solenoid ของจริงมีข้อดีที่ยอดเยี่ยมคือมันจะดีดกลับไปที่ตำแหน่งเริ่มต้นทันทีที่ตัดกระแสไฟฟ้า - แต่ผมดันไปซื้อ Solenoid แบบผลักอย่างเดียว (Push-only) ราคาถูกจาก eBay มา (อย่าโดนหลอกนะ! ถึงโฆษณาจะบอกแบบนั้น แต่มันไม่ใช่แบบ Push-pull!): https://www.ebay.it/itm/Mini-DC-5V-5mm-Push-Pull-Type-Permanent-Magnet-Strong-magnetic-Electric-Solenoid/172438873301, สิ่งที่ทำให้ผมเสียเวลามากที่สุดคือการพยายามดัดแปลงพวกมันให้ดีดกลับเองได้ตอนที่ไม่ได้ใช้งาน และผมก็ทำไม่สำเร็จ...
Solenoid จะถูก Trigger ด้วยสัญญาณ Digital จาก Arduino ซึ่งต่อเข้าที่ขา Base ของ Transistor ผ่าน Resistor ขนาด 220 Ohm
  • 2) ผมไม่ควรจะกังวลเรื่องการใช้ Solenoid ขนาด 12V หรือ 9V เลย ตอนที่ซื้อแบบ 5V ที่ถูกที่สุดมา ผมแค่อยากจะใช้ไฟ 5V มาตรฐานจาก Arduino เลี้ยงทุกอย่าง (ตอนนั้นผมยังไม่รู้เรื่องปัญหาการกินกระแสของ Solenoid)

มันเป็นความกังวลที่ไร้สาระมาก เพราะจริงๆ แล้วเราสามารถจ่ายไฟ 9V หรือ 12V ให้ Breadboard แยกต่างหากจาก Power Supply แล้วค่อยควบคุมด้วย Arduino ก็ได้

  • 3) กระแสไฟฟ้า: Solenoid แม้แต่ตัวที่เล็กและถูกที่สุดขนาด 5V ที่ผมใช้ ก็ยังเป็นอุปกรณ์ที่กินไฟดุมาก การพยายามจ่ายไฟให้ Solenoid มากกว่า 2 ตัวผ่านขา Vin หรือ 5V จาก Arduino จะทำให้บอร์ด Reset ตัวเองตลอดเวลาเนื่องจาก Solenoid ดึงกระแสไปมากเกินไป แม้ว่าจะแยกแหล่งจ่ายไฟให้ Solenoid แล้วก็ตาม แต่ถ้ากำลังไฟไม่พอ ก็จะเกิดอาการทำงานพลาดบ่อยครั้ง โปรเจกต์ที่จริงจังเกี่ยวกับ Solenoid และ Arduino จำเป็นต้องมีแหล่งจ่ายไฟแยกที่มีกำลังเพียงพอและมีการออกแบบวงจรที่ดี ที่สำคัญ: การจ่ายไฟให้ Solenoid ราคาถูกของผมเกินแรงดันที่กำหนด (เช่น ตั้งค่า Power Supply ภายนอกไว้ที่ 7.5V แทนที่จะเป็น 5V) จะทำให้มันทำงานได้แรงขึ้นมาก จนตัว "แกนสูบ" ของ Solenoid กระเด็นออกมาเลยทีเดียว

นี่คือรายการตัวอย่างการใช้งาน Solenoid + Arduino ที่ดี: https://www.google.com/search?tbs=li%3A1&q=arduino+solenoids&oq=arduino+solenoids - ดูข้อมูลทางเทคนิคดีๆ ได้ที่ https://arduino.stackexchange.com/questions/50668/can-arduino-control-8-solenoids สำหรับ Solenoid 5V ตัวเดียว แค่ Arduino อย่างเดียวอาจจะพอ แต่คุณจะเห็นว่าการใช้งานส่วนใหญ่ต้องการอุปกรณ์พิเศษและความรู้ด้านอิเล็กทรอนิกส์ที่ดี

ภาพรวมของโปรโตไทป์บน Breadboard - ด้านล่างขวาคือชุด Solenoid ขนาด 2x6 สำหรับแสดงผลจุดอักษรเบรลล์แบบสัมผัส

การทำงาน

เมื่อจัดเรียง Solenoid เป็นกลุ่มขนาด 3x2 ตามรูป (Solenoid แต่ละตัวถูกพันด้วยเทปพันสายไฟแยกกัน แล้วพันรวมกันเป็นแถวและเป็นบล็อกเดียวอีกที) เป้าหมายคือการทำให้แกนของ Solenoid แต่ละตัวโผล่ออกมาหากจุดนั้นๆ ถูกเปิดใช้งาน ซึ่งมันจะทำงานได้ยอดเยี่ยมมากถ้าใช้ Push-pull Solenoid ของจริง เพราะมันจะเด้งออกมาและหดกลับทันทีเมื่อไม่มีไฟ

แต่ในความเป็นจริง ด้วยวงจรและอุปกรณ์ตามรูป และการจ่ายไฟทุกอย่างที่ 5V แม้จะแยกแหล่งจ่ายไฟแล้ว Solenoid ก็แทบจะไม่ขยับเลย (ยกเว้นจะตั้งค่า Power Supply ให้แรงดันสูงขึ้น... ซึ่งอาจจะไม่ปลอดภัย!) แต่อย่างไรก็ตาม หากใช้ปลายนิ้วโป้งกดเบาๆ บนปลายแกนสูบ ก็ยังพอจะรับรู้ได้ว่าแกนไหนที่ดันขึ้นมาและแกนไหนที่อยู่นิ่ง ถ้าแกนหลุดกระเด็นออกมา ก็ต้องกดมันกลับเข้าไปใหม่ ซึ่งเป็นอีกหนึ่งข้อเสียของอุปกรณ์ที่ยังไม่สมบูรณ์นี้

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

ขอบคุณที่ให้ความสนใจ!

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: ascii-braille-real-time-translation-via-arduino-3c90dd
2450 บาท
PromptPay QR Code

Verified user reviews

รีวิวและความคิดเห็นจากผู้ใช้จริง

ล็อกอินด้วยบัญชีบนเว็บนี้แล้วให้คะแนนหรือคอมเมนต์ได้เลย ระบบเก็บผ่าน Supabase ไม่ต้องใช้ GitHub แล้ว

กำลังโหลดรีวิว...