Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Светодиоды, активируемые датчиком звука, с ЖК-дисплеем для отображения данных об уровне звука!

Компоненты и расходные материалы

Arduino UNO
× 1
Беспаечный макет, полный размер
× 1
Батарея 9 В (стандартная)
Необязательно.
× 1
9 В для разъема Barrel Jack
Необязательно.
× 1
Штыревые / штыревые перемычки
× 1
Провода перемычки "папа / мама"
× 1
Стандартный ЖК-экран Adafruit - 16x2, белый на синем
Я использовал тот, который был с рюкзаком i2c.
× 1
Модуль звукового датчика KY-038
× 1
5 мм светодиод:желтый
× 2
5 мм светодиод:зеленый
× 4
5 мм светодиод:красный
× 2
5 мм светодиод:белый
× 4
Светодиод SparkFun 5 мм:синий
× 4
Резистор 100 Ом
Для белых и синих светодиодов.
× 8
Резистор 220 Ом
Для красного и желтого светодиодов.
× 4
Резистор 330 Ом
Для зеленых светодиодов.
× 4

Приложения и онлайн-сервисы

IDE Arduino

Об этом проекте

Этот проект посвящен мониторингу данных об уровне звука, которые выпускаются, производятся или выводятся (?) Динамиками.

Аааа ... это продукт любопытства и скуки.

Я использовал модуль звукового датчика микрофона [KY-038], чтобы получить значения, которые я затем собрал с последовательного монитора, перенести в электронную таблицу, расположить в порядке возрастания, а затем выбрать значения, которые встречаются чаще, чем другие, или только те, которые я как.

Я выбрал ряд переменных от самого низкого до среднего и высокого диапазона.

Переменные из самого низкого диапазона значений активируют желтые светодиоды, средние значения - зеленые светодиоды, а переменные высокого диапазона - красные.

Светодиоды будут активированы или включатся, когда определенное значение sensorValue будет достигнуто или обнаружено звуковым датчиком.

Я также включил дополнительный ЖК-дисплей для просмотра значений в реальном времени просто для удовольствия.

Я просто обновил этот код

Добавлены коды отсюда

И вот

Коды ЖК-дисплея взяты из моего предыдущего проекта

И здесь комментарий имени пользователя MAS3

Я столкнулся с проблемой, когда данные, отображаемые на ЖК-дисплее, содержат некоторые оставшиеся цифры из прошлого sensorValue. Например, когда текущее значение должно быть 619, которое отображается на последовательном мониторе, но оно становится 6194, потому что прошлое значение было 1234.

Загрузите файлы .cpp и .h здесь.

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

Ссылки в социальных сетях, на которые можно подписаться (я имею в виду, если вы хотите):

Facebook - https://fb.me/HeathenHacks

Twitter - https://twitter.com/HeathenHacks

Instagram - https://instagr.am/HeathenHacks

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

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

Код

  • SoundSensorLEDwData
SoundSensorLEDwData Arduino
Я добавил комментарии к коду для некоторых пояснений. Надеюсь, я знаю, что делаю. 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 255L LiquidCrystal_PCF8574 LCD namei2C; // лампочка на макете + место подключения к Arduino. // LED1 - это светодиодная лампа 1 на макете, а 3 - это цифровой ШИМ 3 на 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; // Цифровой вывод 2 на Arduino - это то место, где подключен «DO» звукового датчика. Int sensorValue =analogRead (A0); // Это то место, где подключен «AO» звукового датчика. Boolean LEDStatus =false; void setup () {Serial.begin (9600); LCDi2C.begin (LCD_COLUMNS, LCD_ROWS, LCD_ADDRESS, BACKLIGHT); // Это те, которые мы определили ранее. pinMode (soundSensor, ВХОД); // Потому что наш датчик звука является устройством ввода. pinMode (LED1, ВЫХОД); pinMode (LED2, ВЫХОД); pinMode (LED3, ВЫХОД); pinMode (LED4, ВЫХОД); pinMode (LED5, ВЫХОД); pinMode (LED6, ВЫХОД); pinMode (LED7, ВЫХОД); pinMode (LED8, ВЫХОД); pinMode (sensorValue, ВЫХОД); // sensorValue объявлен как выходной, потому что он будет напечатан на ЖК-дисплее и на последовательном мониторе.} void loop () {int sensorValue =analogRead (sensorValue); int SensorData =digitalRead (soundSensor); если (SensorData =1) {если (LEDStatus ==false) {LEDStatus =true; Serial.println (sensorValue); // Это будет напечатано на последовательном мониторе, чтобы убедиться, что данные на ЖК-дисплее совпадают. LCDi2C.setCursor (0,0); // Это сделано для того, чтобы текст не прокручивался вверх и не исчезал, а затем снова переставлялся при добавлении данных sensorValue. LCDi2C.print («Данные уровня звука:»); // Текст, который появится и останется в строке 1 ЖК-дисплея. LCDi2C.setCursor (0,1); // Это сделано для того, чтобы текст не прокручивался вверх и не исчезал, а затем снова переставлялся при добавлении данных sensorValue. LCDi2C.print (sensorValue); // Данные, которые появятся на ЖК-дисплее. LCDi2C.print (""); // Это сделано для предотвращения появления лишних цифр из прошлого значения в текущем значении. Например, когда прошлое значение равно 1234, тогда предполагается, что текущее значение равно 619, но оно отображается как 6194.} if (sensorValue> =750) {// sensorValue больше или равно XX. Номера XX собираются из самых последних данных на Serial Monitor. Скопировал и вставил его в таблицу, а затем расположил от самого низкого до самого высокого уровня громкости звука. digitalWrite (LED8, HIGH); // Вы можете использовать разные значения датчика на каждой светодиодной лампе, если хотите, чтобы он действовал как датчик, отображая или зажигая соответствующие светодиодные лампы в соответствии с данными значений датчика. } // Подобно желтым светодиодным лампочкам загораются, когда датчик улавливает тихий звук, также известный как. Минимальный уровень громкости, зеленые светодиодные лампы загораются, когда уровень громкости в порядке, и красные светодиодные лампы загораются, когда громкость достигает порога громкости. else {// В качестве альтернативы вы можете просто добавить одно и то же значение для всех светодиодов, если хотите, чтобы все они реагировали одновременно. LEDStatus =false; // Вы также можете поиграть со значениями датчиков, чтобы светодиоды «плясали». Например, случайное изменение значений датчиков. Или заставить 2 светодиода реагировать на одно и то же значение, а другие светодиоды реагировать на другие значения. digitalWrite (LED8, LOW); } если (sensorValue> =735) {digitalWrite (LED7, HIGH); } еще {LEDStatus =false; digitalWrite (LED7, LOW); } если (sensorValue> =725) {digitalWrite (LED6, HIGH); } еще {LEDStatus =false; digitalWrite (LED6, LOW); } если (sensorValue> =720) {digitalWrite (LED5, HIGH); } еще {LEDStatus =false; digitalWrite (LED5, LOW); } если (sensorValue> =715) {digitalWrite (LED4, HIGH); } еще {LEDStatus =false; digitalWrite (LED4, LOW); } если (sensorValue> =700) {digitalWrite (LED3, HIGH); } еще {LEDStatus =false; digitalWrite (LED3, LOW); } если (sensorValue> =675) {digitalWrite (LED2, HIGH); } еще {LEDStatus =false; digitalWrite (LED2, LOW); } если (sensorValue> =650) {digitalWrite (LED1, HIGH); } еще {LEDStatus =false; digitalWrite (LED1, LOW); }} еще {LEDStatus =false; // Не совсем уверен, зачем я это добавил. Ржу не могу. digitalWrite (LED1, LOW); digitalWrite (LED2, LOW); digitalWrite (LED3, LOW); digitalWrite (LED4, LOW); digitalWrite (LED5, LOW); digitalWrite (LED6, LOW); digitalWrite (LED7, LOW); digitalWrite (LED8, LOW); }} 

Схема

Просто проследите за проводами из конца в конец.

Производственный процесс

  1. Würth:3-осевой датчик ускорения с предустановленными функциями
  2. Интеграция данных датчика с микропроцессором Raspberry Pi
  3. Датчик отслеживания линии с RPi
  4. API датчика окружающей среды с RPi
  5. Возможность интеграции визуальных данных с IoT
  6. Шесть основных принципов для успешных приложений с сенсорной информацией
  7. Arch Systems сотрудничает с Flex для преобразования производственных данных
  8. Мягкий тактильный датчик с характеристиками, сравнимыми с кожей, для роботов
  9. Трекер датчика WiFi RSSI для МКС
  10. Материалы для передачи данных на основе светодиодов следующего поколения