Cytron Technologies

Giờ làm việc: 8:00 - 17:00

Thứ 2 - Thứ 6 (trừ ngày lễ)

Hotline 0362917357 

sound level detector

Bộ Do Mức Âm Thanh sử dụng Maker UNO được ghép nối với WiFi Grove ESP8266 trên Blynk

Có tiếng ồn xung quanh nhà bạn? Bạn có thể tự chế tạo cho mình một bộ dò âm thanh và thông báo cho bộ tạo tiếng ồn thông qua Ứng dụng Blynk sử dụng Maker UNO được ghép nối với ESP8266 Grove WiFi.

Phần Cứng và Phần Mềm

Phần cứng:

  1. Maker UNO (Tương thích Arduino UNO ) x1
  2. Grove WiFi 8266 x1
  3. Base Shield V2 x1
  4. Cảm Biến Âm Grove x1

Phần mềm:

  1. Arduino IDE
  2. Blynk

 

Trước khi bạn bắt đầu

Cài đặt phần cứng

1. Kết nối Base Shield với bo mạch Maker UNO.

2. Kết nối dây cáp USB ới máy tính và bo mạch Maker UNO.

3. Kết nối Grove 8266 WiFi với chân D2 trên Base Shield.

4. Kết nối cảm biến âm thanh Grove với cổng A0 trên Base Shield.

5. Cài đặt điện áp đầu vào Base Shield kết nối với Maker UNO đến 5V.

Cài đặt phần mềm

Trên Arduino

1.Tải và cài đặt Arduino IDE trên máy tính nếu bạn chưa có.

2. Tải CH341 tại đây Nếu bạn sử dụng Maker UNO cho lần đầu tiên. Mở file đã tải xuống và cài đặt Trình Điều Khiển CH341 được sử dụng cho Maker UNO.

Xin lưu ý: Bạn có thể kiểm tra số Cổng cho Maker UNO trong “Device Manager” của máy tính

3. Chọn chân đúng trong Tools >> Port: >> COM X co bo mạch Maker UNO.

4. Chọn Sketch >> Include Library >> Manage Libraries. Sau đó tìm kiếm “Blynk” và chọn tên thư viện “Blynk”và cài đặt .

5. Đến liên kết link cứa một thư viện được thêm vào Blynk, chọn “Code” và “Download ZIP”.

6. Đến Arduino IDE và chọn Sketch >> Include Library >> Add .ZIP library… và chọn file the ZIP bạn đã tải xuống.

Trên Blynk

1. Cài ứng dụng Blynk tên điện thoại và tạo ra tài khoảng Blynk mới nếu bạn chưa có

Theo hướng dẫn tại đây bằng cách cài ứng dụng Blynk, tạo ra một tài khoản Blynk mới để lấy Auth Token

2. Tạo ra dự án mới, chọn “Arduino UNO” dưới “Choose Device”.

 

Mã Code này làm gì?

  1. Có thể kết nối với WiFi.
  2. Có thể kết nối với dự án Blynk.
  3. Có thể phát hiện mức độ âm thanh của môi trường xung quanh.
  4. Có thể thông báo và hiển thị mức âm thanh trong dự án Blynk khi mức âm thanh vượt quá giá trị giới hạn.

 

Bắt Đầu Viết Code

Bước 1: Cài đặt Blynk Widget

1. Mở ứng dụng Blynk à chọn dự án Blynk .

2.Trên dự án Blynk chọn biểu tượng (+) để thêm một widget. Chọn “Mức H” và đặt nó vào không gian dự án.

3. Chọn Widget bạn đã đặt trong không gian dự án, sau đó thay đổi loại chân thành“Virtual” và đặt nó thành “V1”. Bjan có thể đặt tên nó là “Sound Level” và bật nút “show value” .

4.Chọn biểu tượng (+) để thêm một widget lại và chọn “LED” và đặt nó vào không gian của dự án

5. Chọn “LED” và thay đổi loại chân thành “Virtual” và đặt nó thành “V2”. Bạn có thể thay đổi màu đèn LED thành đỏ bằng cách chọn biểu tượng màu xanh.

6.Cuối cùng thêm một widget kác bằng cách chọn “LCD” từ Widget Box và đặt nó vào không gian dự án.

7. Thay đổi đầu vào của LCD thành “Advanced” và thay đổi loại chân thành “Virtual” và đặt thành “V3”.

Bước 2:  Thay đổi tốc độ truyền của Grove WiFi 8266

Tốc độ truyền của module WiFi Grove 8266 được đặt ở mức 115200 teo mặc định. Nhưng vì chúng tôi sẽ sử dụng thư viện nối tiếp phần mềm trên Maker UNO, nên giao tiếp ở tốc độ thấp hơn sẽ đáng tin cậy hơn. Do đó bạn phải thay đổi tốc độ truyền của Grove WiFi 8266 thành 9600bps trước khi sử dụng nó trong dự án này.

1. Sao chép và dán mã code bên dưới vào Arduino IDE của bạn.

#include <ESP8266_Lib.h>
// or Software Serial on Uno, Nano...
#include <SoftwareSerial.h>
SoftwareSerial EspSerial(2, 3); // RX, TX

// Your ESP8266 baud rate:
#define ESP8266_BAUD 9600

ESP8266 wifi(&EspSerial);

void setup()
{
  // Debug console
  Serial.begin(9600);
  delay(10);
  // First open a connection at 115200
  EspSerial.begin(115200);
  delay(10);
  // Send AT command to set Wifi module's baudrate to 9600
  EspSerial.println("AT+UART=9600,8,1,0,0");
  delay(10);
  // End the connection
  EspSerial.end();
  // Reopen the connection at 9600
  EspSerial.begin(9600);
  EspSerial.println("AT");
}

void loop()
{
}

2. Tải mã code đến bo mạch Maker UNO và đợi cho qúa trình cập nhật được hoàn thành.

Xin lưu ý: Đảm bảo rằng bạn phải chọn đúng cổng trong Tools >> Port: >> COM X.

Nếu bạn muốn thay đổi nó trở lại thành 115200, hãy sao chép mã sau thành Arduino IDE và tải nó lên Maker UNO trong khi module WiFi Grove 8266 được kết nối với cổng D2

#include <ESP8266_Lib.h>
// or Software Serial on Uno, Nano...
#include <SoftwareSerial.h>
SoftwareSerial EspSerial(2, 3); // RX, TX

// Your ESP8266 baud rate:
#define ESP8266_BAUD 9600

ESP8266 wifi(&EspSerial);

void setup()
{
  // Debug console
  Serial.begin(9600);
  delay(10);
  // First open a connection at 9600
  EspSerial.begin(9600);
  delay(10);
  // Send AT command to set Wifi module's baudrate to 115200
  EspSerial.println("AT+UART=115200,8,1,0,0");
  delay(10);
  // End the connection
  EspSerial.end();
  // Reopen the connection at 115200
  EspSerial.begin(115200);
  EspSerial.println("AT");
}

void loop()
{
}

Bước 3: Tải mã Code

1. Sao chép và dán mã bên dưới vào Arduino IDE.

#define BLYNK_PRINT Serial

#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>

//Insert your Blynk project Auth Token
char auth[] = "Your Blynk Project Auth Token";

// Insert your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "Your WiFi SSID";
char pass[] = "Your WiFi Password";

//Software Serial on Uno, Nano...
#include <SoftwareSerial.h>
SoftwareSerial EspSerial(2, 3); // RX, TX

// Your ESP8266 baud rate:
#define ESP8266_BAUD 9600

ESP8266 wifi(&EspSerial);

const int pinSound = A0;// pin of Sound Sensor
const int pinLed   = 7;// pin of LED on your Maker UNO board
int thresholdValue = 500;// set the threshold value to turn on or off the LED and LCD

WidgetLED led1(V2); // Widget LED Virtual Pin number in your Blynk project
WidgetLCD lcd(V3); // Widget LCD Virtual Pin number in your Blynk project

void setup()
{
  pinMode(pinLed, OUTPUT); //set the LED as an OUTPUT
  
  // Debug console
  Serial.begin(9600);
  delay(10);
  // Open the connection at 9600
  EspSerial.begin(9600);
  EspSerial.println("AT");

  Blynk.begin(auth, wifi, ssid, pass);
}

void loop()
{
    Blynk.run();
    
    int sensorValue = analogRead(pinSound);
    if (sensorValue > thresholdValue) //If the sound level detected is higher than the threshold value...
    {
      //Serial monitor shows the alert message and the sensor value
      Serial.println("Sound Level Too High!"); 
      Serial.println(sensorValue); 
      //LED on Maker UNO will light up
      digitalWrite(pinLed, HIGH); 
      //Level H Widget in Blynk shows the sound level
      Blynk.virtualWrite(V1, sensorValue); 
      //Widget LED in Blynk will turn on
      led1.on(); 
      //LCD Widget shows alert messages on the coordinates of x=0, y=0
      lcd.print(0, 0, "Too Loud!"); 
      //LCD Widget shows alert messages on the coordinates of x=0, y=0
      lcd.print(0, 1, "Keep Quiet!"); 
      // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
      delay(5000);
      //Clear the LCD Widget in Blynk
      lcd.clear(); 
      //Turn off LED Widget in Blynk
      led1.off(); 
      //Reset the Level H Widget in Blynk to 0
      Blynk.virtualWrite(V1,0); 
      //Turn off LED on Maker UNO
      digitalWrite(pinLed, LOW); 
    }
   else
    {
      //Nothing is turned on
      digitalWrite(pinLed, LOW);
      led1.off();
      lcd.clear();
    }    
}

2. Thay đổi WiFi SSID (Line 12), mật khẩu WiFi (Dòng 13) và Auth Token (Dòng 8) trong mã code.

Lời khuyên: Đến File >> Preferences, tick “Display line numbers” để hiển thị số dòng của mã code.

3. Tải mã code đến bo mạch Maker UNO à đợi cho nó hoàn tất quá trình tải

Xin lưu ý: Đảm bảo bạn đã chọn đúng cổng trong Tools >> Port: >> COM X.

4. Mở Serial Monitor và đợi kết nối WiFi nó có thể mất một vài giây cho đến khi kết nối WiFi hoàn thành hoặc không.

Xin lưu ý: Nhớ thay đổi Serial Monitor thành 9600.

5. Trên dự án Blynk project,nhấn biểu tượng “play”.

6. Nếu kết nối thành công, bạn hãy thử tạo ra tiếng ồn và nếu mức âm thanh vượt quá mức giới hạn, bạn sẽ thấy màn hình nối tiếp và dự án Blynk thông báo cho bạn bằng tin nhắn thông báo giá trị mức âm thanh

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận