Últimos assuntos
Quem está conectado?
Há 488 usuários online :: 3 registrados, 0 invisíveis e 485 visitantes :: 3 motores de busca#finofliperama, adamoa1, sandrotv
O recorde de usuários online foi de 1034 em Sex Jul 24, 2015 9:41 am
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 : 2997
Idade : 44
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 : 2997
Idade : 44
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) 2:02 pm por SEBCICM
» PS2 Slim 90k testar entradas do memory card
Hoje à(s) 9:51 am por gamemaniaco
» Procuro a placa lateral do sistema de som Sony MHC-GTX88 e Ci BD3451KS
Hoje à(s) 8:16 am por Silas Silva Nogueira
» Caixa de Som Amplificada CSR 4000A Som Distorcido e Pouca Potência!!!
Hoje à(s) 6:18 am por jailton da silva santos
» Tv lcd,marca Aoc, modelo- LE 39D0330 -defeito,só liga depois de um tempo(quando aquece)
Hoje à(s) 6:06 am por jailton da silva santos
» fonte taramps tef 60 amperes ci estourado
Ontem à(s) 5:27 pm por antonio carlos bitti
» [Resolvido] TV PLASMA SAMSUNG PL51F4900AG Não liga , led stand by piscando ( RESOLVIDO )
Ontem à(s) 11:28 am por Paranista
» TV LG MODELO 42LB5600 ACENDE O LED MAS NÃO LIGA
Qua Nov 20, 2024 4:27 pm por Tales g
» TV STI DL3270 A W , sem audio
Qua Nov 20, 2024 1:02 pm por valdircp
» Compro placa principal da LG 42lh45ed ou 42lh40ed
Seg Nov 18, 2024 9:22 am por Paulo Costa II
» Som Philips fw c 505 Ajuda entender o esquema
Sáb Nov 16, 2024 8:03 am por nagkiller
» (Resolvido) AIWA NSXF959 SEM SOM MÉDIOS AGUDOS
Sex Nov 15, 2024 10:31 pm por ZACREAL
» como descartar TRC
Sex Nov 15, 2024 6:32 am por jailton da silva santos
» cliente que não busca os aparelhos consertados, o que fazer
Qui Nov 14, 2024 10:59 pm por MARIO Y. SEGAWA
» compro placa pricipal tv lg 50pb560
Qua Nov 13, 2024 9:11 am por Eletronica Manoel
» Modulo Taramps t800.1 com os resistores r32 e r5 torrados
Seg Nov 11, 2024 8:41 am por prisma eletronica
» Akai AA-A35 Seletor de Tensão
Seg Nov 11, 2024 6:34 am por city2010
» [RESOLVIDO] TV LCD UN50FH5303G Componentes danificados
Dom Nov 10, 2024 10:54 pm por nagkiller
» TV PANASONIC TC- 32A400B Imagem travando
Dom Nov 10, 2024 2:01 pm por ramon figueiredo
» ATENÇÃO de todos os usuários da 2002! (Nova regra).
Dom Nov 10, 2024 10:00 am por robsonseixas
» Microondas MEF-41 Eletrolux, não acende luz da porta quando abre, e quando fecha não liga
Sex Nov 08, 2024 8:30 pm por joaquimrosadesouza
» Caixa som Ciclotron mult 500 Preciso do esquema
Sex Nov 08, 2024 7:34 pm por prisma eletronica
» Pessoal tenho placa barato.
Sex Nov 08, 2024 6:47 pm por francisco carlos de jesus
» PLACA PWM dos Módulos Roadstar RS-10000D Earthkaque e RS-6800D Agressive SPL
Sex Nov 08, 2024 5:23 pm por NITRO
» Projetor LG BS 275 Liga e logo da mensagem de cooler bloqueado
Sex Nov 08, 2024 11:05 am por Paranista
» Cd Player Carrossel Sony - Não fecha a gaveta nem gira o carrossel
Qui Nov 07, 2024 12:15 pm por Denisson Ventura
» OU O FÓRUM ACABOU OU NINGUÉM PARTICIPA DO FÓRUM MAIS.
Qui Nov 07, 2024 10:09 am por Paranista
» TV PHILCO TP1452N TELA ESCURA
Qua Nov 06, 2024 3:36 pm por jailton da silva santos
» TV LED LE3256(A)w dados da flash Resolvido
Qua Nov 06, 2024 10:12 am por everardes
» Procuro esquema elétrico da fonte TV lg 42lb5800 EAX65423701(2.1)
Seg Nov 04, 2024 10:22 am por joaquimrosadesouza