Últimos assuntos
Quem está conectado?
Há 218 usuários online :: 2 registrados, 0 invisíveis e 216 visitantes :: 1 motor de buscanostalgico, reginaldinho
O recorde de usuários online foi de 1034 em Sex 24 Jul 2015, 10:41
Tópicos semelhantes
Anuncios
Nenhum anúncio
Programação pic16/pic18
2 participantes
Página 1 de 1
Programação pic16/pic18
Sou iniciante em microcontroladores,gostaria de saber como programar e reproduzir um som midi,wave,mp3 ou qualquer outro formato,pressionando um botão.
utilizando um pic16 ou pic18.Podendo ser em C ou Pascal.
Exemplo :
se pressionar botao 1 = reproduzir som 1
se pressionar botao 2 = reproduzir som 2
utilizando um pic16 ou pic18.Podendo ser em C ou Pascal.
Exemplo :
se pressionar botao 1 = reproduzir som 1
se pressionar botao 2 = reproduzir som 2
isaacantonio3- NOVATO
- DESCRIÇÃO: : Técnico em informática
TEMPO DE EXPERIÊNCIA : 10
Sexo :
Número de Mensagens : 2
Idade : 29
Cidade/Estado: : São Gonçalo/Rj
Data de inscrição : 21/06/2014
Re: Programação pic16/pic18
Dê uma olhada nesses tópicos!!!
https://eletronica2002.forumeiros.com/t153461-display-contado-atraves-de-pulsso-em-unico-push-butom
https://eletronica2002.forumeiros.com/t158212-programa-para-fazer-funcao-liga-desliga-com-um-push
https://eletronica2002.forumeiros.com/t157127-reproduzir-sons-com-o-pic
Não entendo porque não começam com um hello word (acender led), depois ler um botão e mudar estado do led, etc...
Nesses trabalhos de escola, mal sabem inicializar um microcontrolador e já querem fazer robô que desvia de obstáculos, tocar musica, etc...
Os projetos acima estão todos em CCS C Compiler For PIC !!!
http://www.ccsinfo.com/
Você pode ainda utilizar um APLUS APR9600 (ou os antigos Winbound ISD1400) que é um chip voice recorder, grave dois pequenos trechos de musica... assim você pode tocar a musica conforme o botão pressionado.
Ou simplesmente gerar seu próprio som com um buzzer mudando a frequência de chaveamento do pino utilizado em seu projeto.
Existem diversas formas de fazer isso... Mas você deve escolher a mais fácil e mais barata a nível de projeto.
O exemplo pratico com buzzer mais simples. Um botão gera frequência de 2KHz e outro 4KHz (F=1/T).
Só mudar para outro modelo de pic, alterar os fusíveis e as portas utilizadas!!!
Detalhe importante!!! Este buzzer é sem driver interno (buzzer com driver interno são aqueles que você os alimenta com 5Volts e sai som, geralmente encontrado em placa mãe, este não serve)!!!
Outro modelo:
https://eletronica2002.forumeiros.com/t153461-display-contado-atraves-de-pulsso-em-unico-push-butom
https://eletronica2002.forumeiros.com/t158212-programa-para-fazer-funcao-liga-desliga-com-um-push
https://eletronica2002.forumeiros.com/t157127-reproduzir-sons-com-o-pic
Não entendo porque não começam com um hello word (acender led), depois ler um botão e mudar estado do led, etc...
Nesses trabalhos de escola, mal sabem inicializar um microcontrolador e já querem fazer robô que desvia de obstáculos, tocar musica, etc...
Os projetos acima estão todos em CCS C Compiler For PIC !!!
http://www.ccsinfo.com/
Você pode ainda utilizar um APLUS APR9600 (ou os antigos Winbound ISD1400) que é um chip voice recorder, grave dois pequenos trechos de musica... assim você pode tocar a musica conforme o botão pressionado.
Ou simplesmente gerar seu próprio som com um buzzer mudando a frequência de chaveamento do pino utilizado em seu projeto.
Existem diversas formas de fazer isso... Mas você deve escolher a mais fácil e mais barata a nível de projeto.
O exemplo pratico com buzzer mais simples. Um botão gera frequência de 2KHz e outro 4KHz (F=1/T).
Só mudar para outro modelo de pic, alterar os fusíveis e as portas utilizadas!!!
Detalhe importante!!! Este buzzer é sem driver interno (buzzer com driver interno são aqueles que você os alimenta com 5Volts e sai som, geralmente encontrado em placa mãe, este não serve)!!!
- Código:
//*****************************************************************************
// CCS C Compiler for PIC V5.025
//*****************************************************************************
#include <12F629.h>
//*****************************************************************************
#FUSES NOWDT //No Watch Dog Timer
#FUSES INTRC_IO //Internal RC Osc, no CLKOUT
#FUSES NOMCLR //Master Clear pin used for I/O
#FUSES NOBROWNOUT //No brownout reset
//*****************************************************************************
#use delay(int=4000000)
//*****************************************************************************
#define BOTAO1 PIN_A0
#define BOTAO2 PIN_A1
#define SINAL PIN_A2
//*****************************************************************************
void MUSICA1()
{
output_toggle(SINAL);
delay_us(250);
}
//*****************************************************************************
void MUSICA2()
{
output_toggle(SINAL);
delay_us(500);
}
//*****************************************************************************
void main()
{
output_a(0x00);
while(TRUE)
{
output_low(SINAL);
if (!input(BOTAO1))
{
MUSICA1();
}
if (!input(BOTAO2))
{
MUSICA2();
}
}
}
//*****************************************************************************
Outro modelo:
- Código:
//*****************************************************************************
// CCS C Compiler for PIC V5.025
//*****************************************************************************
#include <12F629.h>
//*****************************************************************************
#FUSES NOWDT //No Watch Dog Timer
#FUSES INTRC_IO //Internal RC Osc, no CLKOUT
#FUSES NOMCLR //Master Clear pin used for I/O
#FUSES NOBROWNOUT //No brownout reset
//*****************************************************************************
#use delay(int=4000000)
//*****************************************************************************
#define BOTAO1 PIN_A0
#define BOTAO2 PIN_A1
#define SINAL PIN_A2
//*****************************************************************************
long int tempo = 0;
int tempo2 = 0;
//*****************************************************************************
void MUSICA1()
{
tempo2=0;
do
{
tempo=0;
do
{
output_toggle(SINAL);
delay_us(400);
tempo++;
}while (tempo <=250);
tempo=0;
delay_ms(100);
do
{
output_toggle(SINAL);
delay_us(750);
tempo++;
}while (tempo <=250);
delay_ms(100);
tempo2++;
}while(tempo2 <=5);
}
//*****************************************************************************
void MUSICA2()
{
tempo=0;
do
{
output_toggle(SINAL);
delay_us(100);
output_toggle(SINAL);
delay_us(150);
tempo++;
}while (tempo <=250);
tempo=0;
delay_ms(100);
do
{
output_toggle(SINAL);
delay_us(400);
output_toggle(SINAL);
delay_us(200);
tempo++;
}while (tempo <=250);
delay_ms(100);
tempo=0;
do
{
output_toggle(SINAL);
delay_us(200);
output_toggle(SINAL);
delay_us(100);
tempo++;
}while (tempo <=250);
tempo=0;
delay_ms(250);
do
{
output_toggle(SINAL);
delay_us(300);
output_toggle(SINAL);
delay_us(200);
tempo++;
}while (tempo <=250);
delay_ms(250);
tempo=0;
do
{
output_toggle(SINAL);
delay_us(600);
output_toggle(SINAL);
delay_us(200);
tempo++;
}while (tempo <=250);
tempo=0;
delay_ms(250);
do
{
output_toggle(SINAL);
delay_us(450);
output_toggle(SINAL);
delay_us(100);
tempo++;
}while (tempo <=250);
delay_ms(250);
tempo=0;
do
{
output_toggle(SINAL);
delay_us(850);
output_toggle(SINAL);
delay_us(100);
tempo++;
}while (tempo <=500);
tempo=0;
delay_ms(250);
do
{
output_toggle(SINAL);
delay_us(550);
output_toggle(SINAL);
delay_us(100);
tempo++;
}while (tempo <=1000);
delay_ms(500);
do
{
output_toggle(SINAL);
delay_us(700);
output_toggle(SINAL);
delay_us(100);
tempo++;
}while (tempo <=250);
output_low(SINAL);
delay_ms(1000);
}
//*****************************************************************************
void main()
{
output_a(0x00);
while(TRUE)
{
output_low(SINAL);
if (!input(BOTAO1))
{
MUSICA1();
}
if (!input(BOTAO2))
{
MUSICA2();
}
}
}
//*****************************************************************************
_________________
No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2854
Idade : 43
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: Programação pic16/pic18
e como faço pra gravar a musica junto com a programação ?
ou com que leia um cartão de memoria e reproduza os sons ?
o que teria que alterar no codigo ?
ou com que leia um cartão de memoria e reproduza os sons ?
o que teria que alterar no codigo ?
isaacantonio3- NOVATO
- DESCRIÇÃO: : Técnico em informática
TEMPO DE EXPERIÊNCIA : 10
Sexo :
Número de Mensagens : 2
Idade : 29
Cidade/Estado: : São Gonçalo/Rj
Data de inscrição : 21/06/2014
Re: Programação pic16/pic18
Pra você é mais fácil usar um hardware externo para ler o cartão e a musica... Se não terá que alocar tabelas no pic... usar base de tempos etc... dê uma olhada nos links acima!!!
Exemplo de tabela: http://www.enide.net/webcms/index.php?page=pcm2pwm
Tem o VS10xx que é um circuito integrado decodificador de mp3... com ele será mais fácil a utilização...
Pode ainda fazer isso sem o uso do decodificador, mas terá que decodificar o mp3 diretamente, saber sobre a partição utilizada, etc... A comunicação entre o SD card e o pic é via SPI...
Alguns projetos na net (nem todos são com PIC):
http://andres.olivaresvergara.com/index.php?page=MP3+Player
http://dmitry.gr/index.php?r=05.Projects&proj=02.%20Single-chip%20audio%20Player
http://www.techdesign.be/projects/020/020.htm
http://www.mikroe.com/products/view/287/mp3-article/
Flw...
Exemplo de tabela: http://www.enide.net/webcms/index.php?page=pcm2pwm
Tem o VS10xx que é um circuito integrado decodificador de mp3... com ele será mais fácil a utilização...
Pode ainda fazer isso sem o uso do decodificador, mas terá que decodificar o mp3 diretamente, saber sobre a partição utilizada, etc... A comunicação entre o SD card e o pic é via SPI...
Alguns projetos na net (nem todos são com PIC):
http://andres.olivaresvergara.com/index.php?page=MP3+Player
http://dmitry.gr/index.php?r=05.Projects&proj=02.%20Single-chip%20audio%20Player
http://www.techdesign.be/projects/020/020.htm
http://www.mikroe.com/products/view/287/mp3-article/
Flw...
_________________
No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2854
Idade : 43
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|
Hoje à(s) 10:07 por adriano cesar
» Pré Amplificador CSR Pr Mod Pr-2002
Ontem à(s) 20:38 por Julio Penna
» Philips Cineos 34PT8422/77 DÚVIDA SOBRE TUBO
Ontem à(s) 10:52 por MARIO Y. SEGAWA
» Tv hbtv Buster 32l05hd com linhas e imagem travando,e duplicando sem definição.
Ontem à(s) 05:40 por Guitamukeka
» Firmaware tv philcó PH4t21dg
Qua 15 maio 2024, 23:58 por Maurício godoy
» fonte roteador STARLINK UTP-211C - Identificar diodos SMD NN FM
Qua 15 maio 2024, 20:52 por leandrovivo
» Mesa Ciclotrom Wattsom MXS12II
Qua 15 maio 2024, 16:29 por Eletronica Zukata
» Abrir minha eletrônica ou não, rsrs?!!
Ter 14 maio 2024, 13:20 por Paranista
» Minisystem cce md3280 não, N tem standby
Ter 14 maio 2024, 13:17 por Paranista
» Caixa amplificada amvox aca 221 gigante ll . Não carrega bateria
Ter 14 maio 2024, 09:17 por Pedro Espíndola Neto
» Minisystem cce md3280 não, N tem standby
Sáb 11 maio 2024, 21:13 por Rafael2
» CAIXA DE SOM SOUND BOX FX15 qual valor de R29 e R39..?
Sáb 11 maio 2024, 15:51 por ITA SOM
» Caixa de som multilaser sp359 não liga
Sex 10 maio 2024, 20:47 por Rafael2
» SOM AIWA Z-R997 TRAVADO - SÓ ACENDE PAINEL DE BOTÕES!
Qui 09 maio 2024, 14:12 por Paranista
» Tv semp TCL 32lL800 sem imagem Resolvido
Qua 08 maio 2024, 17:45 por nagkiller
» Esquema do cce md3280
Seg 06 maio 2024, 22:17 por Rafael2
» Microonda ELECTROLUX MEF33 sem funcionar porcoes liga e cancela Resolvido
Seg 06 maio 2024, 13:27 por everardes
» Esquema do cce md3280
Seg 06 maio 2024, 12:01 por francisco constantino
» Módulo taramps TA-3500D liga normal, porém sem áudio
Dom 05 maio 2024, 14:44 por Nill
» Duvida slot microSD
Dom 05 maio 2024, 07:52 por gamemaniaco
» Alguém teria o arquivo raiz do receptor Neonsat Tro HD e do receptor satmax 5?
Sáb 04 maio 2024, 07:28 por Claude
» CIRCUITO INTEGRADO USADO NO GRDIENTE PRO1200
Sex 03 maio 2024, 22:33 por Rafael2
» atualizaçao tv philips 42pfl3008d/78
Qui 02 maio 2024, 19:06 por tokiotecnica
» Tv philips 50pug6654, liga tem som,mas não tem imagem
Qui 02 maio 2024, 13:24 por Renaldo Domingos
» [Resolvido]DVD H Buster HBD-9540AV não liga
Qui 02 maio 2024, 08:52 por Rosélio
» Micro System LG Xboom cm9740 não sai som nas caixas de som
Ter 30 Abr 2024, 15:52 por sugeda
» CIs damplaca Tcon
Ter 30 Abr 2024, 12:01 por nagkiller
» Microondas Brastemp MOD- BHS 27A BHNA, visor indicando ERR 3
Seg 29 Abr 2024, 19:22 por tokiotecnica
» cliente que não busca os aparelhos consertados, o que fazer
Dom 28 Abr 2024, 13:49 por MARIO Y. SEGAWA
» Aqui no fórum vemos de tudo
Dom 28 Abr 2024, 13:22 por MARIO Y. SEGAWA