Съдържание:

FM радио с RDS (радиотекст), BT база за управление и зареждане: 5 стъпки
FM радио с RDS (радиотекст), BT база за управление и зареждане: 5 стъпки

Видео: FM радио с RDS (радиотекст), BT база за управление и зареждане: 5 стъпки

Видео: FM радио с RDS (радиотекст), BT база за управление и зареждане: 5 стъпки
Видео: "Скрытые послания" в FM-сигнале или как работает RDS. 2024, Ноември
Anonim
FM радио с RDS (радиотекст), BT управление и база за зареждане
FM радио с RDS (радиотекст), BT управление и база за зареждане
FM радио с RDS (радиотекст), BT база за управление и зареждане
FM радио с RDS (радиотекст), BT база за управление и зареждане

Здравей, Това е моят втори "Instructables". Тъй като обичам да правя не много полезни неща, ето и последния ми проект:

Това е FM радио с радиотекст с база за зареждане и което може да се наблюдава чрез Bluetooth и приложение за Android

Затова ще ви представя частта Arduino, частта за радиотекст и след това частта на изобретателя на приложението MIT (Това е единственият начин да съм достатъчно умел за изграждане и приложение за Android)

При захранващо напрежение 10; 8 волта с променливотоково захранване и 9,6 с батерия максималната мощност е 2x 1,5/1,25 вата RMS, което е широко разпространено

RMS (средно квадратен) мощност е реалната мощност, а не като другите големи числа, които се продават като музика от ват или пикова мощност или нещо друго)

Предполагам, че 1,5 вата RMS може да се продава като 8 вата в някои магазини !!!!!!

Първо необходимите компоненти:

Главен борд:

1x Arduino Nano

1x FM радиомодул SI4703 от Sparkfun или еквивалентен (5v захранван и 3.3V I2C с 3 полюсен жак, който може да се използва като антена)

1x Bluetooth модул HC-06 (предупреждавайки, че новата версия на софтуера 3.0 има напълно различни команди (поставих някои коментари в кода).

1x 4канален превключвател на нива 3.3 5 V

1x MC7805 5v DC преобразувател

1x 2200 µF 25V кондензатор

2x 1N5404 3 Amp диоди

2x 2N2222 транзистори

1x 1Kohm резистор

1x 47 ома резистор

2x 3,3 KOhm резистора (за изтегляне на I2C шина)

3x 330 ома резистори (за светодиодите)

2x 6,8 KOhm резистора

1x 3.9 KOhm резистор

Преден панел

1x 20X4 LCD I2C шина

10x 680 ома резистори

1x червен светодиод (нямах повече зелен !!) за захранването

1x жълт светодиод за режим на батерията

1x син светодиод за BT връзка

4x (ON) -OFF- (ON) превключватели (като за прозорец на електрическа кола)

2x бутони

1x ключ за включване/изключване

Други компоненти за радиото:

2x 100W 10CM 8 Ohm HP

1x 1 м разтегателна антена (около 75 см е добрата дължина за FM в Европа и САЩ)

1x телефонен щепсел, който използвах за осъществяване на контактите за зареждащата база

1x 1N5404 3 Amp диод (на контакта на батерията, за да се избегне дим в случай на бъркотия със земята или 12V контакт)

1x 2X20 вата усилвател на мощност (всеки стерео усилвател ще се побере, докато е 12V) въз основа на TDA2020, закупен за 4 евро

1x 8XAA батериен съединител (за да има мин. 9.6V)

Около 10 мм и 4 мм шперплат за кутията

База за зареждане:

1x 12V 3Amp Захранване

1x малък 3 -цифрен /3 жичен волтметър

3 контакта (направени с телефонния щепсел)

1x 1N5404 3 Amp диод (на контакта 12V)

2 превключвателя на лоста (за включване на променливотоковото захранване, когато радиото е на зарядното устройство)

1x ключ за включване/изключване (за изключване на зарядното устройство, ако е необходимо)

Около 10 мм и 4 мм шперплат за основата

Като цяло, включително шперплат, това не е повече от 70 €

Стъпка 1: Радио част 4703

Първо, модификация:

Модулът трябва да използва кабела на слушалките като антена, в моя проект той не е полезен, така че първо ще трябва да направим малка модификация, за да свържем и външна антена

В този модул заземяването с 3 полюса не е свързано директно към земята, а чрез индуктивност (за спиране на FM честоти) и кондензатор за свързване на FM честотите към входа на антената на SI4703.

Така че най -добрият начин е да свържете директно антената към заземяващия щифт на жака и да запоите два кабела за аудио изхода

Образ
Образ

За да предотвратя шумове в звука (особено от Bluetooth), поставих FM модула в малка пластмасова кутия, екранирана с медна лента, свързана към земята

Образ
Образ

Протоколът RDS/Radio Text:

Първо, искам да благодаря на Нейтън Зайдъл, тъй като бях напълно вдъхновен от програмата му „TEST_FM“от юни 2011 г.

И, както се договорих, ще се радвам да му платя бира, ако някой от тези дни се изгуби в малкото ми село в дълбокия край на Бретан !!

Използвах голяма част от неговата програма, тъй като не исках да използвам съществуващите библиотеки, които са малко прекалено големи за бедното пространство с памет на Nano, а също и защото винаги е по -добре да се задълбочите във възможностите на компонент, като се потопите директно в регистрите

Основната модификация, която направих, е за RDS анкетиране

Възползвах се от възможността да задействам прекъсване на щифт GPI02, като зададох бита RDSIEN и стойността на GPIO2 на 01

Това ще задейства прекъсване на щифт 3 на нано

Това предотвратява избирането на регистъра RDS, тъй като ще задейства програмата за радиотекст само когато групата от 4 символа радио текст е достъпна без грешки (недвусмислен режим)

За да имаме пълен радио текст, трябва да съберем най -много 16 блока от 4 символа (регистри RDSC/RDSB от група 2A или 2B). Поставих много информация в програмата, за да обясня какво съм направил.

Ето описание на регистрите за данни за радио текст (RDSSA/RDSC)

Образ
Образ

в регистър RDSSB (блок 2)

Стойност 4 в A3/0 показва (текстова група)

B0 показва текст A (64 символа) или B (32 знака) (никога не съм виждал текст B в употреба ………..)

PT0 до PT4 е индексът на групата от 4 символа (0 до 15)

PT5 трябва да се използва като текстов A/B индикатор (което означава „това е нов текст“), но не винаги се използва така в зависимост от радиостанцията, така че не може да се използва за текстовата програма Radio.

4 знака от радиотекста са в RDSSC и RDSSD (блок 3 и 4)

Съветвам ви да прочетете много интересния документ относно RDS протокола в SI4703 => AN243 от Silicon labs

Също така нулирах бита SKMODE в регистъра POWERCFG (вижте листа с данни SI4703), за да останете в обхвата на честотата, докато търсите канали

Четенето на datashhet ще помогне много за разбирането на кода и всички манипулатори на регистрите

Стъпка 2: Базата за зареждане

Базата за зареждане
Базата за зареждане
Базата за зареждане
Базата за зареждане
Базата за зареждане
Базата за зареждане

Не много неща за добавяне

Снимките могат да говорят по -добре.

Току -що добавих 1N5404 диод към 12 -волтовия контакт

1) за да избегнете проблеми в случай, че контактът на батерията докосне 12 -волтовия контакт, когато поставяте радиото върху основата (но това никога не се е случило)

2) за понижаване на нивото на напрежение до 10,8 волта (има и диод на дънната платка), тъй като MC7805 може да стане малко горещ при преминаване от 12V на 5 волта с ток от 1 Amp (завинтих парче желязо като радиатор на 7805)

Добавих малък волтметър 3 x7 сегмента, за да покажа натоварването на батерията

Това устройство е с 3 проводника, за да намали консумацията (повече от 1 мегаом на мерителния проводник), което позволява да запазите радиото на изключена база за дълго време, без да разреждате батерията

Образ
Образ

2 лостови превключвателя се използват за изключване на захранването с променлив ток, когато радиото е изключено от основата (за да се избегне 12V на контактите)

Образ
Образ

Кутията е направена от шперплат (преди да нарисувате снимката) Позволявам ви да си представите как да направите красива кутия, тъй като моята не е много секси !!!!!

Бях много изумен, но базата за зареждане работи добре и никога не съм пушил, докато качвах радиото върху нея ………….

Стъпка 3: Кутията

Кутията
Кутията
Кутията
Кутията
Кутията
Кутията
Кутията
Кутията

Предполагам, че всеки би искал да прави каквото иска следвайки своите артистични способности !!!!!

Така или иначе ще обясня накратко как бих могъл да създам нещо, което ужасно прилича на кутия с инструменти

Предната и задната част са изрязани в 4 мм шперплат 15х45 см

отгоре и отдолу са 10 мм шперплат 15х45 см

Страните и 2 -те вътрешни прегради (2 2 места за HP и компонентите в средата) са 10 мм шперплат 13x13 cm

На предния панел направих 2 x10 cm дупки за HP и 14x14 квадратна дупка, за да вмъкна 15x15 2mm органично стъкло, което боядисах в черно (добавяйки след боядисване на прозрачен отпечатан стикер, но не е толкова четим поради черното цвят отзад)

Направих 2 дупки отгоре:

един за потенциометъра на усилвателя на мощността (за регулиране на нивото, ако е необходимо), а също и като топлинна мощност

друг за антената

на задния панел направих 2 дупки:

Един за USB щепсела (директно включете нано)

Един 16 мм за въздушно охлаждане (14 -милиметровият отвор на потенциометъра на усилвателя за мощност над горния въздушен изход за охлаждане)

дръжката е изработена от 12 мм медна тръба, боядисана в черно

Всички компоненти на снимката по -горе намират място в централното отделение (по -късно трябваше да поставя батериите в лявото отделение на HP, защото беше твърде близо до модула HC06 BT в основното отделение)

Това е

Разбира се, трябва да има нещо по -секси !!!!!

Стъпка 4: Частта Arduino (схеми и код)

Опитах се да вкарам възможно най -много информация в коментарите на програмата.

Още малко информация

Процедурата Decode_TXT се използва както от Bluetooth процедурата, така и от процедурата за превключване

някои ключови думи се използват и от двете процедури

v+ => за увеличаване на силата на звука

v- => за понижаване

f+ => за увеличаване на честотата на стъпка от 100 Khz

f- => за намаляване

su+=> търси нагоре

sd-=> търси надолу

prefu => увеличете предварително избрания номер на канал

prefd => намаление

здравей => изпратено от приложението за Android по време на Bluetooth връзка, кодът изпраща обратно състоянието на радиото

бай => изпратено от приложението, когато BT се изключва

pow => изпратено от радиото към приложението в режим на захранване (на базата за зареждане)

bat => когато е в режим на батерия

lb => изпратено, когато нивото на батерията е твърде ниско (около 8 волта)

Bluetooth комуникацията е защитена от контролен контур:

Всеки път, когато FM радиото изпраща информация, таймерът се стартира в очакване на отговора „ок“от приложението за android

в случай на 3 грешки (таймерът е изтекъл) BT връзката се прекъсва от радиото. (това също прекъсва връзката от страна на Android)

От друга страна

Когато приложението изпраща команда, изчаква отговора от радиото да изпрати друга команда.

Процедурата get_RT се стартира, когато е зададен RDS флаг (след прекъсване на щифт 3)

ето кода (връзка към GITHUB)

Схемите:

Основната платка на FM радиото (всъщност SI4703 е отделен в екранирана кутия):

Образ
Образ

Предният панел:

Образ
Образ

Базата за зареждане:

Образ
Образ

Връзките към файловете Fritzing:

Основна платка FR RADIO

Преден панел

Зареждаща база

Стъпка 5: Приложението за Android

Приложението за Android
Приложението за Android
Приложението за Android
Приложението за Android

Изработен с изобретател на APP

ето връзките към GitHub

Радио FM aia

Android APK

Приложението използва 2 таймера за часовник:

1) за Bluetooth комуникация (100ms)

2) за мигащ светодиод на батерията, когато натоварването е около 8 v (1000ms)

За първи път ще трябва да сдвоите модула HC06 с вашия смартфон или таблет.

Използвам TinyDB за запазване на BT адреса на модула HC06, при първата връзка бутонът за BT адрес ще бъде активиран и ще трябва да изберете HC06 в списъка (от моя страна преименувах модула HC06 във FM_RADIO)

В приложението не винаги използвах процента за размера на елемента, така че може да има толкова много проблеми в зависимост от смартфона

Моят е Galaxy Note 3, така че доста голям екран ………

Така че прекарах много време, откривайки този малък, но много ефективен SI4703.

И изпитах голямо удоволствие да напиша тези инструкции

До следващия ми проект

Довиждане !!!

Препоръчано: