Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

LED Sensor Suara yang Diaktifkan dengan LCD untuk Data Tingkat Suara!

Komponen dan persediaan

Arduino UNO
× 1
Ukuran Penuh Papan Tempat Memotong Roti Tanpa Solder
× 1
Baterai 9V (generik)
Opsional.
× 1
Konektor 9V ke Barrel Jack
Opsional.
× 1
Kabel Jumper Pria/Pria
× 1
Kabel Jumper Pria/Wanita
× 1
Adafruit LCD Standar - 16x2 Putih di Atas Biru
Saya menggunakan tas ransel i2c.
× 1
Modul Sensor Suara KY-038
× 1
LED 5 mm:Kuning
× 2
LED 5 mm:Hijau
× 4
LED 5 mm:Merah
× 2
LED 5 mm:Putih
× 4
LED SparkFun 5 mm:Biru
× 4
Resistor 100 ohm
Untuk LED putih dan biru.
× 8
Resistor 220 ohm
Untuk LED merah dan kuning.
× 4
Resistor 330 ohm
Untuk LED hijau.
× 4

Aplikasi dan layanan online

Arduino IDE

Tentang proyek ini

Proyek ini adalah tentang memantau data tingkat suara yang dikeluarkan, diproduksi, atau dikeluarkan(?) oleh speaker.

Aaah... ini adalah hasil dari rasa penasaran dan kebosanan.

Saya menggunakan modul sensor suara mikrofon [KY-038] untuk mengambil nilai yang kemudian saya kumpulkan dari Serial Monitor, ditransfer ke spreadsheet, disusun ke urutan menaik kemudian memilih nilai yang muncul lebih berulang daripada yang lain atau hanya yang saya Suka.

Saya memilih sejumlah variabel dari rentang terendah hingga rentang menengah dan tinggi.

Variabel dari rentang nilai terendah akan mengaktifkan LED Kuning, variabel rentang menengah akan mengaktifkan LED Hijau, dan variabel rentang tinggi akan mengaktifkan LED Merah.

LED akan diaktifkan atau dinyalakan saat nilai sensor tertentu tercapai atau terdeteksi oleh sensor suara.

Saya juga menyertakan LCD opsional untuk melihat nilai secara real time hanya untuk bersenang-senang.

Saya pada dasarnya baru saja memutakhirkan kode ini

Menambahkan beberapa kode dari sini

Dan di sini

Kode LCD berasal dari proyek saya sebelumnya

Dan Komentar Nama Pengguna MAS3 di sini

Saya mengalami masalah di mana data yang muncul di LCD memiliki beberapa digit sisa dari nilai sensor sebelumnya. Seperti, ketika nilai saat ini seharusnya 619 yang ada di Serial Monitor, tetapi menjadi 6194, karena nilai sebelumnya adalah 1234.

Unduh file .cpp dan .h di sini.

************************************************** ****************************

Tautan Media Sosial Untuk Diikuti (maksud saya, jika Anda mau):

Facebook - https://fb.me/HeathenHacks

Twitter - https://twitter.com/HeathenHacks

Instagram - https://instagr.am/HeathenHacks

************************************************** ****************************

https://drive.google.com/file/d/15NRocdFjr-DG7Hu2zyyvSvRz7bcncvU7/

Kode

  • SoundSensorLEDwData
SoundSensorLEDwDataArduino
Saya menambahkan komentar pada kode untuk beberapa penjelasan. Saya harap saya tahu apa yang saya lakukan. lol.
#include "Arduino.h" #include "LiquidCrystal_PCF8574.h" #define LCD_ADDRESS 0x27#define LCD_ROWS 2#define LCD_COLUMNS 16#define SCROLL_DELAY 150#define BACKLIGHT 255LiquidCrystal_PCF;/AddiCrystal_PCF8574 bulb pada breadboard + Di mana terhubung pada Arduino.// LED1 adalah LED Bulb 1 pada breadboard dan 3 adalah Digital PWM 3 pada Arduino.int LED1=3;int LED2=4;int LED3=5;int LED4=6;int LED5=7;int LED6=8;int LED7=9;int LED8=10;int soundSensor=2; // Pin Digital 2 pada Arduino adalah tempat "DO" dari Sensor Suara terhubung.int sensorValue =analogRead(A0); //Di sinilah "AO" dari Sensor Suara terhubung.boolean LEDStatus=false;void setup () { Serial.begin(9600); LCDi2C.begin(LCD_COLUMNS, LCD_ROWS, LCD_ADDRESS, BACKLIGHT); //Ini adalah yang kita definisikan sebelumnya. pinMode(Sensor suara,INPUT); //Karena Sensor Suara kami adalah Perangkat Input. pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); pinMode(LED4, OUTPUT); pinMode(LED5, OUTPUT); pinMode(LED6, OUTPUT); pinMode(LED7, OUTPUT); pinMode(LED8, OUTPUT); pinMode(Nilai sensor, OUTPUT); //sensorValue dideklarasikan sebagai output karena akan dicetak pada LCD dan Serial Monitor.}void loop() { int sensorValue=analogRead(sensorValue); int SensorData=digitalRead(suaraSensor); if(SensorData=1){ if(LEDStatus==false){ LEDStatus=benar; Serial.println(Nilai sensor); //Ini akan dicetak di Serial Monitor hanya untuk memastikan bahwa data di LCD sama. LCDi2C.setCursor(0,0); //Ini untuk membuat teks tidak scroll ke atas dan menghilang kemudian muncul kembali saat data sensorValue ditambahkan. LCDi2C.print("Data Tingkat Suara:"); //Teks yang akan muncul dan tetap berada di Baris 1 LCD. LCDi2C.setCursor(0,1); //Ini untuk membuat teks tidak scroll ke atas dan menghilang kemudian muncul kembali saat data sensorValue ditambahkan. LCDi2C.print(Nilai sensor); // Data yang akan muncul di LCD. LCDi2C.print(" "); // Ini untuk mencegah digit tambahan dari nilai sebelumnya muncul pada nilai saat ini. Seperti, ketika nilai masa lalu adalah 1234, maka saat ini seharusnya 619, tetapi muncul sebagai 6194. } if(sensorValue>=750) { // sensorValue lebih besar dari atau sama dengan XX. Nomor XX dikumpulkan dari data terbaru di Serial Monitor. Disalin dan ditempelkan pada spredsheet, kemudian disusun dari tingkat volume suara terendah hingga semi tertinggi. digitalWrite(LED8,TINGGI); // Anda dapat menggunakan nilai yang berbeda dari sensor pada setiap bohlam LED jika Anda ingin itu bertindak seperti sensor dengan menampilkan atau menyalakan bohlam LED yang sesuai sesuai dengan data nilai sensor. } // Seperti lampu LED Kuning akan menyala ketika sensor mengambil suara volume rendah alias. Tingkat volume minimum, lampu LED Hijau menyala saat tingkat Volume OK, dan Lampu LED Merah menyala saat volume mencapai ambang volume Keras. else{ // Atau, Anda bisa menambahkan nilai yang sama ke semua LED jika Anda ingin semuanya bereaksi pada waktu yang sama. Status LED=salah; // Anda juga dapat bermain dengan nilai sensor untuk membuat LED menari. Menata ulang nilai sensor secara acak misalnya. Atau membuat 2 LED bereaksi pada nilai yang sama dan LED lainnya bereaksi terhadap nilai lain. digitalWrite(LED8,RENDAH); } if(Nilai sensor>=735) { digitalWrite(LED7,HIGH); } else{ LEDStatus=salah; digitalWrite(LED7,RENDAH); } if(Nilai sensor>=725) { digitalWrite(LED6,HIGH); } else{ LEDStatus=salah; digitalWrite(LED6,RENDAH); } if(Nilai sensor>=720) { digitalWrite(LED5,HIGH); } lain{ LEDStatus=salah; digitalWrite(LED5,RENDAH); } if(Nilai sensor>=715) { digitalWrite(LED4,HIGH); } lain{ LEDStatus=salah; digitalWrite(LED4,RENDAH); } if(Nilai sensor>=700) { digitalWrite(LED3,HIGH); } lain{ LEDStatus=salah; digitalWrite(LED3,RENDAH); } if(Nilai sensor>=675) { digitalWrite(LED2,HIGH); } lain{ LEDStatus=salah; digitalWrite(LED2,RENDAH); } if(Nilai sensor>=650) { digitalWrite(LED1,HIGH); } lain{ LEDStatus=salah; digitalWrite(LED1,RENDAH); } } else{ LEDStatus=false; // Tidak begitu yakin mengapa saya menambahkan ini. Tertawa terbahak-bahak. digitalWrite(LED1,RENDAH); digitalWrite(LED2,RENDAH); digitalWrite(LED3,RENDAH); digitalWrite(LED4,RENDAH); digitalWrite(LED5,RENDAH); digitalWrite(LED6,RENDAH); digitalWrite(LED7,RENDAH); digitalWrite(LED8,RENDAH); } } 

Skema

Ikuti saja kabelnya dari ujung ke ujung.

Proses manufaktur

  1. Würth:Sensor akselerasi 3-sumbu dengan fungsi prasetel
  2. Integrasi Data Sensor dengan Mikroprosesor Raspberry Pi
  3. Sensor pelacakan garis dengan RPi
  4. API sensor lingkungan dengan RPi
  5. Potensi untuk mengintegrasikan data visual dengan IoT
  6. Enam hal penting untuk keberhasilan aplikasi berbasis sensor
  7. Arch Systems bermitra dengan Flex untuk membuat transformasi data
  8. Sensor Taktil Lembut dengan Karakteristik yang Sebanding dengan Kulit untuk Robot
  9. WiFi RSSI Sensor Tracker untuk ISS
  10. Materi Komunikasi Data Berbasis LED Generasi Berikutnya