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

FM-радиоприемник Arduino TEA5767

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

Arduino Micro
× 1
Модуль TEA5767
× 1
ЖК-экран Arduino
× 1
Поворотный потенциометр (общий)
10 кОм
× 1
Усилитель звука LM386
× 1
Динамик мощностью 3 Вт
× 1
Макет (общий)
× 1
Аудиокабель
× 1
Перемычки (общие)
× 1
FM-передатчик
× 1

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

Arduino IoT Cloud

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

Введение

Дорогие друзья, добро пожаловать обратно! В этом уроке мы собираемся построить простой FM-радиоприемник на макете . .

Пожалуйста, посмотрите прикрепленное видео, чтобы послушать его несколько секунд. Как видите, радио работает нормально, и мы слышим музыку. Я передаю несколько безопасных треков YouTube, используя этот недорогой FM-передатчик на этой частоте. Я использую ЖК-дисплей Nokia 5110, чтобы отображать выбранную частоту, мощность сигнала и значок стерео, если мы получаем стереозвук. Мозг проекта - небольшой и недорогой Arduino Nano . Мы можем регулировать громкость динамика с помощью этого потенциометра, и мы можем изменять радиочастоту с помощью этого потенциометра.

Это увлекательный проект, и его относительно легко построить. Посмотрим, как его построить.

Шаг 1. Получите все детали

Для создания этого проекта необходимы следующие части:

  • Ардуино Нано
  • Модуль FM-радио
  • ЖК-экран Nokia 5110
  • Потенциометр 10 кОм
  • Усилитель звука
  • Динамик мощностью 3 Вт
  • Большой макет
  • Аудиокабель
  • Проволочные перемычки
  • провода 3 в 1
  • FM-передатчик
  • Power Bank

Общая стоимость проекта составляет около 15 долларов.

Шаг 2. ЖК-дисплей Nokia 5110

Nokia 5110 - мой любимый дисплей в моих проектах Arduino.

Nokia 5110 - это простой графический ЖК-экран, изначально предназначенный для использования в качестве экрана мобильного телефона. Он использует контроллер PCD8544, который является контроллером / драйвером CMOS LCD с низким энергопотреблением. Благодаря этому дисплей имеет впечатляющее энергопотребление.

Когда он включен, он потребляет всего 0,4 мА, но подсветка отключена. В спящем режиме он потребляет менее 0,06 мА! Это одна из причин, по которой этот дисплей стал моим любимым. PCD8544 взаимодействует с микроконтроллерами через интерфейс последовательной шины. Это делает экран очень простым в использовании с Arduino. Вам нужно подключить всего 8 проводов. Я подготовил подробное руководство по использованию ЖК-дисплея Nokia 5110 с Arduino.

Я приложил это видео к этому руководству, оно предоставит полезную информацию о дисплее, поэтому я рекомендую вам внимательно его посмотреть. Стоимость дисплея составляет около 4 долларов США.

Вы можете получить его здесь.

Шаг 3. Модуль FM-радио TEA5767

Проект построен на этом модуле FM-радио.

В модуле используется радиочип TEA5767 . , один здесь. Чип использует интерфейс I2C, поэтому его просто использовать с Arduino. На модуле мы также можем найти усилитель звука. К сожалению, это усилитель для наушников, поэтому мы не можем подключить динамик к выходу модуля напрямую, так как аудиосигнал очень слабый. Сначала нам нужно усилить это. Кроме того, нет возможности контролировать громкость, выходящую из модуля, с помощью программного обеспечения, поэтому мы собираемся использовать потенциометр позже. На модуле есть два гнезда для наушников, одно для антенны, а другое - для стандартного выхода на наушники. Модуль поставляется с небольшой антенной, но при желании вы можете легко построить свою собственную.

Вы можете получить его здесь.

Шаг 4:Соединение частей

Давайте теперь построим схему согласно этой принципиальной схеме.

Прежде всего, разместим все детали на макетной плате. Мы подключаем контакт заземления каждой части к шине заземления макета, а штырь Vcc каждой части - к положительной шине макета, за исключением потенциометра, который будет регулировать громкость. Теперь подключим радиомодуль. Вывод SLC подключается к аналоговому выводу 5 Arduino Nano, а вывод SDA - к аналоговому выводу 4. Теперь мы подключаем средний вывод потенциометра к аналоговому выводу 0. С помощью этого потенциометра мы собираемся выбрать частоту.

Теперь нам нужно подключить потенциометр громкости, чтобы можно было контролировать громкость. Я использовал аудиокабель. Я подключил один конец кабеля к аудиовыходу модуля. Затем я отрезал другой конец, чтобы найти 4 провода внутри кабеля. Модуль выводит стереозвук, но на этот раз мы будем использовать только один аудиоканал. Итак, я подключаю только два провода. Один из них - GND, а другой - звуковой сигнал, который необходимо усилить. Провод аудиосигнала идет к входному контакту потенциометра громкости. Средний вывод потенциометра - это выходной аудиосигнал.

Для усиления аудиосигнала я использую этот модуль, в котором используется микросхема усилителя LM386. Аудиосигнал идет на этот контакт, заземляющий контакт аудиокабеля идет на этот контакт. Теперь все, что нам нужно сделать, это подать питание на модуль. Таким образом, мы соединяем этот штырь с положительной шиной макета, а этот штифт с отрицательной шиной макета. Единственное, что нам осталось сделать, это подключить к выходу модуля небольшой динамик вот так. С помощью этого небольшого потенциометра мы можем контролировать усиление сигнала. Теперь все, что нам нужно сделать, это подключить дисплей Nokia 5110. Пожалуйста, посмотрите мое подробное видео о том, как использовать дисплей Nokia 5110, чтобы узнать, как его подключить, или следуйте схеме.

Подключение ЖК-дисплея Nokia 5110

  • RST подключается к цифровому выводу 12 Arduino.
  • CE подключается к цифровому выводу 11 Arduino.
  • DC подключается к цифровому выводу 10 Arduino
  • DIN подключается к цифровому выводу 9 Arduino.
  • CLK подключается к цифровому выводу 8 Arduino.
  • VCC переходит на Arduino 3.3V
  • LIGHT переходит на Arduino GND (подсветка включена)
  • GND подключается к Arduino GND.

Последний шаг, который является необязательным, - это подключить к макетной плате конденсатор емкостью 330 мкФ, подобный этому, чтобы уменьшить шум аудиосигнала.

Если мы сейчас включим проект, мы увидим, что экран-заставка отображается в течение 3 секунд, а после этого мы можем услышать звук из динамика. Качество звука у этого динамика и этого аудиоусилителя не самое лучшее. Если я использую другой коммерческий динамик со встроенным усилителем, качество звука будет идеальным. Проверить это. Итак, выходной сигнал от модуля идеальный, но усилитель и динамик, которые я использовал, снижают качество звука, поэтому мне нужно искать более качественные. Теперь, когда мы создали оборудование, давайте взглянем на программную сторону проекта.

Шаг 5. Код проекта

В этом проекте мы используем две библиотеки. Я использую графическую библиотеку Nokia5110 и библиотеку для чипа TEA5767 FM.

Код работает так. Сначала инициализируем радиомодуль и дисплей, и на три секунды выводим заставку. Я разработал этот экран-заставку в Photoshop. Если вы хотите узнать, как загрузить графику на дисплей Nokia 5110, посмотрите прилагаемый видеоурок.

  пустая настройка () {radio.setMonoReception (); radio.setStereoNoiseCancellingOn (); initScreen (); showSplashScreen (); Serial.begin (9600);}  

Затем в функции цикла мы считываем значение потенциометра, который регулирует частоту каждые несколько миллисекунд. Мы получаем аналоговое значение от потенциометра и сопоставляем его со значением частоты. Поскольку мы читаем аналоговое значение, это значение не является постоянным; он немного поднимается или опускается, даже если мы не поворачиваем потенциометр.

  frequencyInt =map (val, 2, 1014, 8700, 10700); // Аналоговое значение для частоты от 87,0 МГц до 107,00 МГц с плавающей запятой frequency =frequencyInt / 100.0f;  

Поэтому для достижения стабильной частоты мы настраиваем радио на другую частоту только в том случае, если частота значительно изменилась. Итак, если есть значительный сдвиг частоты, мы настраиваем радиомодуль на эту частоту, получаем мощность сигнала и печатаем его на экране, при необходимости печатаем значок стерео и, наконец, печатаем выбранную частоту. .

  if (частота - предыдущая частота> =0.1f || предыдущая частота - частота> =0.1f) {lcd.clrScr (); radio.selectFrequency (частота); printSignalStrength (); printStereo (); printFrequency (частота); previousFrequency =частота; }  

Так работает код, он простой, но работает нормально. Как всегда, вы можете найти код проекта, прикрепленный к этому шагу.

Поскольку это проект в стадии разработки, вы можете найти последнюю версию кода на веб-странице проекта здесь:http://educ8s.tv/arduino-fm-radio-project

FMRadio.zip

Шаг 6:Заключительные мысли

Как вы можете видеть примерно через полчаса, мы можем построить FM-радио на макете. Как это круто!

Качество звука, которое мы получаем от этого проекта, пока что невысокое. Я собираюсь больше работать над этим проектом, чтобы улучшить его во всех сферах. Я хочу превратить этот проект в полноценное радио с корпусом, напечатанным на 3D-принтере в стиле ретро. Прежде всего, я собираюсь попробовать различные усилители звука и динамики, чтобы добиться хорошего качества звука в этом проекте. Я также уберу его с макета и сделаю постоянную версию на макетной плате. Я также спроектирую корпус для этого проекта, чтобы он выглядел как радиоприемник. Конечно, код проекта тоже нуждается в доработке и доработке. Одна функция, которую я хотел бы добавить, - это тонкая настройка, которая еще больше улучшит качество звука.

Проект требует около 50 мА тока, когда подсветка дисплея отключена. Мы можем еще больше уменьшить текущие некоторые программные и аппаратные уловки, чтобы этот проект мог работать от батареи. Думаю, результат будет впечатляющим, не могу дождаться, когда этот проект у меня на столе будет завершен. Это видео было только началом.

Хотелось бы услышать ваше мнение об этом проекте. Вам этот проект интересен? Кроме того, какие улучшения вы предлагаете? Есть ли у вас какие-нибудь уловки, которые могут улучшить этот проект?

Пожалуйста, оставьте свои комментарии в разделе комментариев ниже, не забудьте поставить лайк видео и поделиться им с друзьями, если оно вам интересно! Большое спасибо!

Код

  • Фрагмент кода №1
  • Фрагмент кода №3
Фрагмент кода №1 Обычный текст
 установка void () {radio.setMonoReception (); radio.setStereoNoiseCancellingOn (); initScreen (); showSplashScreen (); Serial.begin (9600);} 
Фрагмент кода № 3 Обычный текст
 if (частота - предыдущая частота> =0.1f || предыдущая частота - частота> =0.1f) {lcd.clrScr (); radio.selectFrequency (частота); printSignalStrength (); printStereo (); printFrequency (частота); previousFrequency =частота; } 

Схема


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

  1. Цифровые игральные кости Arduino
  2. Интернет-радио Pi-Arduino
  3. Железный человек
  4. Найди меня
  5. Роботизированная рука, напечатанная на 3D-принтере Arduino
  6. Управление увлажнителем Arduino
  7. FM-радио с использованием Arduino и RDA8057M
  8. NeoMatrix Arduino Pong
  9. Джойстик Arduino
  10. Шагомер (Arduino 101)