วันจันทร์ที่ 23 กรกฎาคม พ.ศ. 2561

โปรเจค งานที่8 [Arduino] เสียงดังด้วย Buzzer

[Arduino] เสียงดังด้วย Buzzer
ผลการค้นหารูปภาพสำหรับ arduino buzzer
วันนี้เราจะมาเล่นเอาต์พุตเป็นเสียง
โดยใช้ Piezo หรือ Buzzer ด้วยตัวเอง
เจ้า Piezo หรือ Buzzer จะเหมือนกันกับลำโพงก็คือสามารถส่งเสียงได้
โดยการจำแนกการสั่นสะเทือนที่เป็นจังหวะ เสียงคลื่นเสียง
โดยปกติความถี่ที่ 20 Hz ถึง 20KHz
หน้าตาของเจ้า Piezo Buzzer
เราจะใช้คำสั่งเสียง () คำสั่งโดยจะทำงานดังนี้ได้ครับ
จะทำการสร้างคลื่นสแควร์ด้วยความถี่ที่เรากำหนดไปยังขาเรากำหนดที่ตามระยะเวลาที่เรากำหนด
ดังโครงสร้าง
โทน (pin, ความถี่ระยะเวลา)
* pin = ขาที่เราต่อ buzzer เข้ากับ arduino * ความถี่ = ความถี่ที่เรากำหนดความถี่เป็น hertz (เป็น unsigned int)
* duration = ระยะเวลาที่จะให้เสียง (เป็น unsigned long)
ฮาร์ดแวร์:
- Arduino Uno R3 จำนวน 1 อัน
- โปรโตบอร์ดจำนวน 1 อัน
- Buzzer จำนวน 1 อัน
- R 100 Ohm จำนวน 1 อัน
- สายจัย
วงจร:
เราจะต่อวงจรโดย
- ขา - ของออดต่อกับ GND ของ Arudino
- ขา + ของออดต่อกับ R 100 โอห์มและขาของ R อีกข้างต่อเข้ากับขา 8 ของ Arduino
รหัส: ไป
ที่ File -> ตัวอย่าง -> Digital -> toneMelody
โดยโค๊ดที่จะใช้ไฟล์ pitches.h เป็นไฟล์ที่เกี่ยวกับการกำหนดโน้ตบุ๊คให้เสียงเหมือน
เช่น NOTE_C4 เป็นเสียงพอดี (กลาง)
NOTE_FS4 คือเสียงฟา ( สูง)
* / # include "pitches.h"// บันทึกย่อในทำนอง:
int melody [] = {
NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4};// note durations: 4 = note ไตรมาส, 8 = note แปด ฯลฯ :
int noteDurations [] = {
4, 8, 8, 4,4,4,4,4};void setup () (
/ / iterate ผ่านบันทึกของ melody:
for (int thisNote = 0; thisNote <8; thisNote ++) {// สำหรับคำนวณระยะเวลาบันทึกให้ใช้เวลาหนึ่งวินาที
// หารด้วยประเภทของโน้ต
// เช่นหมายเหตุไตรมาส =
1000/4 , บันทึกที่แปด = 1000/8 ฯลฯint noteDuration = 1000 / noteDurations [thisNote];
เสียง (8, melody [thisNote], noteDuration);/ / เพื่อแยกความแตกต่างของโน้ตให้ตั้งเวลาต่ำสุดระหว่างพวกเขา
// ระยะเวลาบันทึกย่อ + 30% ดูเหมือนจะทำงานได้ดี:
int pauseBetweenNotes = noteDuration * 1.30;
ล่าช้า (pauseBetweenNotes);
// หยุดการเล่นเสียง:
noTone (8);
}
}void loop () {
// ไม่จำเป็นต้องทำซ้ำเมโลดี้
}
ไฟล์ pitches.h
/
 *************************************************
* ค่าคงที่สาธารณะ
*********************************************** ** /#define NOTE_B0 31
# define NOTE_C1 33
# ระบุ NOTE_CS1 35
# ระบุ NOTE_D1 37
# ระบุ NOTE_DS1 39
# ระบุ NOTE_E1 41
# ระบุ NOT_F1 44
# ระบุ NOTE_FS1 46
# ระบุ NOTE_G1 49
# ระบุ NOTE_GS1 52
# ระบุ NOTE_A1 55
# ระบุ NOTE_AS1 58
# กำหนด Note_B1 62
# define Note_C2 65
# define NOTE_CS2 69
#define NOTE_D2 73
#define NOTE_DS2 78
#define NOTE_E2 82
# ระบุ NOTE_F2 87
# ระบุ NOTE_FS2 93
# ระบุ NOTE_G2 98
# ระบุ NOTE_GS2 104
# ระบุโน้ตบุ๊ค 110
# ระบุ NOTE_AS2 117
# กำหนด NOTE_B2 123
#define NOTE_C3 131
#define NOTE_CS3 139
#define NOTE_D3 147
#define NOTE_DS3 156
#define NOTE_E3 165
#define NOTE_F3 175
#define NOTE_FS3 185
#define NOTE_G3 196
#define NOTE_GS3 208
#define NOTE_A3 220
#define NOTE_AS3 233
#define NOTE_B3 247
#define NOTE_C4 262 // เสียงกลาง (กลาง)
#define NOTE_CS4 277
#define NOTE_D4 294 / เสียงเสียง (กลาง)
#define NOTE_DS4 311
#define NOTE_E4 330 / เสียงมี (กลาง)
#define NOTE_F4 349 // เสียงฟา (กลาง)
#define NOTE_FS4 370
#define NOTE_G4 392 // เสียงซอฟท์ (กลาง)
#define NOTE_GS4 415
#define NOTE_A4 440 / เสียงลา (กลาง)
#define NOTE_AS4 466
#define NOTE_B4 494 // เสียงที (กลาง)
#define NOTE_C5 523
#define NOTE_CS5 554
#define NOTE_D5 587
#define NOTE_DS5 622
#define NOTE_E5 659
#define NOTE_F5 698
#define NOTE_FS5 740
#define NOTE_G5 784
#define NOTE_GS5 831
#define NOTE_A5 880
#define NOTE_AS5 932
#define NOTE_B5 988
#define NOTE_C6 1047
#define NOTE_CS6 1109
#define NOTE_D6 1175
#define NOTE_DS6 1245
#define NOTE_E13 1319
#define NOTE_F6 1397
#define NOTE_FS6 1480
#define NOTE_G6 1568
#define NOTE_GS6 1661
#define NOTE_A6 1760
# define NOTE_AS6 1865
#define NOTE_B6 1976
#define NOTE_C7 2093
#define NOTE_CS7 2217
#define NOTE_D7 2349
#define NOTE_DS7 2489
#define NOTE_E7 2637
#define NOTE_F7 2794
#define NOTE_FS7 2960
#define NOTE_G7 3136
#define NOTE_GS7 3322
#define NOTE_A7 3520
#define NOTE_AS7 3729
#define NOTE_B7 3951
#define NOTE_C8 4186
#define NOTE_CS8 4435
#define NOTE_D8 4699
#define NOTE_DS8 4978
อ้างอิง
http://arduino.cc/en/Tutorial/Tone

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

งานครั้งที่ 5 ในสถานที่ฝึกงานของ นศ ใช้ระบบควบคุณภาพอย่างไร

มาตรฐาน ISO 9001 ISO 9001 เป็นมาตรฐานสากลที่องค์กรธุรกิจทั่วโลกให้ความสำคัญ เพื่อความเป็นเลิศทางด้านคุณภาพ และความมีประสิทธิภาพของการด...