tone()

Giới thiệu

Hàm này sẽ tạo ra một sóng vuông ở tần số được định trước (chỉ nửa chu kỳ) tại một pin digital bất kỳ (analog vẫn được). Thời hạn của quá trình tạo ra sóng âm có thể được định trước hoặc nó sẽ phát ra âm thanh liên tục cho đến khi Arduino IDE chạy hàm noTone(). Chân digital đó cần được kết nối tới một buzzer hoặc một loa để có thể phát được âm thanh.

Lưu ý rằng, chỉ có thể sử dụng duy nhất mộ hàm tone() trong cùng một thời điểm. Nếu hàm tone() đang chạy trên một pin nào đó, bây giờ bạn lại tone() thêm một lần nữa thì hàm tone() sau sẽ không có hiệu lực. Nếu bạn tone() lên pin đang được tone() thì hàm tone() sau sẽ thay đổi tần số sóng của pin đó.

Trên mạch Arduino Mega, sử dụng hàm tone() thì sẽ can thiệp đến đầu ra PWM tại các chân digital 3 và digital 11.

Hàm tone() sẽ không thể phát ra âm thanh có tần số < 31 Hz. Để biết têm về kĩ thuật này, hãy xem trang này.

Chú ý: Nếu bạn muốn chơi nhiều cao độ khác nhau trên nhiều pin. Thì trước khi chơi trên một pin khác thì bạn phải noTone() trên pin đang được sử dụng.

Cú pháp

tone(pin, frequency)
tone(pin, frequency, duration) 

Tham số

pin: cổng digial / analog mà bạn muốn chơi nhạc (nói cách khác là pin được kết nối tới loa)

frequency: tần số của sóng vuông (sóng âm) - unsigned int

duration: thời gian phát nhạc, đơn vị là mili giây (tùy chọn) - unsigned long

Trả về

không

Ví dụ

Bài 12: Phát nhạc bằng Arduino với một cái loa hoặc buzzer

Reference Tags: 
lên
1 thành viên đã công nhận bài viết này hữu ích!
Các bài viết cùng tác giả

Bài 6: Đọc hiệu điện thế của một nguồn điện qua cổng Analog.

Đã bao giờ, bạn từng hỏi bản thân mình làm sao cái đồng hồ điện nó đọc được hiệu điện thế của một nguồn hay chưa? Bạn vẫn thắc mắc nguyên lý và vẫn chưa tìm ra lời giải? Vậy hãy đọc bài này. Chúng ta sẽ tìm cách để đọc tín hiệu từ analog từ đó suy ra giá trị hiệu điện thế của một vị trí xác định. Hiệu điện thế này tối đa chỉ 5V thôi bạn nhé. Nếu muốn đo cao hơn, bạn phải nghiên cứu nhiều hơn nữa!

lên
6 thành viên đã đánh giá bài viết này hữu ích.