Smart Sound Level Meter

Smart Sound Level Meter IOT Indonesia

Sensor suara digunakan untuk pengukuran intensitas suara. Jenis terbaik transduser untuk mengukur level suara adalah kondensor mikrofon, yang menggabungkan presisi dengan keandalan. Diafragma sensor merespons perubahan tekanan udara yang ditimbulkan melalui gelombang suara. Itulah mengapa instrumen kadang-kadang disebut sebagai tekanan suara pengukur level.

Pengukur tingkat suara umumnya digunakan dalam polusi udara kebisingan penelitian untuk identifikasi jenis kebisingan yang luar biasa kebisingan, terutama untuk lingkungan industri, pertambangan dan kebisingan pesawat. Kami membuat sistem yang mengukur intensitas suara dan menunjukkan data waktu nyata pada grafik awan serta di papan pengumuman yang dapat kami tampilkan pesan yang diperlukan di papan pengumuman melalui aplikasi pada ponsel melalui lokasi yang diinginkan. Ini akan membantu dalam mengendalikan dan memantau faktor kebisingan terutama di kawasan industri. Komponen-komponen yang digunakan dalam sistem ini adalah Nodemcu, sensor suara, layar LCD beserta modul I2C, kabel penghubung, PCB/breadboard.

Secara umum, pengukur tingkat suara digunakan untuk mengukur intensitas suara di sekitarnya. Kondensor mikrofon menggabungkan presisi dengan stabilitas dan keandalan, sehingga ideal untuk digunakan dengan pengukur desibel. Karena diafragma mikrofon merespons perubahan tekanan udara yang disebabkan oleh gelombang suara, ini juga dikenal sebagai SPL (Tingkat Tekanan Suara) Meter.

Pengukur desibel biasanya digunakan dalam penelitian untuk mengidentifikasi berbagai jenis polusi suara, khususnya industri, industri, lingkungan, pertambangan, dan kebisingan pesawat terbang. Proyek do-it-yourself ini berguna untuk mengukur kenyaringan dalam desibel (dB). Dalam proyek IoT ini, kita akan membuat Pengukur Desibel sederhana dengan ESP8266 dan Sensor Suara. Kita juga akan menggunakan sebuah Layar OLED I2C 0.96 "kecil untuk memvisualisasikan kebisingan intensitas secara lokal. Sensor Suara akan mendeteksi suara dan mengubahnya menjadi sinyal analog yang akan dibaca oleh Nodemcu ESP8266 akan membacanya. Nodemcu kemudian terhubung ke Jaringan WiFi dan mengunggah data ke Arduino IoT Cloud. Hasilnya, Anda dapat memantau parameter-parameter tersebut dari jarak jauh dari mana saja di dunia.

sistem kerja sensor ini dibagi menjadi beberapa bagian seperti:

Hardware

Setiap perangkat node terdiri dari sensor kenyaringan/suara, dan modul NodeMCU (ESP8266), semuanya didukung oleh adaptor dinding DC smartphone 5V tunggal atau smartphone bank daya. NodeMCU (ESP8266): Ini adalah otak perangkat node. Ini berfungsi sebagai platform IoT. Ini adalah modul Wifi dengan firmware esp8266. Ini mengunggah data sensor yang diproses dari Arduino ke database. ESP8266 sumber terbuka Komunitas menciptakan papan ini. Ini beroperasi pada sistem operasi NodeMCU, yang didasarkan pada LUA bahasa skrip. 

Prosesornya adalah ESP8266 (LX106). Ini memiliki 128 KBytes memori internal dan penyimpanan sebesar 4 MBytes. Dengan ukuran fisik 49 x 24,5 x 13mm dan port USB untuk menghubungkan ke komputer, ini cheap ini mengkonsumsi daya sekitar 0.00026W0.56W. Setelah memenuhi semua kriteria, chip ini saat ini adalah perangkat keras paling canggih yang tersedia dan mewakili masa depan IoT. Perangkat ini diprogram menggunakan perpustakaan pembungkus / penerjemah Arduino, yang memungkinkan pemrograman dalam C++.

LCD dengan modul I2C: GND adalah pin ground dan harus terhubung ke ground NodeMCU. VCC memasok daya ke modul dan LCD. Hubungkan ke output 5V dari NodeMCU atau catu daya terpisah. SDA adalah Serial Pin data. Jalur ini digunakan untuk mengirim dan menerima. SCL adalah pin Serial Clock. Ini adalah sinyal waktu yang disediakan oleh
perangkat Master Bus.

APLIKASI

Aplikasi ini digunakan untuk mengirim pesan/pemberitahuan melalui layar untuk tujuan darurat.

Dengan menggunakan browser web dan ponsel yang terhubung atau emulator, App Inventor memungkinkan Anda membuat aplikasi Android. Server App Inventor menjaga jejak proyek Anda dan menyimpan pekerjaan Anda. App Inventor adalah platform berbasis web yang menggunakan pembuatan aplikasi seluler untuk mengajarkan pemikiran komputasi topik. 

Database

ThingSpeak adalah perangkat lunak Ruby sumber terbuka yang memungkinkan pengguna untuk berkomunikasi dengan perangkat yang terhubung ke internet. Ini menyederhanakan akses data, pengambilan, dan pencatatan dengan mengekspos API ke perangkat dan situs web jejaring sosial. ThingSpeak awalnya diluncurkan pada tahun 2010 oleh ioBridge sebagai layanan untuk mendukung aplikasi IoT. ThingSpeak telah mengintegrasikan dukungan dari MathWorks ' perangkat lunak komputasi numerik MATLAB, yang memungkinkan Pengguna ThingSpeak dapat menganalisis dan memvisualisasikan data yang diunggah menggunakan MATLAB tanpa perlu membeli Lisensi MATLAB.

Sirkuit: Monitor Tingkat Suara dengan ESP8266 & Sound Module

Diagram sirkuit untuk Menghubungkan Sensor Suara dengan NodeMCU ESP8266 & Layar OLED. Sensor suara dan layar OLED keduanya membutuhkan catu daya 3.3V. Jadi, sambungkan terminal VCC & GND masing-masing ke 3.3V & GND NodeMCU. Hubungkan pin output sensor suara ke pin A0 Nodemcu. Hubungkan pin I2C, yaitu pin SDA & SCL dari Layar OLED ke pin D2 & D1 Nodemcu.
Pengaturan Thingspeak Untuk Memantau Data Sensor pada Server Thingspeak, Anda harus terlebih dahulu mengatur Thingspeak. Untuk menyiapkan Server Thingspeak, kunjungi https://thingspeak.com/. Buat akun atau cukup masuk jika Anda telah membuat akun sebelumnya. Kemudian buat saluran baru dengan detail berikut.

Kode Sumber/Program

Kode sumber/program untuk Modul Suara dengan ESP8266 diberikan di bawah ini. Salin kode tersebut dan unggah ke papan Nodemcu.

Pastikan untuk melakukan perubahan pada Wifi SSID, Kata Sandi dan API Thingspeak.

#include <ESP8266WiFi.h>
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
 
#define SCREEN_WIDTH 128    // OLED display width, in pixels
#define SCREEN_HEIGHT 64    // OLED display height, in pixels
#define OLED_RESET -1       // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
 
int num_Measure = 128 ; // Set the number of measurements  
int pinSignal = A0; // pin connected to pin O module sound sensor  
long Sound_signal;    // Store the value read Sound Sensor  
long sum = 0 ; // Store the total value of n measurements  
long level = 0 ; // Store the average value  
int soundlow = 40;
int soundmedium = 500;
int error = 33;
 
String apiKey = "14K8UL2QEK8BTHN6"; // Enter your Write API key from ThingSpeak
const char *ssid = "Alexahome";     // replace with your wifi ssid and wpa2 key
const char *pass = "12345678";
const char* server = "api.thingspeak.com";
 
WiFiClient client;
void setup ()  
{  
  pinMode (pinSignal, INPUT); // Set the signal pin as input  
  Serial.begin (115200);  
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //initialize with the I2C addr 0x3C (128x64)
  display.clearDisplay();
  delay(10);
 
  Serial.println("Connecting to ");
  Serial.println(ssid);
  
  display.clearDisplay();
  display.setCursor(0,0);  
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.println("Connecting to ");
  display.setTextSize(2);
  display.print(ssid);
  display.display();
  
  WiFi.begin(ssid, pass);
 
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
    Serial.println("");
    Serial.println("WiFi connected");
    
    display.clearDisplay();
    display.setCursor(0,0);  
    display.setTextSize(1);
    display.setTextColor(WHITE);
    display.print("WiFi connected");
    display.display();
    delay(4000);
}  
 
  
void loop ()  
{
 
  // Performs 128 signal readings  
  for ( int i = 0 ; i <num_Measure; i ++)  
  {  
   Sound_signal = analogRead (pinSignal);  
    sum =sum + Sound_signal;  
  }  
  level = sum / num_Measure; // Calculate the average value  
  
  Serial.print("Sound Level: ");
  Serial.println (level-error);  
 
    display.clearDisplay();
    display.setCursor(0,0);  //oled display
    display.setTextSize(1);
    display.setTextColor(WHITE);
    display.println("--- Decibelmeter ---");
 
    
 
  if( (level-error) < soundlow)
  {
 
    Serial.print("Intensity= Low");
    display.setCursor(0,20);  //oled display
    display.setTextSize(1);
    display.setTextColor(WHITE);
    display.print("Sound Level: ");
    display.println(level-error);
 
    display.setCursor(0,40);
    display.print("Intensity: LOW");
    
    display.display();
//    {
//      if( (level-error) < 0)
//      Serial.print("Intensity= Low");
//      display.setCursor(0,20);  //oled display
//      display.setTextSize(1);
//      display.setTextColor(WHITE);
//      display.print("Sound Level: 0");
//
//      display.setCursor(0,40);
//      display.print("Intensity: LOW");
//    
//      display.display();
//    }
 
  }
  if( ( (level-error) > soundlow ) && ( (level-error) < soundmedium )  )
  {
    
    Serial.print("Intensity=Medium");
    display.setCursor(0,20);  //oled display
    display.setTextSize(1);
    display.setTextColor(WHITE);
    display.print("Sound Level: ");
    display.println(level-error);
 
    display.setCursor(0,40);
    display.print("Intensity: MEDIUM");
    display.display();
      
  }
  if( (level-error) > soundmedium )
  {
    Serial.print("Intensity= High");  
    display.setCursor(0,20);  //oled display
    display.setTextSize(1);
    display.setTextColor(WHITE);
    display.print("Sound Level: ");
    display.println(level-error);
 
    display.setCursor(0,40);
    display.print("Intensity: HIGH");
    display.display();
     
  }
  sum = 0 ; // Reset the sum of the measurement values  
  delay(200);
 
  if (client.connect(server, 80)) // "184.106.153.149" or api.thingspeak.com
  {
    String postStr = apiKey;
    postStr += "&field1=";
    postStr += String(level-error);
    postStr += "r\n";
    
    client.print("POST /update HTTP/1.1\n");
    client.print("Host: api.thingspeak.com\n");
    client.print("Connection: close\n");
    client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n");
    client.print("Content-Type: application/x-www-form-urlencoded\n");
    client.print("Content-Length: ");
    client.print(postStr.length());
    client.print("\n\n");
    client.print(postStr);
  
  }
    client.stop();
 
    //delay(15000);      // thingspeak needs minimum 15 sec delay between updates.
}

Untuk mengkalibrasi perangkat, baris berikut ini perlu dikoreksi secara praktis.
1
2
3
int soundlow = 40;
int soundmedium = 500;
int error = 33;

Modul suara mendeteksi suara dalam 3 tingkat yang berbeda yang ditetapkan sebagai Intensitas Rendah, Intensitas Sedang, dan Intensitas Tinggi. Anda dapat mengatur keras lemahnya suara sesuai dengan keinginan Anda. Intensitas pendengaran bervariasi dari satu orang ke orang lain.

Demikian pula, bilangan bulat kesalahan didefinisikan untuk menghapus nilai negatif untuk tingkat suara. Hal ini hanya dapat diketahui setelah mengupload kode dan melakukan pengamatan. Periksa nilai negatif ketika ada pin-drop silent dan tetapkan dalam kode.

KESIMPULAN

Polusi suara telah menjadi salah satu masalah yang paling penting di India masalah yang mempengaruhi kekuatan penduduk. Sebagai hasilnya, kerangka kerja kerangka kerja harus dirancang untuk mengurangi secara signifikan tingkat kebisingan, dan penyesuaian harus dilakukan sesuai dibutuhkan. Salah satu metode untuk pemantauan polusi suara berbasis IoT disajikan dalam penelitian ini.

Kerangka kerja pemeriksaan kontaminasi kebisingan menggunakan regulator Arduino untuk merekam dan mengukur data, serta sebagai sensor suara untuk mendeteksi sejumlah besar kebisingan. Pendekatan ini juga dapat digunakan untuk memeriksa polusi keributan di zona modern dan perkotaan. pemukiman. Penggunaan model ini dapat memberikan solusi yang hemat biaya dan upaya rendah untuk memantau kebisingan secara terus menerus.

Sistem yang ringkas ini memiliki skala kecil dan juga besar aplikasi skala. Penggunaan utama dapat dilakukan di sektor industri karena polusi suara adalah masalah utama dalam
industri saat ini. Ini juga dapat digunakan dalam pendidikan lembaga untuk memantau kebisingan di perpustakaan dan ruang kelas. Dapat digunakan di area lalu lintas untuk memantau polusi suara di lingkungan. 
 

Artikel Terbaru