ปฏิบัติการกวนประสาท: Passive Buzzer Rickroll
โปรเจกต์ Passive Buzzer Rickroll นี่คืออาวุธลับสายเกรียนแบบฉบับย่อส่วน! มันคือการเอาฟังก์ชัน tone() ใน Arduino มาฟีเจอริ่งกับ Sensor วัดแสง เพื่อรอเวลาเงียบเชียบที่สุด... จนกว่าจะมีเหยื่อมาเปิดลิ้นชักหรือเปิดไฟนั่นแหละ เพลงมาแน่นอน!

ทฤษฎีความถี่และจังหวะฉบับ C++
จะเปลี่ยนเสียง "ติ๊ดๆ" แข็งๆ ให้เป็นเพลงฮิตระดับตำนาน มันต้องพึ่งคณิตศาสตร์หน่อยนะน้อง:
- Header File: เราต้องมีไฟล์
pitches.hใน Sketch ของเราก่อน ข้างในจะรวมโน้ตดนตรีที่ map กับความถี่ Hertz ไว้ให้หมดแล้ว (เช่น#define NOTE_D4 294) จะได้ไม่ต้องมานั่งคำนวณเองให้ปวดหัว - Melody Array: จัดลำดับโน้ตเพลงลงใน Variable แบบ Array เช่น
int melody[] = {NOTE_C4, NOTE_D4, NOTE_F4, NOTE_D4...};อยากได้ท่อนฮุคเทพแค่ไหนก็จัดไปวัยรุ่น - Duration Array: ระบุจังหวะด้วยว่าแต่ละโน้ตจะลากยาวแค่ไหน ตัวดำ ตัวเขบ็ตหนึ่งชั้น (1/4, 1/8) ใส่ไปให้ครบ เดี๋ยวจังหวะเพี้ยนแล้วเสียของ
- Trigger Loop: เขียน Loop รอเงื่อนไขที่ใช่ (เช่น
analogRead(lightSensor) > 500) เมื่อไหร่ที่แสงเข้าตาปั๊บ ให้forloop ทำงานสั่งเล่น Array ผ่านฟังก์ชันtone(pin, pitch, duration)ทันที หล่อเท่เลยงานนี้!
อุปกรณ์สายซุ่ม (ยัดลงกล่องห้ามให้ใครเห็น)
- ATtiny85 Microcontroller: เล็กกว่าคือชนะ! จะใช้ Arduino Uno บอร์ดเบ้อเร่อไปซ่อนก็คงโดนจับได้พอดี ใช้ ATtiny85 แบบ 8 ขาเนี่ยแหละ จิ๋วแต่แจ๋ว (เราใช้ Board Uno โปรแกรมลงไปได้นะน้อง)
- Passive Piezo Buzzer: ตัวเอกของงาน ห้ามสลับกับแบบ Active เด็ดขาดนะเว้ย เพราะแบบ Active มันร้องได้แค่เสียง "ปี๊ด" เดียวโง่ๆ แต่แบบ Passive นี่แหละที่จะทำให้เราร้องเพลงได้
- LDR (Photoresistor): ตัว Sensor รับแสง กลไกจุดชนวนความฮา
- ถ่านกระดุม (CR2032): แหล่งพลังงานตัวจิ๋ว ซ่อนง่าย ห้ามช็อตนะตัวนี้
จัดการเอาเทปกาวแปะไว้ใต้ลิ้นชักโต๊ะทำงานรูมเมท แล้วก็นั่งรอความบันเทิงตอนมันเปิดลิ้นชักได้เลย... สู้งานนะน้อง อย่าโดนจับได้ล่ะ!