Handmades

Fórum Geral => Microchip PIC => Tópico iniciado por: hgamal em 10 de Outubro de 2009, as 00:15:35



Título: Chaveador de patch com Display para FV-1
Enviado por: hgamal em 10 de Outubro de 2009, as 00:15:35
Seguindo o tópico de mesmo nome no antigo forum:

http://www.handmades.com.br/index.php?option=com_joomlaboard&Itemid=26&func=view&id=74903&catid=32 (http://www.handmades.com.br/index.php?option=com_joomlaboard&Itemid=26&func=view&id=74903&catid=32)

Para o circuito:

(http://www.handmades.com.br/components/com_joomlaboard/uploaded/images/RT2_SCH.png)

Com o seguinte layout:

(http://www.handmades.com.br/components/com_joomlaboard/uploaded/images/RT2_COMP.png)

(http://www.handmades.com.br/components/com_joomlaboard/uploaded/images/RT2_CIRC.png)

A pedido do vision portei o código original para C, como abaixo:

Código:
#include <pic12f629.h>

#define CONFIG_WORD _CP_OFF & _MCLRE_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT

unsigned int at 0x2007  __CONFIG = CONFIG_WORD;

void initialize()
{
_asm
call 3ffh
movwf OSCCAL
_endasm;

CMCON = 0x7;
TRISIO = 0x18;
}

void sleep(int tim)
{
unsigned int i;
unsigned int j;
for (i=0; i<tim; i++)
for (j=0; j<0xff; j++)
;
}

readee(unsigned char ptr)
{
EEADR = ptr;
RD = 1;
return EEDATA;
}

void writeee(unsigned char ptr, unsigned char value)
{
// Set value and address
EEDATA = value;
EEADR = ptr;

// EEPROM MOJO
_asm
bsf EECON1_ADDR, 2 ; Enable write: WREN = 2
bcf INTCON_ADDR, 7 ; Disable INTs: GIE = 7
movlw 0x55
movwf EECON2_ADDR
movlw 0xaa
movwf EECON2_ADDR
bsf EECON1_ADDR, 1 ; Start the write: WR = 1
bcf EECON1_ADDR, 2 ; Disable write:   WREN = 2
bsf INTCON_ADDR, 7 ; Enable INTS:     GIE = 7
_endasm;

}

#define MAXKEYBOUNCE 64
#define CURRPROG 0

unsigned char upcount;
unsigned char dncount;
unsigned char currprog;

void output()
{
GPIO = (currprog & 0x7) | ((currprog & 0x8) << 2);
writeee(0, currprog);
}

main()
{
initialize();

currprog = readee(0);
upcount = 0;
dncount = 0;

output();

while (1) {
if (!GP4) {
if (upcount > MAXKEYBOUNCE)
continue;

upcount++;
if (upcount > MAXKEYBOUNCE) {
++currprog;
output();
}
continue;
}

upcount = 0;

if (!GP3) {
if (dncount > MAXKEYBOUNCE)
continue;

dncount++;
if (dncount > MAXKEYBOUNCE) {
--currprog;
output();
}
continue;
}

dncount = 0;
}
}

O Programa acima foi compilado usando piklab e sdcc no linux. Por este motivo tive que elaborar as rotinas de acesso a EEPROM.


Título: Re: Chaveador de patch com Display para FV-1
Enviado por: visioncb em 10 de Outubro de 2009, as 00:53:57
muito bacana hgamal! o topico está completo agora para a posterioridade! só espero que isso comece a animar e motivar o pessoal a entrar nessa área magnifica de microcontroladores..

voce ta com algum problema ai no seu codigo? ou voce ja resolveu o debouncing?

ficaria bem feliz em ajudar e aprender!


Título: Re: Chaveador de patch com Display para FV-1
Enviado por: Efedez em 15 de Outubro de 2009, as 14:19:23
Alguém já testou a programação?
Que gravador usou?
Abraço.


Título: Re: Chaveador de patch com Display para FV-1
Enviado por: hgamal em 15 de Outubro de 2009, as 19:17:03
Alguém já testou a programação?
Que gravador usou?
Abraço.

EU!

A propósito, todos os projetos que eu apresento aqui, a menos os que eu formalmente observe, são testados antes.

O programador que eu uso é este:

  • http://feng3.cool.ne.jp/en/pg5v2.html (http://feng3.cool.ne.jp/en/pg5v2.html)

Para compilar e desenvolver eu uso o piklab:

  • http://piklab.sourceforge.net/ (http://piklab.sourceforge.net/)
  • http://sdcc.sourceforge.net/ (http://sdcc.sourceforge.net/)
  • http://gputils.sourceforge.net/ (http://gputils.sourceforge.net/)


Título: Re: Chaveador de patch com Display para FV-1
Enviado por: hgamal em 15 de Outubro de 2009, as 19:19:01
muito bacana hgamal! o topico está completo agora para a posterioridade! só espero que isso comece a animar e motivar o pessoal a entrar nessa área magnifica de microcontroladores..

voce ta com algum problema ai no seu codigo? ou voce ja resolveu o debouncing?

ficaria bem feliz em ajudar e aprender!

O Debouncing melhorou muito, observe a técnica de "contar" as ocorrências do acionamento da chave. Eu conto "MAXKEYBOUNCE" (64) vezes se a chave foi acionada. Somente depois deste número de vezes eu aciono o evento de incremento/decremento do programa.


Título: Re: Chaveador de patch com Display para FV-1
Enviado por: visioncb em 15 de Outubro de 2009, as 19:58:29
huuuuuummm muito interessante!

semana q vem ta chegando uma plaquinha de testes/desenvolvimento e vou testar meu projeto


Título: Re: Chaveador de patch com Display para FV-1
Enviado por: visioncb em 24 de Outubro de 2009, as 00:10:27
Pessoal.. estou realmente motivado nesse projetinho..

Minha placa de desenvolvimento da Multipic chegou.. gravei o pic.. testei o projeto nele.. funcionou que é uma beleza...
to até pensando em dar um jeito de embelezar ele podendo mudar a ordem dos patchs 8 ou 9 dos 15 efeitos do fv-1

Logo mais faço um vídeo e posto pra v c s (moderador, peço que me suspenda do fórum)...


To pensando em voltar ao projeto ASMOP da geofex.. programar a matriz controladora de pedais, que grava patchs e altera a ordem q vc quiser...

Alguém sabe dizer se o CD4051 tem boa qualidade pra chavear audio? Já me disseram que não.. porém... vi muitos projetos na internet que usa um desses e ningúem nunca reclamou, seria falta de opção? Alguém conhece algum melhor?

Se alguém aí interessado quiser ajudar a projetar.. é só se manifestar!


Título: Re: Chaveador de patch com Display para FV-1
Enviado por: visioncb em 26 de Fevereiro de 2010, as 13:02:14
Meu chip do fv-1 finalmente chegou... já estou com a idéia madura e certo de que irá funcionar e... apesar de que é um pouco inviável... é muito interessante para ser meu primeiro projeto com pic a sair da prancheta...

só falta conseguir o regulador 3.3v e uma eeprom, mas ja dá pra testar...

depois posto fotos e vídeos


Título: Re: Chaveador de patch com Display para FV-1
Enviado por: M.F em 12 de Março de 2010, as 12:54:02
como eh que eu faço pra sair de analogico pra digital. em breve farei um progamador pra mim, que estou querendo fazer um velocimetro e um contagiros pra minha bike!
abraços.


Título: Re: Chaveador de patch com Display para FV-1
Enviado por: Marcel. em 12 de Abril de 2010, as 00:46:30
Hey, vision!
Já que você vai montar o FV-1, bem que poderia fazer um tutorialzinho do seu passo-a-passo, nera?
Sem querer pedir demais, mas já pedindo... :P hehe

Sou muito afim de fazer esse pedal (tenho até a plaquinha pronta aqui), mas não entendo BULHUFAS de microcontroladores, pic etc... Sei nem pra onde vai!

Nunca vi em lugar algum um tuto desse pedal, ensinando como fazer pra programar os patches, como passar o código para o ci do fv-1 etc... Isso é, seria um tutorial de como fazer exatamente pra programar o pedal, sem ter que explicar o pra que de cada coisa...

Até porque.... se v c s (moderador, peço que me suspenda do fórum) forem ver, muita gente faz bons pedais sem entender além do básico em eletrônica.

Claro... não tou dizendo que o tuto seria pequeno, fácil de fazer, nem nada... mas é só uma sugestão pra caso alguém tenha disponibilidade... E um tuto em porguês facilitaria muito a vida da galera.

v l w (moderador, peço que me suspenda do fórum)
abraço


SimplePortal 2.3.3 © 2008-2010, SimplePortal