![ทำเทมินขนาดพกพาด้วย ESP32: 5 ขั้นตอน (พร้อมรูปภาพ) ทำเทมินขนาดพกพาด้วย ESP32: 5 ขั้นตอน (พร้อมรูปภาพ)](https://img.gwsigeps.com/img/img/blank.jpg)
สารบัญ:
- วัสดุ:
- ขั้นตอนที่ 1: BoM
- ขั้นตอนที่ 2: การบัดกรี
- ขั้นตอนที่ 3: การเดินสายไฟ
- ขั้นตอนที่ 4: รหัส
- ขั้นตอนที่ 5: สนุก!
แดมินเป็นเครื่องมือที่มีเอกลักษณ์เฉพาะที่ใช้ในการทำเพลงธีมต่างประเทศหรือเอฟเฟกต์เสียง คุณอาจเคยได้ยินใน Star Trek ทฤษฎีบิ๊กแบงหรือแม้แต่บ้านผีสิง พวกเขาสร้างเสียงที่ไม่เหมือนใครจากเอฟเฟกต์แม่เหล็กไฟฟ้าระหว่างสายไฟ
ที่นี่เราจะทำสำเนาเสียงที่คล้ายกันแบบดิจิทัลโดยใช้ออดควบคุมโดย Pulse Width Modulations และ Light Dependent Resistor (LDR) สำหรับอินพุตของค่าการอ่านขณะที่มือเคลื่อนไหว
วัสดุ:
ขั้นตอนที่ 1: BoM
* ESP32
* ตัวต้านทานขึ้นอยู่กับแสง (LDR)
* ออด
* สายจัมเปอร์
* เขียงหั่นขนม
ขั้นตอนที่ 2: การบัดกรี
เราจะบัดกรีตัวแบ่งแรงดันไฟฟ้าลงบน LDR เพื่อให้การเดินสายง่ายขึ้น
* นำตัวต้านทาน10kΩและประสานไปยังหนึ่งในพินของ LDR
* จากนั้นให้นำลวดที่มีสีต่างกันสองเส้นมาประสานเข้ากับแต่ละขาของ LDR
แค่นั้นแหละ! ตอนนี้คุณมีตัวแบ่งแรงดันไฟฟ้า!
ขั้นตอนที่ 3: การเดินสายไฟ
ปฏิบัติตามตารางต่อไปนี้เมื่อเดินสาย LDR และ Buzzer ไปยัง ESP32:
I / O | PIN # | ESP32 Pin # |
---|---|---|
Buzzer * | 1 | D4 |
Buzzer * | 2 | GND |
LDR | ตัวต้านทาน | D5 |
LDR | สีเทา | 3.3V |
LDR | สีแดง | GND |
* คำสั่งซื้อโดยพลการ
ขั้นตอนที่ 4: รหัส
int photopin = 5; // พินที่เชื่อมต่อตัวต้านทานภาพถ่าย
int photValue; // การอ่านแบบอะนาล็อกจากตัวรับแสง
int buzzerPin = 4; // เชื่อมต่อ Buzzer กับ Pin 4
buzzer ยาวความถี่; // ความถี่ในการส่งสัญญาณออด
// คุณสามารถทดลองกับค่าเหล่านี้: long buzzMAX = 2500; // ความถี่สูงสุดสำหรับเสียงปลุก
photoMAX ยาว = 1023; // ค่าสูงสุดสำหรับ photoresistor
การตั้งค่าเป็นโมฆะ () {pinMode (buzzerPin, OUTPUT); // ตั้งพินสำหรับเอาท์พุทออด
}
void loop () {// อ่านค่าของ potentiometer photValue = analogRead (photopin); // ค่า 0-1023
// ปรับการอ่าน photoresistor ให้เป็นมาตรฐานโดยที่ buzzer และ photoresistor buzzerFreq = (photValue * buzzMAX) / photoMAX;
buzz (buzzerPin, buzzerFreq, 10);
}
void buzz (int targetPin, long frequency, long length) {
long delayValue = 1000000 / ความถี่ / 2;
long numCycles = ความถี่ * ความยาว / 1,000;
สำหรับ (long i = 0; i <numCycles; i ++) {
digitalWrite (targetPin สูง);
delayMicroseconds (delayValue);
digitalWrite (targetPin ต่ำ);
delayMicroseconds (delayValue);
}
ขั้นตอนที่ 5: สนุก!
มันใช้งานง่าย แต่ใช้เวลาตลอดชีวิตในการฝึกฝนและเล่นดนตรี เลื่อนมือของคุณไปที่ LDR เพื่อเปลี่ยนเสียง
เพลิดเพลินกับกระเป๋าขนาดใหญ่ของคุณ!