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
2 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Bài 8: Dùng button (nút bấm) để điều khiển một đèn LED

Chúng ta đã tìm được cách để đọc được trạng thái của một button qua bài viết Bài 3: Xác định trạng thái của một nút nhấn (button) rồi, đúng không nào? Bây giờ, chúng ta sẽ dựa vào trạng thái của các button ấy để điều khiển các đèn LED. Thực chất, đây là một bài viết vô cùng đơn giản, bạn có thể bỏ qua nếu đã biết và xem bài tiếp theo!

 

lên
29 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 

ESP8266 kết nối Internet - Phần 2: Arduino gặp ESP8266, hai đứa nói chuyện bằng JSON

Ở bài trước, chúng ta đã xây dựng phương thước giao tiếp giữa tầng 1 (socket server) và tầng 2 (ESP8266). Chúng ta đã xây dựng một chương trình thử nghiệm trên socket server để test ra lệnh cho ESP8266 và cũng thử nghiệm cho ESP8266 gửi sự kiện ngược lại Socket Server.

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