Fórum Eletrônica2002 (Brasil)
Seja bem vindo ao fórum Eletrônica2002.

Para ter acesso a todo o conteúdo do fórum você precisa estar cadastrado e fazer o login!

Se não é cadastrado no fórum: aproveite e faça.

Para criar um tópico, você precisa se cadastrar e estar conectado.
Ao criar um tópico, vc deve colocar a marca/modelo/e defeito do aparelho no título do tópico. Isto é regra neste fórum!
http://eletronica2002.forumeiros.com/forum-de-reparacao-de-aparelhos-eletronicos-f1/regras-do-forum-t19731.htm

Falar com o administrador?
Mande um e-mail: valdeni@eletronica2002.com.br
.
Menu de navegação


Clique nas imagens abaixo para acessar os fóruns desejados.

Fóruns:





---------------------------

PARCEIROS

E PATROCINADORES

DO FÓRUM 2002:

================

Clique nos banners:




================

Quer ser um patrocinador do fórum?

Mande um e-mail para:

Valdeni@eletronica2002.com.br


_________________
Últimos assuntos
» TV CCE HPS 2171 FS - NÃO LIGA
Hoje à(s) 17:07 por MARIO Y. SEGAWA

» Mini system LG cm4320 não liga
Hoje à(s) 16:58 por tec.josé ferreira

» Dvd automotivo PIONNER-avh 1480-Apenas emitindo bips.
Hoje à(s) 16:54 por ednardolinhares

» RECEPTOR PARABÓLICA TELSAT TS 2000
Hoje à(s) 16:07 por Nill

» mini system sony gtr888 liga e entra em protect
Hoje à(s) 11:24 por tomate

» TV LG RP29CC26 imagem escura screen no maximo
Hoje à(s) 09:43 por NiemeyerD

» RECEPTOR ELSYS 2.0 NÃO LIGA
Hoje à(s) 09:21 por joaquimrosadesouza

» Receptor Elsys ETRS29 Não Liga
Hoje à(s) 09:16 por joaquimrosadesouza

» TV Semp 2070E, cor azul predominando!
Hoje à(s) 09:01 por MARIO Y. SEGAWA

» Multimetro SANWA N-501 Voltagem das pilhas (?)
Ontem à(s) 17:57 por tielson

»  MICROFONE SEM FIO KARSECT kru-302 UHF com prolema no AF
Ontem à(s) 17:43 por jondas gonçalves

» Reativar tudo de imagem preciso ajuda
Ontem à(s) 17:05 por NiemeyerD

» TV philips 32PFL4007D o controle funciona por alguns segundo e trava
Ontem à(s) 14:29 por aramosp

» playstation 2 scph79001 nao le apos t-roca desbloqueador
Ontem à(s) 14:26 por Nill

»  Receptor Century supercolor JL3 aquece muito e some os canais
Ontem à(s) 09:08 por Nill

» HT htb5570d
Ontem à(s) 08:24 por Nill

»  MicroOndas Electrolux MTD 30 que as teclas inico e cancela nao funcionam..
Qui 14 Dez 2017, 23:46 por edson martins

» APARELHO SONY HCD GTX888 ACENDE O STANDBY NAO LIGA
Qui 14 Dez 2017, 14:42 por andonizete

» Tv gradiente 2925 nao liga
Qui 14 Dez 2017, 12:52 por Paranista

» home philips hts3365x/78
Qui 14 Dez 2017, 11:33 por nicolau.monteiro

» Mini system Sony hcd ex8br dando protect(proteção)
Qui 14 Dez 2017, 01:26 por tec.josé ferreira

» Som Philips FWM-663-55 Não liga
Qua 13 Dez 2017, 18:15 por alros

» tv sony 29 modelo KV-29FS140 com imagem avermelhada opaca
Qua 13 Dez 2017, 12:07 por Naldo Oliveira

» tv lg 50pa4500 não liga
Qua 13 Dez 2017, 12:01 por Naldo Oliveira

» Som sony MHC-EC55 desarmando quando aumenta o volume
Qua 13 Dez 2017, 11:56 por Naldo Oliveira

» tv cineral tc 1470 em standbay
Qua 13 Dez 2017, 11:54 por Naldo Oliveira

» Tv Samsung cl29a551gq nao liga
Qua 13 Dez 2017, 11:43 por Naldo Oliveira

» tv samsung cl-21z30mq não funciona
Qua 13 Dez 2017, 09:58 por Paranista

» modulo soundigital sd250.2d estourando capacitores de 470n/100v
Ter 12 Dez 2017, 21:40 por Elizeu Ramos

» Micro ondas Brastemp Jet Defrost 27 litros Erro 3
Ter 12 Dez 2017, 12:53 por Paranista

Quem está conectado
247 usuários online :: 7 usuários cadastrados, Nenhum Invisível e 240 Visitantes :: 2 Motores de busca

eletrônica São Jerônimo, Marcelo Minas, MARIO Y. SEGAWA, nostalgico, rafaquino91, souza.nel, tec.josé ferreira

O recorde de usuários online foi de 1034 em Sex 24 Jul 2015, 10:41

Programação pic16/pic18

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Programação pic16/pic18

Mensagem por isaacantonio3 em Sab 21 Jun 2014, 16:29

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
avatar
isaacantonio3
NOVATO
NOVATO

DESCRIÇÃO: : Técnico em informática
TEMPO DE EXPERIÊNCIA : 10
Sexo : Masculino
Número de Mensagens : 2
Idade : 22
Cidade/Estado: : São Gonçalo/Rj
Data de inscrição : 21/06/2014

Voltar ao Topo Ir em baixo

Re: Programação pic16/pic18

Mensagem por nagkiller em Dom 29 Jun 2014, 11:51

Dê uma olhada nesses tópicos!!!

[Você precisa estar registrado e conectado para ver este link.]
[Você precisa estar registrado e conectado para ver este link.]
[Você precisa estar registrado e conectado para ver este link.]


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 !!!
[Você precisa estar registrado e conectado para ver este link.]

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();        
      }  
   }
}
//*****************************************************************************

[Você precisa estar registrado e conectado para ver esta imagem.]

_________________
No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
avatar
nagkiller
Moderador do fórum
Moderador do fórum

DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo : Masculino
Número de Mensagens : 1683
Idade : 37
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011

Voltar ao Topo Ir em baixo

Re: Programação pic16/pic18

Mensagem por isaacantonio3 em Dom 29 Jun 2014, 22:05

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 ?
avatar
isaacantonio3
NOVATO
NOVATO

DESCRIÇÃO: : Técnico em informática
TEMPO DE EXPERIÊNCIA : 10
Sexo : Masculino
Número de Mensagens : 2
Idade : 22
Cidade/Estado: : São Gonçalo/Rj
Data de inscrição : 21/06/2014

Voltar ao Topo Ir em baixo

Re: Programação pic16/pic18

Mensagem por nagkiller em Seg 30 Jun 2014, 12:08

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: [Você precisa estar registrado e conectado para ver este link.]

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):

[Você precisa estar registrado e conectado para ver este link.]

[Você precisa estar registrado e conectado para ver este link.]

[Você precisa estar registrado e conectado para ver este link.]

[Você precisa estar registrado e conectado para ver este link.]

Flw...

_________________
No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
avatar
nagkiller
Moderador do fórum
Moderador do fórum

DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo : Masculino
Número de Mensagens : 1683
Idade : 37
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011

Voltar ao Topo Ir em baixo

Re: Programação pic16/pic18

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum