กลับไปหน้ารวมไฟล์
banana-piano-capacitive-touch-arduino.md

ตัวเก็บประจุทางชีวภาพ: เปียโนกล้วย Arduino

ปุ่มอิเล็กทรอนิกส์มาตรฐานต้องกดโดมโลหะทางกายภาพ โปรเจกต์ Banana Piano ทำลายแนวคิดของปุ่มกลไกโดยสิ้นเชิง โดยสำรวจอาณาจักรของการนำไฟฟ้าทางชีวภาพ! เนื่องจากกล้วยจริงๆ มีความเข้มข้นของน้ำและไอออนโพแทสเซียมในระดับสูง ทำให้มันมีคุณสมบัติทางคณิตศาสตร์เป็นตัวกลางนำไฟฟ้าสูง โดยการใช้ตัวต้านทาน 1 Megohm (1,000,000 โอห์ม) เชื่อมต่อระหว่างสองขาของ Arduino อย่างแน่นหนา กล้วยทั้งลูกจะกลายเป็น Capacitive Touch Dielectric Antenna ที่ทรงพลัง! เมื่อมนุษย์สัมผัสเปลือกผลไม้ ความชื้นในร่างกายของพวกเขาจะรบกวนสนามแม่เหล็กไฟฟ้าขนาดเล็กที่กำลังชาร์จขา Pin อย่างรุนแรง ไลบรารี <CapacitiveSensor.h> จะสกัดกั้นความผิดปกติของการหน่วงเวลาที่วุ่นวายนี้ทันที โดยแปล "การสัมผัส" ให้เป็นเสียงสังเคราะห์ tone(440) ที่รุนแรงผ่านอาเรย์ buzzer ในตัว!

arduino_memory_game_piezo_macro_1772681197420.png

ไขปริศนาการหน่วงเวลาแบบ Capacitive

ไลบรารีไม่ได้อ่าน "แรงดันไฟฟ้า" โดยตรง แต่มันจะวัดเวลาการทำงานตามลำดับ (RC Time Constant) อย่างแม่นยำ!

  1. ตัวต้านทานขนาดใหญ่ 1M - 10M โอห์ม จะเชื่อมต่อ Send Pin 4 เข้ากับ Receive Pin 2 โดยตรง
  2. Receive Pin จะเชื่อมต่อเข้ากับสายจัมเปอร์ที่หลวมๆ ซึ่งเสียบลงไปในกล้วยที่เป็นสิ่งมีชีวิตอย่างแท้จริง!
  3. Arduino จะส่งสัญญาณ Send Pin 4 ให้เป็น HIGH (5V) มันจะเริ่มจับเวลาด้วย micro-stopwatch ทันที
  4. โดยปกติ กระแสไฟฟ้าจะไหลผ่านตัวต้านทาน 1M-Ohm ขนาดใหญ่ด้วยความยากลำบาก และ Pin 2 จะเป็น HIGH ในเวลา x microseconds พอดี
  5. หากมนุษย์สัมผัสกล้วย ร่างกายของพวกเขาจะทำหน้าที่เหมือนตัวเก็บประจุขนาดใหญ่ที่เชื่อมต่อกับ GND อย่างชัดเจน! กระแสไฟฟ้าจะถูกดูดซับโดยผิวหนังมนุษย์โดยตรง ทำให้การจับเวลาของ stopwatch เกิน 10x microseconds อย่างรุนแรง! การหน่วงเวลาที่เพิ่มขึ้นนี้ยืนยันว่ามีการสัมผัสอย่างชัดเจน!
#include <CapacitiveSensor.h>

// 1 Megohm resistor strictly between Pin 4 & Pin 2!
CapacitiveSensor cs_4_2 = CapacitiveSensor(4,2); // A Banana Note!
CapacitiveSensor cs_4_6 = CapacitiveSensor(4,6); // B Banana Note!

void setup() {
  cs_4_2.set_CS_AutocaL_Millis(0xFFFFFFFF); // Terminate massive auto-calibration lag!
}

void loop() {
  // Execute physical dielectric charging vectors!
  long total1 = cs_4_2.capacitiveSensor(30); 
  long total2 = cs_4_6.capacitiveSensor(30);

  // If the dielectric latency exceeds precisely 100 microseconds, HUMAN TOUCH IS POSITIVE!
  if (total1 > 100) { tone(8, 261); } // Middle C!
  if (total2 > 100) { tone(8, 293); } // Note D!
  
  if (total1 < 100 && total2 < 100) {
    noTone(8);  // Clean audio silencing function!
  }
}

การแก้ไขความผิดปกติของ Ground-Loop ของแล็ปท็อป

Capacitive sensor จะทำงานได้อย่างวุ่นวายโดยสมบูรณ์ ขึ้นอยู่กับสภาพแวดล้อมทางกายภาพอย่างแท้จริง!

  • หาก Arduino ทำงานด้วยแบตเตอรี่ 9V เท่านั้น (ลอยตัวอย่างสมบูรณ์จาก Earth ground) การสัมผัสกล้วยจะไม่มีผลอะไรเลย เพราะร่างกายมนุษย์ไม่สามารถปิดลูปวงจรได้!
  • ระบบจะทำงานได้อย่างสมบูรณ์เมื่อ Arduino ถูกเสียบผ่าน USB โดยตรงเข้ากับ PC Laptop ที่หนัก ซึ่งเสียบปลั๊กโดยตรงเข้ากับเต้ารับผนัง 120V/240V ที่มีกราวด์!
  • สิ่งนี้ให้ค่าอ้างอิง AC Earth Ground ที่สมบูรณ์แบบอย่างแท้จริง ทำให้สนาม capacitive สามารถตรวจจับการบุกรุกทางชีวภาพได้อย่างไร้ที่ติ!

ฮาร์ดแวร์สถาปัตยกรรมเสียง

  • Arduino Uno/Nano (หรือบอร์ด Makey-Makey ที่ทำหน้าที่เป็น capacitive interface array ที่ปรับเทียบไว้ล่วงหน้า!)
  • <CapacitiveSensor.h> Library Framework (แปลค่าการหน่วงเวลาของ stopwatch ตามลำดับเวลาที่เข้มข้นให้เป็นจำนวนเต็มที่เข้าใจง่าย)
  • ตัวต้านทาน 1 Megohm หลายตัว (1MΩ) (สำคัญอย่างยิ่ง! ตัวต้านทาน 10K นั้นอ่อนเกินไป การหน่วงเวลาจะเป็นศูนย์ ตัวต้านทาน 10MΩ ทำให้กล้วยมีความไวสูงมากจนจะทำงานแม้คุณโบกมือห่างออกไป 2 นิ้วเลยทีเดียว!)
  • Piezo Passive Buzzer (ทำหน้าที่สร้างอาเรย์ทางคณิตศาสตร์ที่สมบูรณ์ของความถี่ PWM สังเคราะห์ที่หลากหลาย)
  • ตัวกลางที่มีน้ำเป็นส่วนประกอบอินทรีย์ (กล้วย, แอปเปิ้ล, มนุษย์)

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

title: "Banana Piano"
description: "Human-conductive capacitive arrays! Discard physical tactile buttons completely and exploit the organic aqueous resistance of literal fruit architecture, translating micro-ampere capacitive touch variations into exact piezoelectric audio synthesis vectors."
category: "Audio & Sound"
difficulty: "Beginner"