กลับไปหน้ารวมไฟล์
tuneglass-can-we-make-music-using-our-eyes-6f6db7.md

มันมีคำถามอยู่ในหัวพี่นะ ถ้า Morse code ใช้ตาได้... พี่ก็ทำเพลงด้วยตาได้สิวะ! Morse code มันก็เป็นแพทเทิร์นแบบนึง เพลงก็เป็นแพทเทิร์นของเสียงหรือบิตเหมือนกัน (พี่พอมีความรู้นิดหน่อยในเรื่องนี้) พี่เลยคิดว่า ถ้าเรากระพริบตาเป็นแพทเทิร์นได้ เราก็น่าจะสร้างเสียงเพลงได้แน่ๆ อย่างน้อยก็สังเคราะห์แพทเทิร์นนั้นออกมาเป็นเสียงได้ นั่นแหละคือสิ่งที่พี่ลองทำในโปรเจคนี้ พี่ลองทำเพลงโดยใช้ตานั่นเอง

มาดูกันว่าเราทำยังไงได้บ้าง

มุมมองของโปรเจค

TuneGlass: เราทำ "เพลง" ด้วย "ตา" ได้จริงเหรอ??? นี่คือการสำรวจเทคโนโลยีช่วยเหลือและการโต้ตอบระหว่างเสียงกับดิจิทัลแบบเจ๋งๆ โดยเน้นไปที่ส่วนประกอบหลักๆ—นั่นคือ เซ็นเซอร์ตาแบบอินฟราเรด (IR eye-sensors) และ ซินธิไซเซอร์ Arduino—น้องจะได้เรียนรู้วิธีการสื่อสารและสร้างแพทเทิร์นดนตรีของตัวเองโดยใช้ลอจิกซอฟต์แวร์พิเศษและการตั้งค่าแวร์เอเบิลที่ทนทาน

ขั้นตอนที่ 1: อุปกรณ์ที่ต้องใช้

  • Arduino Pro Mini – พี่ใช้รุ่น ATmega328P 5v 16 mHz นะ
  • เซ็นเซอร์อินฟราเรด (IR sensor) (แบบไม่มีบอร์ด ADC)
  • ลำโพง (Speaker) – พี่เอามาจากมือถือเก่า
  • โมดูล Powerbank – บูสเตอร์แปลงไฟ
  • แบตเตอรี่ลิเธียมโพลิเมอร์เล็ก (Small lipo battery) – พี่ใช้แบต 150 mAh

โครงสร้างพื้นฐานฮาร์ดแวร์แบบสวมใส่ได้

  • Arduino Pro Mini: คือ "สมอง" ของโปรเจค จัดการการอ่านค่าจากเซ็นเซอร์หลายทิศทางและประสานงานการส่งออกเสียง
  • เซ็นเซอร์สะท้อนอินฟราเรด (IR Reflective Sensors): ให้การตรวจจับ "การกระพริบตา" ที่แม่นยำสูงและน่าเชื่อถือสำหรับภารกิจทำเพลงของน้อง
  • แบตเตอรี่ลิเธียมโพลิเมอร์ (Li-Po Battery): สำคัญมากสำหรับการให้พลังงานสูงและเป็นฐานแบบพกพาสำหรับแว่นตาสวมใส่
  • โมดูล Powerbank: สำคัญสำหรับการจ่ายไฟ 5V ที่ชัดเจนและประหยัดพลังงานให้กับ Pro Mini
  • ลำโพงขนาดเล็ก (Mini Speaker): ให้อินเทอร์เฟซเสียงที่ชัดเจนและเป็นมืออาชีพสำหรับสิ่งประดิษฐ์ของน้อง
  • สาย Micro-USB: ใช้สำหรับโปรแกรม Arduino และเป็นอินเทอร์เฟซหลักสำหรับควบคุมระบบ

ขั้นตอนที่ 2: หลักการและการลงมือทำจริง

พี่ใช้เซ็นเซอร์ IR สองตัวเพื่อดูว่าตาปิดหรือเปิด เซ็นเซอร์ IR แต่ละตัวจะส่งค่าออกมา (0 ถึง 1023) ทีนี้ถ้ามันเห็นว่าตาปิด ค่าที่ได้จะลดลง มันก็เลยบอกได้ว่าตาข้างนั้นปิดอยู่ (ตรวจจับการกระพริบตาได้) น้องจะซื้อเซ็นเซอร์ตรวจจับการกระพริบตา (Eye Blink sensor) มาใช้ก็ได้ แต่วิธีการทำงานมันเหมือนกันหมด แถมวิธีของพี่ถูกกว่าและก็ใช้ได้ดีเลย

โปรเจคนี้เผยให้เห็นเลเยอร์ที่ซ่อนอยู่ของการโต้ตอบง่ายๆ ระหว่างตากับเสียง:

  • เลเยอร์ตรวจจับ (Identification layer): เซ็นเซอร์ IR สองตัว ทำหน้าที่เป็นดวงตาออปติคัลความละเอียดสูง วัดการขยิบหรือกระพริบตาของน้องผ่านการสะท้อนของอินฟราเรด
  • เลเยอร์แปลงสัญญาณ (Conversion layer): Arduino ใช้พินอนาล็อก (A0, A1) ในการรับค่าจากเซ็นเซอร์ความเร็วสูงและประสานงานงานสำคัญเกี่ยวกับดนตรี
  • เลเยอร์อินเทอร์เฟซเสียง (Auditory Interface layer): ลำโพงขนาดเล็ก ให้ฟีดแบ็กเสียงความละเอียดสูงสำหรับการตรวจสอบแพทเทิร์นการขยิบตา (เช่น ซ้าย/ขวา/ทั้งสองข้าง)
  • เลเยอร์ลอจิกประมวลผล (Processing Logic layer): โค้ด Arduino ใช้กลยุทธ์ "ค่าขีดจำกัดทางสถิติ" (หรือการแมปความถี่): มันตีความค่าอนาล็อกและจับคู่ความถี่ของฟังก์ชัน tone() เพื่อสร้าง "เครื่องดนตรีจากตา" ที่ปลอดภัยและใช้งานง่าย
  • ลูปการสื่อสาร (Communication Dialogue Loop): จำนวนนับและความถี่จะถูกส่งไปยัง Serial Monitor เป็นจังหวะในช่วงปรับเทียบเริ่มต้น เพื่อประสานสถานะแบบเรียลไทม์

หลังจากตรวจจับการขยิบหรือกระพริบตาได้แล้ว มันจะส่งออกเสียงด้วยความถี่ที่ต่างกันสำหรับตาแต่ละข้าง และถ้าทั้งสองตาปิด ก็จะเป็นอีกความถี่นึง หวังว่าน้องจะเข้าใจจุดนี้เนอะ

เอาล่ะ มาลงมือทำกันเลยดีกว่า มาจัดการให้เรียบ! สู้งานนะน้อง!

ขั้นตอนที่ 3: ประกอบวงจร

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

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

ขั้นตอนที่ 4: อัพโหลดโปรแกรม

อย่างที่พี่บอกไว้ตอนต้นว่าเราตั้งความถี่เสียงต่างกันให้ตาทั้งสองข้าง ฟังก์ชันที่ใช้คือ tone() นี่แหละ

tone(speaker_name, frequency_in_Hz, delay);

วิธีโปรแกรม Arduino Pro Mini:

  • ถอดไอซี ATmega 328P ออกจาก Arduino Uno
  • ต่อ Tx ของ Uno เข้ากับ Tx ของ Mini
  • ต่อ Rx ของ Uno เข้ากับ Rx ของ Mini
  • ต่อ 5V ของ Uno เข้ากับ VCC ของ Mini
  • ต่อ GND ของ Uno เข้ากับ GND ของ Mini
  • ต่อ RST ของ Uno เข้ากับ RST ของ Mini

จากนั้นเปิด Arduino IDE เลือกบอร์ดเป็น Arduino Pro Mini และเลือกพอร์ตให้ถูก แล้วอัพโหลดโค้ดด้านล่างนี้ไปได้เลย

/*
 * Making music using Eye  
  * by: Ashraf Minhaj  
  * mail: ashraf_minhaj@yahoo.com  
  * license: General Public License  
*/
//connect sensors on
int sen1 = A0;  //A0
int sen2 = A1;  //A1
//Connect speakers (Not acutally buzzers)
int buz1 = 8;  //on digital pin 8
int buz2 = 9;  //digital 9
void setup()  // put your setup code here, to run once:
{
  pinMode(buz1, OUTPUT); //set pins as output
  pinMode(buz2, OUTPUT);
  Serial.begin(9600); //initialize serial com to see values
}
void loop() 
{
  // put your main code here, to run repeatedly:
  int val1 = analogRead(sen1);
  int val2 = analogRead(sen2);
  //print what's been read by the sensors
  Serial.println(val1);
  if(val1 < 750 && val2 < 750)
  {
    tone(buz1, 1000, 10);
  }
  else if(val1 < 750)
  {
  tone(buz1, 2000, 100);
  }
  else if(val2 < 750)
  {
    tone(buz1, 1500, 100);
  }
  
  //Serial.println(val2);
  //make sound
  
  
}

ขั้นตอนการทำงานแบบทีละสเต็ป

กระบวนการทำแว่นตาดนตรีนี้ ออกแบบมาให้มีประสิทธิภาพสุดๆ:

  1. ตั้งค่าฮาร์ดแวร์: วางเซ็นเซอร์อินฟราเรด (IR Sensor) ในกรอบแว่นตาให้ถูกตำแหน่ง และต่อลำโพง (Speaker) ให้เรียบร้อย
  2. ตั้งค่าสัญญาณเอาต์พุต: ในสเก็ตช์ Arduino ให้กำหนดพินแบบอนาล็อกและตั้งค่าความถี่เสียง (Tone Frequency) สำหรับแต่ละตา
  3. ลูปตรวจสอบ: แว่นตาจะคอยตรวจจับการกระพริบตาของคุณแบบเรียลไทม์ และอัพเดทสถานะเสียงทันที
  4. แสดงผล: เพลิดเพลินไปกับจังหวะดนตรีที่เปลี่ยนไปตามการกระพริบตาของคุณ ซึ่งควบคุมผ่านเซ็นเซอร์บนแว่นได้เลย

ขั้นตอนที่ 5: ประกอบทุกอย่างเข้าด้วยกัน

ตอนนี้ก็เอาเซ็นเซอร์มาวางหันเข้าหาตา (อาจต้องปรับตำแหน่งนิดหน่อย) ส่วน Arduino กับลำโพงติดไว้ด้านหนึ่งของแว่น อีกด้านก็ติดแบตเตอรี่กับบูสเตอร์ 5V ใช้กาวร้อนยึดให้แน่นหนา อย่าให้ขยับ!

[!TIP] ใช้ กาวร้อน ยึดเซ็นเซอร์อินฟราเรดให้มั่นคงนะ! ถ้ามันขยับแม้แต่นิดเดียว การตรวจจับการกระพริบตาก็อาจพังได้เลย

ขั้นตอนที่ 6: จัดไฟเลี้ยง แล้วก็สนุกกันได้เลย!

ทีนี้ก็จัดไฟเลี้ยงให้มัน แล้วดูผลงานของเราว่ามันทำงานยังไง เปิด Serial Monitor ดูค่าต่างๆ แล้วปรับแต่งตามใจชอบได้เลย จบ! ตอนนี้เราก็มีแว่นตาที่สร้างเสียงดนตรีได้แล้ววว

เจ้านี่เอาไปใช้นับจำนวนการกระพริบตาได้ด้วยนะ จะเอาไปนับว่ากระพริบตากี่ที หรือขยิบตากี่ทีก็ได้ งานนี้คนพิการก็ใช้ประโยชน์ได้เลย มีไอเดียโปรเจคเจ๋งๆ แล้วเหรอ? ;)

ไอเดียต่อยอดในอนาคต

  • ติดจอ OLED เป็นแดชบอร์ดประจำตัว: เอา OLED ขนาดจิ๋วมาติดบนกรอบแว่น เพื่อแสดงค่าพวก "ความถี่เสียงปัจจุบัน (Hz)" หรือ "แบตเตอรี่ (%)"
  • เพิ่มเซ็นเซอร์วัดความเร่ง (Accelerometer) สำหรับควบคุมด้วยท่าทาง: ต่อ Accelerometer เข้าไปเพื่อให้ควบคุมเสียงดนตรีด้วย "ท่าทางศีรษะ" ได้แม่นยำขึ้น
  • ทำแดชบอร์ดบนมือถือผ่าน WiFi/BT: สร้างเว็บแดชบอร์ดเฉพาะทางบนสมาร์ทโฟน เพื่อติดตามและบันทึกประวัติการใช้งานได้อย่างละเอียด
  • เพิ่มฟีเจอร์ส่งสัญญาณ MIDI ออกไป: เพิ่มโค้ดส่วน "MIDI Output" เพื่อให้แว่นตาสามารถควบคุมซินธิไซเซอร์ได้โดยอัตโนมัติ เหมาะสำหรับงานดนตรีระดับโปร

TuneGlass นี่คือโปรเจคสุดปังสำหรับสายวิทย์-เทคที่กำลังมองหาเครื่องมือช่วยเหลือผู้พิการแบบอินเทอร์แอคทีฟและน่าสนใจ!

ข้อมูล Frontmatter ดั้งเดิม

title: "TuneGlass: เล่นดนตรีด้วยตาได้จริงเหรอวะ?? งานง่ายแต่หล่อ!"
description: "แว่น Arduino ตึงๆ ที่แปลงการขยับตาเป็นเสียงดนตรีหรือโทนเพลงได้เลย วัยรุ่นจัดไป! ใช้เซนเซอร์ตรวจจับลูกตา + อินเตอร์รัพต์เทพๆ ควบคุมเสียง ใส่แล้วดูเท่โคตร!"
author: "ashraf_minhaj"
category: "Audio & Sound"
tags:
  - "audio"
  - "synthesizer"
  - "voice"
  - "tone"
  - "robots"
views: 6950
likes: 12
price: 299
difficulty: "Intermediate"
components:
  - "1x Arduino Pro Mini 328 - 5V/16MHz"
  - "1x Arduino UNO"
  - "1x Speaker: 0.25W, 8 ohms"
  - "2x IR sensor"
  - "1x UTSOURCE Electronic Parts"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles:
  - "https://github.com/ashraf-minhaj/TuneGlass"
documentationLinks: []
passwordHash: "34f5b0fa2dab0559f35a80c09ec8c33eabac06c0ad13374d1c64419c0a10f464"
encryptedPayload: "U2FsdGVkX19+yqP08VGo172XRp75S/tuH+ct0eqOr5rK+zsFcWIpMh8Ns6NpyCGbqPzaCt1PbUCQsma7gm1n2CJfsgWPgTr+eEPPJAsgiUs="
seoDescription: "Make MUSIC with your EYES! An Arduino glasses project that converts eye movements into musical TONES."
videoLinks:
  - "https://www.youtube.com/embed/FujAC0mMIEQ"
  - "https://www.youtube.com/embed/FujAC0mMIEQ"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/tuneglass-can-we-make-music-using-our-eyes-6f6db7_cover.jpg"
lang: "en"