Vỗ tay bật đèn với cảm biến âm thanh CN07

Chúng ta đã biết được rất nhiều cách để bật các thiết bị qua nhiều bài viết ở cộng đồng, nhưng mình thấy chưa có bài nào dùng cảm biến âm thanh để bật thiết bị, nên hôm nay mình xin viết bài này nhằm giới thiệu thêm về con cảm biến âm thanh CN07 này và một cách mới để bật thiết bị.

I. Sơ qua về con cảm biến CN07

Nó được sử dụng để phát hiện âm thanh, tiếng động xung quang... Từ đó báo tín hiệu về và xuất ra chân tín hiệu. Chúng ta có thể điều chỉnh độ nhạy cho cảm biến thông qua 1 con biến trở. Điện áp có thể hoạt động là từ 3V3 - 5V. Tín hiệu ra là dạng digital (Nhưng có loại cho ra cả tín hiệu analog-Âm lượng).

 

Cảm biến này có 2 loại là loại 3 chân và loại 4 chân. Điểm chung của chúng là đều có 3 chân: Vcc, GND, D0(OUT). Ngoài ra loại 4 chân còn có thêm chân A0 (Chắc là xuất âm lượng).

II. Thực hành

1. Phần cứng

Chuẩn bị:

  • Arduino (Mình dùng con UNO R3)
  • Cảm biến âm thanh CN07 (mình sài loại 3 chân)
  • Con Led và điện trở 220 ôm (Không biết kí tự ôm chỗ nào :D).

Sơ đồ mạch điện, do fritzing không có con CN07 nên zô Proteus vẽ :)).

Ý chết, mình quên mắc con điện trở rùi, sorry nha.

2. Lập trình

#define sensor 10
#define led 7
boolean val=1;//Mặc định không phát hiện âm thanh
boolean ledStatus=0;//Mặc định không bật đèn
void setup()
{
  pinMode(sensor,INPUT);
  pinMode(led,OUTPUT);
}
void loop()
{
  val=digitalRead(sensor);
  if(val==0) ledStatus = 1;
  digitalWrite(led,ledStatus);
  delay(100);//Delay tí cho nó ổn định
}

 

III. Kết luận

Như vậy là chúng ta đã tìm hiểu xong con cảm biến âm thanh CN07. Mình cũng nói thêm là con này có tính ứng dụng không cao vì nếu sài đoạn code trên thì không tắt được, còn nếu muốn tắt được thì chỉ việc cho thêm đoạn code nếu phát hiện thay đổi âm thanh thì cho tắt nhưng nếu như vậy thì khi bật lên các bạn phải hết im lặng nếu không muốn đèn tắt giữa chừng :D. Xin các bro chỉ giáo thêm chỗ này.

lên
27 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Lập trình Arduino không cần viết code - Phần 16: Lập trình Arduino thời gian thực - Lập trình sự kiện

Đây là phần 16 của chuỗi bài viết "Lập trình Arduino không cần viết code"

- Xem lại phần 15 tại đây

Xin chào các bạn, hôm nay mình sẽ cho các bạn thấy được sự thú vị nhất của phần mềm lập trình kéo thả mBlock. Đó chính là lập trình thời gian thực. Từ việc lập trình thời gian thực này ta có thể tạo ra được các game hay điều khiển Arduino bằng ứng dụng đồ họa, bởi đơn giản mBlock cũng hỗ trợ tạo ra game hay đồ họa. HeHe, bạn cũng có thể nói rằng nó là sự kết hợp 2 trong 1 của Processing và Arduino. Tất nhiên là ta chỉ làm được khi bạn kết nối Arduino với mBlock.

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

Chạy hàm song song với delay

Xin chào các bạn! Trong cuộc sống, đôi khi chúng ta đang làm một việc gì đó và sẽ có lúc chúng ta phải đợi một khoảng thời gian rồi mới làm tiếp công việc ấy, và khi ấy ta sẽ tận dụng khoảng thời gian ấy để làm một việc khác. Vậy trong arduino ta có thể làm tương tự không, trong khi ta cho chương trình delay thì ta lại cho nó thực hiện một việc gì đó. Đáp án là được, bài viết này sẽ chia sẻ thủ thuật khá hay này.

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