สร้างเครื่องตรวจ "ยาปลอม" ด้วยงบหลักพัน! ทำความรู้จักเทคโนโลยี Disintegration Fingerprinting

เคยสงสัยไหมเวลาเราไปซื้อยาตามร้านขายยาทั่วไป หรือสั่งซื้อผ่านออนไลน์ ยาที่เรากินเข้าไปทุกวันเนี่ยเป็น "ของแท้" หรือเปล่า? ปัญหายาปลอมหรือยาที่ไม่ได้มาตรฐาน (Substandard and Falsified Medicines) เป็นภัยเงียบที่คร่าชีวิตผู้คนหลักแสนคนต่อปี โดยเฉพาะในประเทศที่กำลังพัฒนา

ปกติแล้วการจะเช็คว่ายาเม็ดนี้แท้หรือปลอม ต้องส่งเข้าแล็บใช้เครื่องมือตัวท็อปอย่าง HPLC หรือ Mass Spectrometry ซึ่งเครื่องนึงราคาเป็นล้านและต้องใช้ผู้เชี่ยวชาญเฉพาะทาง แต่ล่าสุดมีงานวิจัยเจ๋งๆ ที่พัฒนาระบบ Disintegration Fingerprinting (DF) อุปกรณ์ IoT ตรวจสอบยาเบื้องต้นด้วยงบไม่ถึง 1,500 บาท! บทความนี้จะพาไปเจาะลึกว่ามันทำงานยังไง และเราจะนำมาประยุกต์ใช้ได้แบบไหนบ้าง

Disintegration Fingerprinting (DF) คืออะไร?

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

ระบบ DF จะทำการนับจำนวนอนุภาคของยาที่กำลังแตกตัวลอยอยู่ในน้ำตลอดระยะเวลา 60 นาที แล้วพล็อตออกมาเป็นกราฟ กราฟที่ได้นี่แหละครับคือ "ลายนิ้วมือ" ที่เอาไว้เทียบว่ายาสองเม็ดนี้มาจากโรงงานเดียวกันหรือเปล่า

Disintegration Fingerprinting Prototype Device

ภาพตัวต้นแบบเครื่อง Disintegration Fingerprinting

ของที่ต้องมี! ประกอบเครื่องตรวจยาด้วยงบประมาณ $42

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

  • Microcontroller: บอร์ด Arduino Nano สำหรับควบคุมระบบทั้งหมด
  • Optical Sensor: เซ็นเซอร์อินฟราเรด (รุ่น QRE1113GR ราคาประมาณ $4.15) ตัวนี้มักใช้ในหุ่นยนต์เดินตามเส้น เอามาใช้ยิงแสงและรับแสงสะท้อนจากอนุภาคของยา
  • Magnetic Stirrer: เครื่องกวนสารแม่เหล็กราคาถูก (ประมาณ $23.99) เพื่อให้น้ำหมุนวนตลอเวลา
  • Servo Motor: สำหรับทำกลไกปล่อยยาลงน้ำแบบอัตโนมัติ
  • แก้วพลาสติกใส และ ชิ้นส่วน 3D Print: สำหรับยึดอุปกรณ์ให้เข้าที่

Step-by-Step เครื่องนี้ทำงานยังไง?

  1. เตรียมน้ำ: เปิดเครื่องกวนสารให้น้ำหมุนวนในแก้วพลาสติก
  2. วัดค่าพื้นฐาน: เซ็นเซอร์ IR จะยิงแสงเข้าไปในน้ำเปล่า และบันทึกค่าแสงที่สะท้อนกลับมาเป็นเวลา 5 นาที เพื่อตั้งค่า Baseline
  3. หย่อนยา: Servo Motor จะปล่อยยาลงไปในน้ำ
  4. เซ็นเซอร์ทำงาน: เมือยาเริ่มแตกตัว อนุภาคของยาจะหมุนวนไปมา ทุกครั้งที่อนุภาคลอยผ่านหน้าเซ็นเซอร์ IR แสงอินฟราเรดจะสะท้อนกลับมาที่เซ็นเซอร์ ทำให้เกิด "กราฟยอดแหลม" (Peak) ขึ้นในระบบ
  5. วิเคราะห์ผล: ซอฟต์แวร์จะนับจำนวน Peak ที่เกิดขึ้นในแต่ละนาที สร้างออกมาเป็นกราฟแสดงลายนิ้วมือการละลายของยาเม็ดนั้นๆ

แม่นยำแค่ไหน? ผลการทดสอบสุดปัง

ทีมนักวิจัยได้ทดสอบเครื่อง DF นี้กับยาทั้งหมด 32 ชนิด (รวมถึงยาแก้ปวด ยาปฏิชีวนะ ยาแก้แพ้ และวิตามิน) จำนวน 96 เม็ด ผลปรากฏว่า:

  • ความแม่นยำสูงถึง 90%: เครื่องสามารถจับคู่กราฟลายนิ้วมือของยาชนิดเดียวกันได้อย่างถูกต้อง
  • แยกแยะยาแท้กับยาสามัญ (Generic) ได้: แม้จะเป็นยา Aspirin ที่มีตัวยาสำคัญ 325 mg เท่ากัน แต่ยาของยี่ห้อ Bayer กับยาสามัญทั่วไป มีรูปแบบการละลายและสารเติมแต่ง (Inactive ingredients) ต่างกัน เครื่องก็สามารถแยกความต่างนี้ได้ชัดเจน
  • ทนทานต่อปัจจัยแวดล้อม: เขาทดสอบเอายาไปอบในที่ร้อนจัด (50 องศาเซลเซียส) หรือแช่แข็ง (-20 องศาเซลเซียส) นาน 35 วัน แม้กราฟจะเปลี่ยนไปบ้าง แต่ระบบก็ยังจัดกลุ่มยาชนิดนั้นๆ ได้ถูกต้อง 100%
View more (ดูรูปภาพกราฟผลการทดลองเพิ่มเติม)

กราฟเปรียบเทียบการละลายของยาแต่ละชนิด (รูปภาพจากงานวิจัยต้นฉบับ)

Graph Result 2 Graph Result 6 Graph Result 8 Graph Result 11

สามารถดูรูปภาพทั้งหมด (F1-F14) ได้จากลิงก์เอกสารอ้างอิงด้านล่างสุดของบทความ

แนวคิดระบบประมวลผล (Code Snippet)

เบื้องหลังของระบบนี้ใช้ Python ในการวิเคราะห์ข้อมูลดิบ (Raw Data) ที่ส่งมาจาก Arduino โดยมีลอจิกสำคัญคือการกรองสัญญาณรบกวน (Noise) และการตรวจจับยอดคลื่น (Peaks) ของอนุภาคที่วิ่งผ่านเซ็นเซอร์

View more (ดูตัวอย่างโค้ด / Copy Code)

# แนวคิดการเขียนโค้ด (Pseudo-code) อ้างอิงจากระเบียบวิธีวิจัย
import numpy as np
import scipy.signal as signal

def process_sensor_data(raw_voltage_data):
    # 1. ลบข้อมูล 5 นาทีแรกออก (ช่วง Baseline ก่อนใส่ยา)
    data = remove_initial_baseline(raw_voltage_data)
    
    # 2. กรองสัญญาณรบกวน (Noise) ที่มีค่ากระโดดเกิน 20 หน่วย
    peaks_noise, _ = signal.find_peaks(data, prominence=20)
    data = remove_noise(data, peaks_noise)
    
    # 3. ตรวจจับอนุภาค (Particle Peaks) ที่ความโดดเด่นของคลื่น (Prominence) = 10
    particle_peaks, _ = signal.find_peaks(data, prominence=10)
    
    # 4. แบ่งข้อมูลเป็นช่วงเวลา (Bin) ช่วงละ 75 วินาที เพื่อนับจำนวนอนุภาคต่อนาที
    time_bins = create_bins(data, interval_seconds=75)
    fingerprint = count_peaks_per_bin(particle_peaks, time_bins)
    
    return fingerprint

def calculate_difference_score(fingerprint_A, fingerprint_B):
    # คำนวณความต่างระหว่าง 2 ลายนิ้วมือ (Difference Score)
    # ยิ่งค่าน้อย แปลว่ายาสองเม็ดนี้มีโอกาสเป็นชนิดเดียวกันสูง
    diff_score = np.sum(np.abs(fingerprint_A - fingerprint_B))
    return diff_score

เครื่อง Disintegration Fingerprinting ถือเป็นอีกหนึ่งตัวอย่างการนำเทคโนโลยี IoT มาแก้ปัญหาระดับโลกด้วยต้นทุนที่ทุกคนเข้าถึงได้ แม้จะไม่สามารถบอกสารเคมีข้างในได้อย่างละเอียดเท่าเครื่องระดับโปร แต่ก็เป็นเครื่องมือคัดกรองเบื้องต้น (Presumptive Test) ที่มีประสิทธิภาพสูงมากครับ

สนใจเทคโนโลยีและอุปกรณ์ IoT?

หากคุณชอบเนื้อหาเกี่ยวกับการประดิษฐ์หรืออุปกรณ์ฮาร์ดแวร์เจ๋งๆ แบบนี้ สามารถเข้ามาพูดคุย แลกเปลี่ยนความรู้ หรือสั่งซื้ออุปกรณ์ต่างๆ ได้เลย!

คำเตือน: เนื้อหานี้เป็นการสรุปและเรียบเรียงจากบทความต้นฉบับภาษาอังกฤษ ข้อมูลฉบับภาษาไทยอาจมีความคลาดเคลื่อนบางประการจากการตีความหรือย่อเนื้อหา โปรดอ้างอิงและตรวจสอบข้อมูลเชิงลึกจากลิงก์ต้นฉบับที่แนบไว้ด้านล่าง
อ้างอิงจาก (References):
  • บทความบนเว็บไซต์: Globalbyteshop Blog
  • ชื่องานวิจัยต้นฉบับ: Disintegration Fingerprinting: A Low-Cost and User-Friendly Tool for Identifying Substandard and Falsified Solid-Dosage Medicines
  • นักวิจัย (Authors): Ishmam Fatima, Oscar Fajardo, Canhui Liu, Harshith Sadhu, and William H. Grover
  • อ่านงานวิจัยฉบับเต็ม: MedRxiv Preprint Link
  • อ้างอิงข่าวเพิ่มเติม: Hackaday Article
  • ดาวน์โหลดไฟล์ PDF ของงานวิจัย: คลิกที่นี่เพื่อดาวน์โหลด PDF

แท็ก


Blog posts

เข้าสู่ระบบ

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

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