Índice:
- Etapa 1: a parte do rádio 4703
- Etapa 2: a base de carregamento
- Etapa 3: a caixa
- Etapa 4: a parte do Arduino (esquemas e código)
- Etapa 5: o aplicativo Android
Vídeo: Rádio FM com RDS (texto de rádio), controle BT e base de carregamento: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Bom dia, Este é o meu segundo "Instructables". Como gosto de fazer coisas não muito úteis, aqui está o meu último projeto:
Este é um rádio FM com Rádio Texto com base de carregamento e que pode ser monitorado via Bluetooth e um APP Android
Portanto, vou apresentar a vocês a parte do Arduino, a parte do Radio Text e a parte do inventor do aplicativo MIT (esta é a única maneira que sou habilidoso o suficiente para construir um aplicativo Android)
Com uma tensão de alimentação de 10; 8 volts com alimentação CA e 9,6 com bateria, a potência máxima é 2x 1,5 / 1,25 watt RMS, que é amplamente suficiente
A potência RMS (root mean square) é a potência real, não como os outros grandes números que são vendidos como música watt ou potência de pico ou qualquer outra coisa)
Acho que 1,5 Watt RMS pode ser vendido como 8 Watts em algumas lojas !!!!!!
Primeiro, os componentes necessários:
Placa Principal:
1x Arduino Nano
1 módulo de rádio FM SI4703 da Sparkfun ou equivalente (5 V alimentado e 3,3 V I2C com um conector de 3 pólos que pode ser usado como uma antena)
1x Módulo Bluetooth HC-06 (avisando que a nova versão 3.0 do software tem um conjunto de comandos totalmente diferente (coloquei alguns comentários no código).
1x comutador de nível de 4 canais 3,3 5 V
1x MC7805 conversor 5v DC
1x 2200 µF capacitor 25V
2x 1N5404 3 amp diods
2 transistores 2N2222
1 resistor de 1Kohm
1 resistor de 47 Ohm
2 resistores KOhm de 3,3 (para pull-up de barramento I2C)
3 resistores de 330 Ohm (para os leds)
2x 6,8 resistores KOhm
1x resistor KOhm de 3,9
Painel frontal
1x barramento 20X4 LCD I2C
10x resistores de 680 ohms
1 LED vermelho (não tive mais verde !!) para a fonte de alimentação
1x LED amarelo para o modo de bateria
1 LED azul para a conexão BT
4x (LIGADO) -DESLIGADO- (LIGADO) interruptores (como para uma janela de carro elétrico)
2x botões de pressão
1x interruptor ON / OFF
Outros componentes do Rádio:
2x 100W 10CM 8 Ohm HP
1 antena extensível de 1 m (cerca de 75 cm é o bom comprimento para FM na Europa e nos EUA)
1 plugue de telefone que usei para fazer os contatos da base de carregamento
1x 1N5404 3 Amp diod (no contato da bateria para evitar a fumaça em caso de bagunçar com o solo ou contato 12V)
1x 2X20 watts Power Amp (qualquer amplificador estéreo caberá, desde que seja de 12V) com base no TDA2020 comprado por 4 euros
1x acoplador de bateria 8XAA (para ter um mínimo de 9,6 V)
Alguns compensados de 10 mm e 4 mm para a caixa
Base de carregamento:
Fonte de alimentação 1x 12V 3Amp
1x pequeno voltímetro de 3 dígitos / 3 fios
3 contatos (feitos com o plugue do telefone)
1x 1N5404 3 Amp diod (no contato de 12V)
2 interruptores de alavanca (para ligar a alimentação CA quando o rádio está na base de carregamento)
1x interruptor ON / OFF (para desligar a base de carregamento, se necessário)
Alguns compensados de 10 mm e 4 mm para a base
No total, incluindo o contraplacado, não é superior a 70 €
Etapa 1: a parte do rádio 4703
Primeiro, uma modificação:
O módulo deve usar o cabo do fone de ouvido como antena, no meu projeto não é útil, então teremos primeiro que fazer uma pequena modificação para conectar uma antena externa
Neste módulo, o jack de aterramento de 3 pólos não é conectado diretamente ao solo, mas por meio de uma indutância (para interromper as frequências FM) e um capacitor para conectar as frequências FM à entrada da antena do SI4703.
Portanto, a melhor maneira é conectar diretamente a antena ao pino de aterramento do conector e soldar dois cabos para a saída de áudio
Para evitar ruídos no áudio (principalmente de Bluetooth), coloquei o módulo FM em uma pequena caixa de plástico blindada com fita de cobre conectada ao solo
O protocolo RDS / Radio Text:
Em primeiro lugar, quero agradecer a Nathan Seidle porque fui totalmente inspirado por seu programa "TEST_FM" de junho de 2011
E, conforme combinado, ficarei muito feliz em pagar-lhe uma cerveja, se, um dia desses, ele se perder na minha pequena aldeia no fundo da Bretanha !!
Usei muito o programa dele porque não queria usar as bibliotecas existentes que são um pouco grandes demais para o espaço de memória Nano pobre e também porque é sempre melhor ir fundo nas possibilidades de um componente mergulhando diretamente os registros
A principal modificação que fiz é para a votação RDS
Aproveitei a possibilidade de acionar uma interrupção no pino GPI02, definindo o bit RDSIEN e o valor GPIO2 para 01
Isso irá desencadear uma interrupção no pino 3 do nano
Isso evita o polling do registro RDS, pois acionará o programa de texto de rádio somente quando o grupo de texto de rádio de 4 caracteres estiver disponível sem erros (modo não verboso)
Para ter um rádio texto completo, devemos reunir no máximo 16 blocos de 4 char's (registros RDSC / RDSB do grupo 2A ou 2B). Coloquei muita informação no programa para explicar o que fiz.
Aqui está uma descrição dos registros de dados para texto de rádio (RDSSA / RDSC)
no registro RDSSB (bloco 2)
Valor 4 em A3 / 0 indica (grupo de texto)
B0 indica texto A (64 caracteres) ou B (32 caracteres) (nunca vi o texto B em uso ………..)
PT0 a PT4 é o índice do grupo de 4 caracteres (0 a 15)
PT5 deve ser usado como indicador de texto A / B (significando "este é um texto novo") mas nem sempre é usado assim dependendo da estação de rádio, portanto não é utilizável para o programa de texto de rádio.
4 caracteres do texto de rádio estão em RDSSC e RDSSD (blocos 3 e 4)
Aconselho você a ler o documento muito interessante sobre o protocolo RDS em SI4703 => AN243 da Silicon labs
Eu também redefino o bit SKMODE no registro POWERCFG (consulte a ficha técnica SI4703) para permanecer na faixa de frequência enquanto procuro canais
Ler o datashhet ajudará muito a entender o código e todos os manuseios de registros
Etapa 2: a base de carregamento
Não há muitas coisas para adicionar
As fotos podem falar melhor.
Acabei de adicionar um diodo 1N5404 no contato de 12 volts
1) evitar problemas caso o contato da bateria toque o contato de 12 volts ao colocar o rádio na base (mas isso nunca aconteceu)
2) abaixar o nível de tensão para 10,8 volts (há também um diodo na placa-mãe) já que o MC7805 pode ficar um pouco quente ao passar de 12V a 5 volts com corrente de 1 Amp (eu aparafusei um pedaço de ferro como dissipador de calor o 7805)
Eu adicionei um pequeno voltímetro de 3 x 7 segmentos para indicar a carga da bateria
Este dispositivo é com 3 fios para diminuir o consumo (mais de 1 Mega Ohm no fio de medição) o que permite manter o rádio na base desligada por muito tempo sem descarregar a bateria
2 interruptores de alavanca são usados para desligar a fonte de CA quando o rádio está fora da base (para evitar ter 12 V nos contatos)
A caixa é feita de compensado (antes de pintar na foto) Eu deixo vocês imaginarem como fazer uma caixa linda como a minha não é muito sexy !!!!!
Fiquei muito surpreso, mas a base de carga está funcionando bem e eu nunca tive fumaça ao pousar o rádio nela ………….
Etapa 3: a caixa
Eu acho que qualquer um gostaria de fazer o que quiser seguindo suas capacidades artísticas !!!!!
De qualquer forma, explicarei em breve como poderia construir algo que terrivelmente se parece com uma caixa de ferramentas
Frente e traseira são cortadas em madeira compensada de 4 mm 15x45 cm
a parte superior e a inferior são de madeira compensada de 10 mm 15x45 cm
Os lados e as 2 partições internas (2 2 lugares para HP e os componentes no meio) são de madeira compensada de 10 mm 13x13 cm
No painel frontal fiz orifícios de 2 x10 cm para a HP e um orifício quadrado de 14x14 para inserir o vidro orgânico 15x15 2mm que pintei de preto (adicionando depois de pintar um adesivo impresso transparente, mas não é tão legível devido ao preto cor atrás)
Fiz 2 furos no topo:
um para o potenciômetro do Power Amp (para ajustar o nível se necessário) e também, como saída de calor
outro para a antena
no painel traseiro fiz 2 furos:
Um para o plugue USB (conecte diretamente no nano)
Um de 16 mm para resfriamento de ar (o orifício de 14 mm do potenciômetro do amplificador de potência sendo a saída superior de resfriamento de ar)
a alça é feita de um tubo de cobre de 12 mm pintado de preto
Todos os componentes da foto acima encontram lugar no compartimento central (posteriormente tive que colocar as baterias no compartimento esquerdo HP porque estava muito próximo do módulo HC06 BT no compartimento principal)
É isso
Claro que deve haver algo mais sexy !!!!!
Etapa 4: a parte do Arduino (esquemas e código)
Tentei colocar o máximo de informações possível nos comentários do programa.
Mais algumas informações
O procedimento Decode_TXT é usado tanto pelo procedimento Bluetooth quanto pelo procedimento de troca
algumas palavras-chave são usadas por ambos os procedimentos
v + => para aumentar o volume
v- => para diminuir
f + => para aumentar a frequência de uma etapa de 100 Khz
f- => para diminuir
su + => buscar
sd - => buscar para baixo
prefu => aumentar o número do canal pré-selecionado
prefd => diminuir
olá => enviado pelo aplicativo Android durante a conexão bluetooth, o código envia de volta o status do rádio
tchau => enviado pelo APP quando o BT desconecta
pow => enviado pelo rádio para o aplicativo no modo de fonte de alimentação (na base de carregamento)
bat => quando em modo de bateria
lb => enviado quando o nível da bateria está muito baixo (cerca de 8 volts)
A comunicação Bluetooth é protegida por um loop de controle:
Cada vez que o rádio FM envia uma informação, um cronômetro é acionado aguardando a resposta "ok" do APP android
em caso de 3 erros (temporizador expirado) o link BT é cortado pelo Rádio. (isso corta também o link no lado Android)
Por outro lado
Quando o App envia um comando, ele aguarda a resposta do rádio para enviar outro comando.
O procedimento get_RT é lançado quando o sinalizador RDS é definido (após uma interrupção no pino 3)
aqui está o código (link para GITHUB)
Os esquemas:
A placa principal do rádio FM (na verdade, o SI4703 está separado em uma caixa blindada):
O painel frontal:
A base de carregamento:
Os links para os arquivos do Fritzing:
Placa principal FR RADIO
Painel frontal
Base de carregamento
Etapa 5: o aplicativo Android
Feito com o inventor do APP
aqui estão os links para o GitHub
Radio FM aia
APK Android
O aplicativo usa 2 cronômetros de relógio:
1) para a comunicação bluetooth (100ms)
2) para piscar o led da bateria quando a carga está em torno de 8 v (1000ms)
Pela primeira vez, você terá que emparelhar o módulo HC06 com seu smartphone ou tablet.
Eu uso o TinyDB para salvar o endereço BT do módulo HC06, na primeira conexão o botão de endereço BT será habilitado e você terá que escolher o HC06 na lista (de minha parte, renomeei o módulo HC06 em FM_RADIO)
No App nem sempre usei a porcentagem para o tamanho do elemento, então pode haver problemas tão disply dependendo do smartphone
O meu é um Galaxy Note 3, então uma tela grande ……..
Então, passei um bom tempo descobrindo este SI4703 pequeno, mas muito eficiente.
E tive muito prazer em escrever estes instructables
Até o meu próximo projeto
Au revoir !!!
Recomendado:
Rádio-controle RF 433MHZ usando HT12D HT12E - Fazendo um controle remoto Rf usando HT12E e HT12D com 433 MHz: 5 etapas
Rádio-controle RF 433MHZ usando HT12D HT12E | Fazendo um controle remoto Rf usando HT12E e HT12D com 433 mhz: Neste instrutível, vou mostrar como fazer um controle remoto RADIO usando o módulo receptor transmissor 433 mhz com codificação HT12E & IC decodificador HT12D. Neste instrutível, você poderá enviar e receber dados usando COMPONENTES muito baratos, COMO: HT
Como usar a placa de rádio FM Si4703 com RDS - Tutorial do Arduino: 5 etapas (com fotos)
Como usar a placa de rádio FM Si4703 com RDS - Arduino Tutorial: Esta é uma placa de avaliação para o chip sintonizador de FM Silicon Laboratories Si4703. Além de ser um simples rádio FM, o Si4703 também é capaz de detectar e processar informações do Radio Data Service (RDS) e do Radio Broadcast Data Service (RBDS)
Iluminação de realce da base de carregamento Logitech MX-Revolution: 6 etapas
Iluminação de realce da base de carregamento Logitech MX-Revolution: Este tutorial explicará como adicionar facilmente a iluminação de realce à base de carregamento do Logitech MX Revolution. Itens necessários: Broca - Use uma broca com pelo menos 1000 rpms. Uma broca mais lenta vai lhe dar lixamento / polimento desiguais Brocas - usei um 1/8
Faça uma base / base rápida para iPhone: 5 etapas
Faça um suporte / suporte rápido para iPhone .: Bem, eu estava procurando algo para usar como suporte para iPhone, e também um uso para a extremidade de papelão de um rolo de fita adesiva (parecia tão útil), quando uma ideia surgiu minha cabeça
Suporte de parede / base de carregamento para iPhone: 4 etapas
Suporte / base de carregamento para iPhone: Crie um suporte de parede de carregamento DIY para o seu iPhone / iPod usando o carregador de parede, o cabo USB e um frasco cortado de shampoo. Este Instructable foi apresentado como um projeto de 5 minutos na seção DIY da Popular Science. Você vai precisar de: Um frasco de shampoo (este o