Handmades</center>
 
*
Bem-vindo, Visitante. Por favor faça o Login ou Registro. 23 de Novembro de 2024, as 04:26:49


Login com nome de usuário, senha e duração da sessão


Páginas: [1]   Ir para o Fundo
  Imprimir  
Autor Tópico: Chaveador de patch com Display para FV-1  (Lida 20733 vezes)
hgamal
Hand MasterMind
*****
Offline Offline

Sexo: Masculino
Mensagens: 3.985

Obrigado
-Dado: 22
-Recebido: 509



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

Para o circuito:



Com o seguinte layout:





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.
Registrado

Deus salva... e o Rock alivia! Ainda está em tempo do Rock 'n' Roll te salvar
visioncb
Hand MasterMind
*****
Offline Offline

Mensagens: 2.354

Obrigado
-Dado: 30
-Recebido: 39



« Responder #1 : 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!
Registrado
Efedez
Visitante
« Responder #2 : 15 de Outubro de 2009, as 14:19:23 »

Alguém já testou a programação?
Que gravador usou?
Abraço.
Registrado
hgamal
Hand MasterMind
*****
Offline Offline

Sexo: Masculino
Mensagens: 3.985

Obrigado
-Dado: 22
-Recebido: 509



« Responder #3 : 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:


Para compilar e desenvolver eu uso o piklab:

Registrado

Deus salva... e o Rock alivia! Ainda está em tempo do Rock 'n' Roll te salvar
hgamal
Hand MasterMind
*****
Offline Offline

Sexo: Masculino
Mensagens: 3.985

Obrigado
-Dado: 22
-Recebido: 509



« Responder #4 : 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.
Registrado

Deus salva... e o Rock alivia! Ainda está em tempo do Rock 'n' Roll te salvar
visioncb
Hand MasterMind
*****
Offline Offline

Mensagens: 2.354

Obrigado
-Dado: 30
-Recebido: 39



« Responder #5 : 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
Registrado
visioncb
Hand MasterMind
*****
Offline Offline

Mensagens: 2.354

Obrigado
-Dado: 30
-Recebido: 39



« Responder #6 : 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!
Registrado
visioncb
Hand MasterMind
*****
Offline Offline

Mensagens: 2.354

Obrigado
-Dado: 30
-Recebido: 39



« Responder #7 : 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
Registrado
M.F
Visitante
« Responder #8 : 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.
Registrado
Marcel.
Visitante
« Responder #9 : 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... Tongue 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
Registrado
Páginas: [1]   Ir para o Topo
  Imprimir  
 
Ir para:  


Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines

XHTML 1.0 Válido! CSS Válido! Dilber MC Theme by HarzeM
Página criada em 0.038 segundos com 23 procedimentos.
SimplePortal 2.3.3 © 2008-2010, SimplePortal