Pesquisar este blog

domingo, 25 de agosto de 2013

Projeto Hexaswitch Handmades

Para inaugurar meu blog sobre projetos de áudio, microcontroladores e eletrônica em geral, escolhi esse chaveador de pedais de efeitos que foi desenvolvido a pedido e com a ajuda do pessoal do Fórum Handmades, do qual eu contribuí com a programação do firmware para o PIC 16F877(A) que iria controlar as chaves que iriam ativar ou desativar os pedais, bem como o layout da placa de controle.

A ideia inicial partiu de algumas unidades comerciais que faziam uso de dip switches para programar os presets (grupos de pedais) e era meio limitado em termos de número de presets e sem bancos de presets para aumentar as possibilidades de combinações dos pedais. Assim a melhor opção era usar um microcontrolador para poder controlar e armazenar os presets em memória não volátil (EEPROM). Desenhei então um esquema elétrico para servir de base para o projeto e o desenho final ficou assim:



Opcionalmente pode ser usado para o oscilador um cristal de 4MHz e os capacitores de 22pF auxiliares. Também pode ser usado tanto o 16F877 como  o 16F877A. Depois de várias versões de firmware sendo testados, chegou-se a seguinte versão:

:10000000712883178001840AFF3E031D02286C2893
:10001000031783168C010C1483120C0803178D0A26
:100020006C28030103178C0083168C010C155530C6
:100030008D00AA308D008C148C181C280C11831292
:100040008D0A6C28A301A200FF30A207031CA3079E
:10005000031C6C280330A100DF3030202428A101CC
:10006000E83EA000A109FC30031C3928A0070318B2
:100070003628A0076400A10F362820183F28A01CAE
:100080004328000043280800A2000530A8002308E8
:100090002102031D4D2822082002043003180130DC
:1000A000031902302805031DFF306C281030A8000A
:1000B000A101A001A70CA60C031C64282208A0071C
:1000C00023080318230FA107A10CA00CA50CA40C56
:1000D000A80B5A2824086C28831303138312640086
:1000E00008008316FF3085008601C0308700880134
:1000F0000330890006309F00203084006030831276
:100100008A010220A030840050308A010220103081
:10011000840060308A0101209030840060308A01C0
:1001200001208801C030870086010911BC01031736
:10013000FF308D0003138A010820B8000317FE303A
:100140008D0003138A010820B90064000508003CF3
:100150008A110A12031DAE28B801B901E830A000C7
:100160000330A1003908A30038088A0144208A110D
:100170000A12031DBD288A01A528B80A0319B90A65
:100180000317FF308D00031338088A01122003176C
:10019000FE308D00031339088A01122064008A1191
:1001A0000A128918DB280130A3002C308A01232091
:1001B0008A110A1208223C080F3C8A110A12031CF9
:1001C000FF288A110A12E82086008A110A12FF28E5
:1001D00000308A003C08EF3E03188A0A8200773418
:1001E0007C3439345E34793471346F347434063489
:1001F0001E34383454345C347334673450346400FF
:100200008A110A120918132964008A110A1209199D
:100210000D2909158A110A120E2909110130A300AE
:100220005E308A01232064008A110A12851A272968
:10023000FA308A012220BC0364003C08FF3C8A118A
:100240000A12031D2429BC018A110A12E521640047
:100250008A110A12071B3C29FA308A012220BC0AA3
:1002600064003C08103C8A110A12031D39290F3022
:10027000BC008A110A12E52164008A110A12051ACB
:100280004829FA308A012220BE018A110A12E5218A
:1002900064008A110A1285195529FA308A01222030
:1002A0000130BE008A110A12E52164008A110A1287
:1002B00005196229FA308A0122200230BE008A1113
:1002C0000A12E52164008A110A1285186F29FA3092
:1002D0008A0122200330BE008A110A12E52164003F
:1002E0008A110A1205187C29FA308A01222004306A
:1002F000BE008A110A12E52164008A110A12871BC6
:100300008929FA308A0122200530BE008A110A129A
:10031000E52164003E08003C8A110A12031D92295F
:100320000130870064003E08013C8A110A12031D57
:100330009B290230870064003E08023C8A110A12A1
:10034000031DA4290430870064003E08033C8A1181
:100350000A12031DAD290830870064003E08043CE2
:100360008A110A12031DB6291030870064003E0866
:10037000053C8A110A12031DBF29203087003C0862
:100380000F3C8A110A12031CE3298A110A12CC219C
:1003900086008A110A12E32901308A003C08D33E04
:1003A00003188A0A820077347C3439345E34793415
:1003B00071346F34743406341E34383454345C343D
:1003C0007334673450348A01CE283C08A600A70154
:1003D0001030A200A3018A015620BA002508BB00F4
:1003E0003A083E07BD003D0803178D0003138A013C
:1003F0000820BF0064003C08003C8A110A12031D5B
:10040000022ABF013F08880032308A0122200800FA
:1004100086173C080F3C8A110A12031C2D2A8A11E8
:100420000A12162286008A110A122D2A02308A0028
:100430003C081D3E03188A0A8200F734FC34B934A4
:10044000DE34F934F134EF34F43486349E34B83485
:10045000D434DC34F334E734D03464008A110A1223
:10046000051A432AFA308A01222064008A110A12EE
:100470003F1C3E2A3F108A110A123F2A3F143F18A0
:1004800008143F1C081064008A110A128519592AA1
:10049000FA308A01222064008A110A12BF1C542AF1
:1004A000BF108A110A12552ABF14BF188814BF1C26
:1004B000881064008A110A1205196F2AFA308A011D
:1004C000222064008A110A123F1D6A2A3F118A11F4
:1004D0000A126B2A3F153F1908153F1D08116400C9
:1004E0008A110A128518852AFA308A0122206400AE
:1004F0008A110A12BF1D802ABF118A110A12812A8D
:10050000BF15BF198815BF1D881164008A110A1212
:1005100005189B2AFA308A01222064008A110A12E7
:100520003F1E962A3F128A110A12972A3F163F1A37
:1005300008163F1E081264008A110A12871BB12A8E
:10054000FA308A01222064008A110A12BF1EAC2AE6
:10055000BF128A110A12AD2ABF16BF1A8816BF1E13
:10056000881264008A110A12851AC72AFA308A0191
:10057000222064008A110A123F1FC22A3F138A11E7
:100580000A12C32A3F173F1B08173F1F08136400B6
:100590008A110A12071BDD2AFA308A012220640020
:1005A0008A110A12BF1FD82ABF138A110A12D92A28
:1005B000BF17BF1B8817BF1F88133F088800640040
:1005C0008A110A128918162B0130A3005E308A01A5
:1005D00023203D0803178D0003133F088A011220D2
:1005E00086133C080F3C8A110A12031C152B8A1132
:1005F0000A12FE2286008A110A12152B03308A0085
:100600003C08053E03188A0A820077347C3439346A
:100610005E34793471346F34743406341E343834B3
:1006200054345C3473346734503408008A012D2A02
:0606300063008A01182B93
:02400E00313F40
:00000001FF

Essa sequência de códigos hexadecimais deve ser o texto de um arquivo com extensão .HEX para poder ser gravado num PIC 16F877(A). Eu utilizo um PICKIT2 da Microchip o que é um gravador bem prático e rápido, que trabalha pela porta USB, não necessitando de fonte de alimentação externa. Ele permite também que rapidamente sejam zeradas todas as posições da memória EEPROM, para evitar que inicialmente todos os presets iniciem com os loops de pedais todos acionados.

Em seguida consegui desenhar também um layout para a placa de controle:

Pra resumir, a operação é a seguinte:
- O chaveador pode armazenar até 90 presets de loops, organizados em 15 bancos de 6 presets cada. Cada preset pode fazer a combinação de até 8 loops ativados ou desativados. 
- Os bancos são nomeados por letras: A, b, C, d, E, F, g, H, I, J, L, n, o, p, q, r.   Sendo que o banco A apresenta todos os loops desativados para simular o bypass. Qualquer preset nesse banco terá os loops desativados.
- Os demais bancos podem ter seus presets programados e as combinações de loops armazenadas na memória EEPROM do PIC, de forma que mesmo desligado, o chaveador guarda todas as programações.
- Para selecionar um banco, usa-se os footswitches (chaves de contato momentâneo)  UP e DOWN. Os banco são mudados sequencialmente.  Em cada banco há 6 opções de presets (footswitches de 1 a 6). Ao escolher um banco, a letra é mostrada no display de leds de 7 segmentos. O preset selecionado é apontado por um led perto do footswitch correspondente. E os loops ativados são apontados por leds perto dos conectores jacks dos loops (in e out).
- Para programar um preset (8 loops ligados ou desligados), deve-se escolher o banco e preset a ser programado, apertar em seguida o botão PROG, vai acender o ponto decimal do display de 7 segmentos. A partir daí se liga ou desliga apertando os footswitches de 1 a 6 (loops 1 a 6) mais os de UP e DOWN (loops 7 e 8). Os leds acendem ou apagam a cada pressão nos footswitches. Estando a combinação de loops ok, basta apertar novamente o botão PROG, que a combinação será gravada e salva na memória do PIC.
- Para um acesso rápido ao modo Bypass, pode-se apertar o botão RESET, que imediatamente o chaveador vai para o banco A.


10 comentários:

Wesley Rodrigo disse...

boa noite!!! tenho interesse neste projeto.
sera que o vc ou o nevio tem ele
no formato para proteus?

Xformer disse...

Posso te enviar o layout e passar o contato do Nevio. Me contate por email diretamente.

Anime Cartoons disse...

OU ACHEI MASSA DEMAIS , AGORA VOU TENTAR MONTAR , EU PRECISO DE UM LOOP MAIS ACHO QUE ESSE ESQUEMA NAO IRA SAIR TAO CARO ENTAO VOU TENTAR FAZER AOS POUCOS, E PARABENS PELO BLOG

Wagner Davi disse...

acha que poderia me vender o projeto pronto, só pra colocar na carcaça ?

Xformer disse...

Oi Wagner. O máximo que eu posso te fornecer é o PIC gravado para você montar o looper. Veja com o Nevio (neviolotufo@gmail.com) se ele vende tudo pra você. Abraço.

Wagner Davi disse...

X VE INTAO ISSO PRA MIM , EU ATÉ TENHO GRAVADOR MAS NAO SEI MANUZIAR AINDA , SE JA ESTIVER GRAVADO NO PIC EU SÓ MONTO O RESTANTE COM BASE NESSE SIT , EU QRO UM LOOP MAS 340,00 REIS PRA MAIS UM PEDAL TA OSSO , PODE MANDAR UM EMAIL- COM BOLETO OU CONTA PRA wagner-davi@live.com

Jhonathan Ranniere disse...

Olá Xformer, me diga quanto fica pra me mandar uns 5 pics + o layout?

se puder responder nesse email:

joey_st.jimmy@hotmail.com

made mayorca disse...

como faço pra gerar o arquivo .hex com este codigo?

Xformer disse...

Copie o texto dos códigos hexadecimais da postagem para um página em branco de um editor de texto (ex. notepad) e grave o arquivo com uma extensão .HEX (ex. hexaswi.hex). Com esse arquivo gravado você pode ler com um programa de gravador de PIC e fazer a gravação nele.

Bruno Benitez disse...

Ola meus amigos deste mundo maravilhoso, trabalho com reparos de pedais aqui em Campo Grande - MS, nao tenho um programador mas se vc pudesse me enviar eu poderia montar um para mim, quanto me sairia amigo? bgbruno03@hotmail.com www.instagram.com/brunobenitezreparos
desde ja obrigado