Ir ao conteúdo
  • Cadastre-se

Botao capacitivo (toush) para pic


cesarlg

Posts recomendados

@rodrigocirilo,

Opa, sem pressa !!!!! Só uma dica : existem outras maneira também, já vi usarem o comparador analógico, e também já ví "bombearem" a carga de um capacitor para outro, e ir acumulando essas cargas..... Enfim, sempre tem várias maneiras de se cortar um queijo.

Paulo

Link para o comentário
Compartilhar em outros sites

@rodrigocirilo e @aphawk

 

Tenho lido sobre esse assunto nas últimas semanas. Há Cis dedicados hoje em dia só para esse tipo de aplicação. E alguns novos uC também já estão saindo com pinos dedicados a isso.

 

Leio aqui: http://www.microchip.com/pagehandler/en-us/technology/mtouchbuttons/

 

Esses aí nunca vi por essas bandas de cá.

 

Tem esse produto: https://www.sparkfun.com/products/9695

 

Como usá-lo: https://learn.sparkfun.com/tutorials/mpr121-hookup-guide

Como usá-lo 2: http://bildr.org/2011/05/mpr121_arduino/

 

Bom, já dá para ter uma ideia. 

 

Há outras fabricantes com o mesmo intuito. Exemplos:

 

Texas com seu baratíssimo MSP430 LaunchPad Value Line Development kit ($9.99) frete free eu acho. Tem diversos shields que lá eles chamam de BoosterPacks e são baratos também. http://www.ti.com/ww/en/launchpad/launchpad.html?DCMP=mcu-launchpad&HQS=launchpad

 

Tem a ST. Não tive tempo de dar uma conferida nos Cis: http://www.st.com/web/en/catalog/sense_power/FM89/SC1717

 

Tem a Analog Devices. Parecem interessantes: http://www.analog.com/en/user-interface/capacitive-touch-controllers/products/index.html

 

E diversas outras.

 

Ahhh, uma coisa que ando notando é que os CIs ou uC mais novos e com novas funções legais não estão vindo mais no formato DIP. Só encapsulamento menores. Já estou vendo como contornar isso.

 

Falou

Link para o comentário
Compartilhar em outros sites

@MatheusLPS,

 

Muito legal essa solução da SPARKFUN, só achei um pouco caro, pois a Sparkfun ainda cobra caro o frete, e não está incluso não !!!. Por 30% do preço ( isso sem frete ! ) voce usar um Atmega328P como co-processador, deixar ele cuidar de 16 entradas dessas, e voce mesmo bolar o seu protocolo de conversa, seja I2C ou serial ou SPI, e tambem não vai ter o problema da tensão chatinha de 3,3V para alimentar o CI...... fora compatibilizar os niveis lógicos do I2C entre 5V e 3,3 V .

 

Vou ver se acho isso no Ebay ou pareçido para comparar o preço.

 

Quanto ao formato DIP.... está mesmo sumindo, tudo que é novo é SDIP, ou SOIC , eu fico muito chateado com isso pois complica soldar eles, fazer testes em protoboard. Eu comprei várias plaquinhas adaptadoras de SDIP e SOIC para DIP, tenho umas 20 de vários tamanhos aqui comigo, justamente para essas horas de se usar CIs nesses formatos menores.

 

ATUALIZAÇÃO - Nossa tem muita solução legal no Ebay, valores JÁ COM FRETE INCLUSO :

 

Soluções JÁ COM TECLADO

 

1 botão - US$ 1,62

 

http://www.ebay.com/itm/New-TTP223B-Digital-Touch-Sensor-Capacitive-Touch-Switch-Module-DIY-for-Arduino-/291095541618?pt=LH_DefaultDomain_0&hash=item43c6a57772

 

4 botões - US$ 4,49

 

http://www.ebay.com/itm/TTP224-4-way-Capacitive-Touch-switch-Digital-Touch-Sensor-Module-Arduino-/151129285210?pt=LH_DefaultDomain_0&hash=item233001e25a

 

8 botões - US$ 6,88

 

http://www.ebay.com/itm/1PCS-TTP226-8-Channel-Digital-Touch-Sensor-Module-Capacitive-Touch-Switch-/251398851192?pt=LH_DefaultDomain_0&hash=item3a888a0a78

 

16 botões - US$ 5,88

 

http://www.ebay.com/itm/TTP229-16-way-capacitive-touch-switch-digital-touch-sensor-module-/171246446644?pt=LH_DefaultDomain_0&hash=item27df156834

 

 

 

Soluções apenas Módulo

 

4 botões - US$ 5,85

 

http://www.ebay.com/itm/TTP224-4-channel-digital-touch-capacitive-touch-switch-sensor-module-/181254998255?pt=LH_DefaultDomain_0&hash=item2a33a3c8ef

 

12 botões - US$ 7,99 ( igual o da SPARKFUN )

 

http://www.ebay.com/itm/MPR121-Breakout-V12-Capacitive-Touch-Sensor-Controller-Module-I2C-/141213116484?pt=LH_DefaultDomain_0&hash=item20e0f52844

 

 

Paulo

Link para o comentário
Compartilhar em outros sites

@MatheusLPS eu já havia postado um link da microchip, onde meio que sem querer li no datasheet do 16F1823 que ele ja tem um modulo próprio para isso:  http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en544838  

 

  • Integrated Capacitive mTouch Sensing Module 

Mas não deram muita bola quando postei hehehe..

 

@aphawk, Paulo eu ja tinha visto esses  modulos prontos..mas..... são  para arduino né.. pra pic nada hehehe

 

sobre os metodos de fazer a coisa acontecer , no link que postei anteriormente a pessoa cita 3 maneiras de fazer, mas foi como eu disse em ASM não dá pra mim.. kkkkk

 

Vou "devorar" o exemplo do piano..

 

Att.

Link para o comentário
Compartilhar em outros sites

@rodrigocirilo,

 

Ué ... não existe isso de Módulo para Pic, ou Módulo para Arduino !!!!!!!!  Não importa qual o seu microcontrolador, o que voce tem de ver é COMO conversar com esses módulos ! Eu cansei de usar módulos desse tipo tanto com Pics como com Avrs, como com Arduíno. Tudo igual !

 

Por exemplo, a grande maioria usa protocolo I2C, então é só pegar o manual do módulo ou do chip, e ver o que enviar, e o que receber, só isso !

 

Isso de protocolo é sempre o mesmo lero-lero; seja serial, seja paralelo, seja I2C, seja SPI, seja RS232, seja RS485, seja qualquer porcaria nova que inventarem, é sempre a mesma coisa !

 

Procure a documentação do módulo, ou a do CI que está dentro do módulo. Veja como "conversar" com ele !  Quase todos precisam ser inicializados uma vez, e depois disso, a conversa é sempre a mesma coisa !

 

Não deixe isso te assustar, porque só PARECE DIFÍCIL. Por exemplo, eu sempre uso os mesmos 4 comandos para conversar com I2C, nunca muda !

 

Procure por exemplos disso, de preferência comentados.

 

Paulo

Link para o comentário
Compartilhar em outros sites

@aphawk@MatheusLPS,se toda vez que alguém pedir um código para um micro que contem o periférico e mesmo assim indicarem outro CI,vão ter que postar na seção de 'Eletrônica',e não em 'Programação de Microcontroladores' .LOLOLOL.

 

Aqui segue o código básico,que tem que ser ajustado para o PIC em questão e espero que tenha um Hardware para testar...

#include <16F1823.h>#fuses INTRC_IO, NOWDT#device adc=8#use delay(clock=4M)#use touchpad(scantime=32ms,threshold=6,PIN_A5='5')//#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, ERRORS)//=========================#int_TIMER0void  TIMER0_isr(void) {}//...........................................void main(void){char c;setup_oscillator(OSC_8MHZ|OSC_INTRC|OSC_PLL_OFF,0);setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2);enable_interrupts(INT_TIMER0);enable_interrupts(GLOBAL);touchpad_state(1);enable_interrupts(GLOBAL);while(1)  {   if(touchpad_hit())      c = touchpad_getc();   //   printf("%c ", c);  }}

Analise os detalhes para poder compreender melhor.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@rodrigocirilo

 

16F1823: http://produto.mercadolivre.com.br/MLB-536939863-pic-16f1823-pic16f1823-3-pecas-_JM

 

 

Preço bom.

 

EDIT:

 

Encontrei um email com data de 2012 informando os PICs compatíveis com essa biblioteca do CCS de touchpad:

 

PIC12F1822


PIC12LF1822
PIC12F1840
PIC16F707
PIC16F722
PIC16F722A
PIC16LF722A
PIC16LF723
PIC16F723
PIC16LF723A
PIC16F723A
PIC16F724
PIC16LF724
PIC16LF726
PIC16F726
PIC16F727
PIC16LF727
PIC16F1823
PIC16LF1823
PIC16LF1824
PIC16F1824
PIC16LF1825
PIC16F1825
PIC16LF1826
PIC16F1826
PIC16LF1827
PIC16F1827
PIC16F1828
PIC16LF1828
PIC16F1829
PIC16LF1829
PIC16F1847
PIC16F1933
PIC16LF1933
PIC16F1934
PIC16LF1934
PIC16LF1936
PIC16F1936
PIC16LF1937
PIC16F1937
PIC16LF1938
PIC16F1938
PIC16LF1939
PIC16F1939
PIC16LF1946
PIC16F1946
PIC16F1947
PIC16LF1947
PIC18F13K22
PIC18LF13K22
PIC18F14K22
PIC18LF14K22
PIC18F23K22
PIC18F24J11
PIC18LF24J11
PIC18F24K22
PIC18LF24J50
PIC18F24J50
PIC18LF25J11
PIC18F25J11
PIC18F25K22
PIC18F25J50
PIC18LF25J50
PIC18F25K80
PIC18F26J11
PIC18LF26J11
PIC18F26J13
PIC18LF26J13
PIC18F26K22
PIC18LF26J50
PIC18F26J50
PIC18F26J53
PIC18LF26J53
PIC18F26K80
PIC18LF27J13
PIC18F27J13
PIC18F27J53
PIC18LF27J53
PIC18F43K22
PIC18LF44J11
PIC18F44J11
PIC18F44K22
PIC18LF44J50
PIC18F44J50
PIC18LF45J11
PIC18F45J11
PIC18F45K22
PIC18LF45J50
PIC18F45J50
PIC18F45K80
PIC18F46J11
PIC18LF46J11
PIC18F46J13
PIC18LF46J13
PIC18F46K22
PIC18LF46J50
PIC18F46J50
PIC18F46J53
PIC18LF46J53
PIC18F46K80
PIC18LF47J13
PIC18F47J13
PIC18F47J53
PIC18LF47J53
PIC18F65K22
PIC18F65K80
PIC18F65K90
PIC18F66K22
PIC18F66K80
PIC18F66J90
PIC18F66K90
PIC18F66J93
PIC18F67K22
PIC18F67K90
PIC18F67J90
PIC18F67J93
PIC18F85K22
PIC18F85K90
PIC18F86K22
PIC18F86J72
PIC18F86K90
PIC18F86J90
PIC18F86J93
PIC18F87K22
PIC18F87J72
PIC18F87J90
PIC18F87K90
PIC18F87J93
PIC24F04KA200
PIC24F04KA201
PIC24F08KA101
PIC24F08KA102
PIC24F16KA101
PIC24F16KA102
PIC24F16KA301
PIC24FV16KA301
PIC24FV16KA302
PIC24F16KA302
PIC24FV16KA304
PIC24F16KA304
PIC24FJ16MC101
PIC24FJ16MC102
PIC24F32KA301
PIC24FV32KA301
PIC24F32KA302
PIC24FV32KA302
PIC24FV32KA304
PIC24F32KA304
PIC24FJ32GA102
PIC24FJ32GA104
PIC24FJ32GB002
PIC24FJ32GB004
PIC24FJ64GA102
PIC24FJ64GA104
PIC24FJ64GA106
PIC24FJ64GA108
PIC24FJ64GA110
PIC24FJ64GB002
PIC24FJ64GB004
PIC24FJ64GB106
PIC24FJ64GB108
PIC24FJ64GB110
PIC24FJ128DA106
PIC24FJ128DA110
PIC24FJ128DA206
PIC24FJ128DA210
PIC24FJ128GA106
PIC24FJ128GA108
PIC24FJ128GA110
PIC24FJ128GB106
PIC24FJ128GB108
PIC24FJ128GB110
PIC24FJ128GB206
PIC24FJ128GB210
PIC24FJ192GA106
PIC24FJ192GA108
PIC24FJ192GA110
PIC24FJ192GB106
PIC24FJ192GB108
PIC24FJ192GB110
PIC24FJ256DA106
PIC24FJ256DA110
PIC24FJ256DA206
PIC24FJ256DA210
PIC24FJ256GA106
PIC24FJ256GA108
PIC24FJ256GA110
PIC24FJ256GB106
PIC24FJ256GB108
PIC24FJ256GB206
PIC24FJ256GB210
PIC24FJ128GA306
PIC24FJ64GA306
PIC24FJ128GA308
PIC24FJ64GA308
PIC24FJ128GA310
PIC24FJ64GA310

 

 

Falou

Link para o comentário
Compartilhar em outros sites

@vtrx,

 

Aeee valeu pelo código, esse foi tiro certeiro ! 

 

 

E gostei do preço dele também... baratinho, poderia ser usado como um slave dedicado a isso .... vou dar uma olhadinha no datasheet dele prá ver quantps botões dá para ter com ele...

 

Eu tive uma ideia doida ontem, eu tenho um exemplo em Bascom de usar um Atmega328P para ter 8 botões. Mas ví que se usar os outros ports, e deixar dois pinos livres para comunicação, posso ter 19 ( talvez mais ainda ) botões !!! Posso fazer com ele um co-processador via I2C, pelo preço ficaria excelente a solução..... e ele poderia ser usado igual qualquer periférico I2C.... seria como fazer o meu próprio CI dedicado. estou estudando isso agora.

 

Paulo

Link para o comentário
Compartilhar em outros sites

Bom agora é arrumar tempo, pra testar na pratica né, pois simulando nao tem como....( ou tem)  to pensando na mesma coisa que o @aphawk pensou, usar ele como escravo lendo os botões ...

 

Edit:

 

E̶i̶t̶a̶p̶e̶s̶t̶e̶!! acabei de ver que no proteus tem sim o componentes que simula o touchpad...

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@rodrigocirilo

 

Fui no site da Microchip e busquei a pesquisa de todos os uC de 8bits:

 

http://www.microchip.com/ParamChartSearch/Chart.aspx?branchID=1012

 

Fiz o download da tabela e abri no excel. Selecionei para mostrar apenas os que tem pelo menos 12 pinos para touch. E considerei os que tem no formato DIP.

 

Veja a imagem:

 

mNTzWGK.png

 

Agora é procurar no mercado nacional.

 

Falou

Link para o comentário
Compartilhar em outros sites

@MatheusLPS, ainda não tive tempo de simular o codigo que nosso amigo postou, mas se você puder me tire uma duvida, ao usar os pinos como CPS, poderei usar outros como CAD? ou ele irá usar o conversor para tratar os botões??

 

Então é como você disse, é sempre bom consultar o datasheet... este que citei lá em cima.... achei por acaso, lendo o datasheet...

Link para o comentário
Compartilhar em outros sites

Não é porque nao estou participando da discussao que estou desinteressado pelo assunto, pelo contrario !! kkkk

Estou tentando alguns metodos , mas ainda nao cheguei a um ponto legal. ainda preciso encostar no metal p ter boa resposta.. bom... vou tentando implementar isso em pic sem ser aqueles com pinos dedicados a touch...é claro q com todos essa opções passadas pelos colegas, ja se torna bem melhor ter um mcu com essa opcao.... no mais se tiver algum sucesso , retornarei kkk enquanto vou acompanhando

Link para o comentário
Compartilhar em outros sites

@rodrigocirilo,

Eistem alguns modelos que tem um hardware muito parecido, e outros especializados nesta função. Mas a Atmel tem um library free prontinha chamada QTouch, que implementa o touch em qualquer modelo Avr. Mas não vejo muita necessidade disso, afinal existem várias maneiras para implementar o touch "na marra" .

Antes de voce se animar muito com isto, lembre-se : voce compra um display gráfico LCD já com Touchscreen por menos de US$ 6,00 e implementa os botões na própria tela.... Aliás, chegaram alguns modelos, recebí duas peças de dois modelos bem legais, logo vou brincar com eles também.

Paulo

Link para o comentário
Compartilhar em outros sites

@aphawk, nossa Paulo ai a coisa deve complicar mesmo heim.... não faço ideia de como manipular essas telas com touch incorporado.. Mas elas são resistivas ou capacitivas, pelo que sei a resistiva ainda tem dois contatos metalicos que o dedos irá uni-los conduzindo uma pequena corrente, seria isso??

 

Será que tem algum topico aqui no CDH que trata sobre essas telas para PIC???

Link para o comentário
Compartilhar em outros sites

 

 Mas elas são resistivas ou capacitivas,

A maioria das telas para embarcados são resistivas,que são muito barato mas em compensação devem se 'calibradas',

As capacitivas são usadas em Smart Phones,Tablets etc,são mais precisas e não precisam de calibração,mas são caras.

Para saber se o Touch é resistivo ou capacitivo é simples,se a tela responde ao toque usando um objeto,ela é resistiva,

 

 

pelo que sei a resistiva ainda tem dois contatos metalicos

Não usam contato metálico.

 

 

não faço ideia de como manipular essas telas com touch incorporado

Comunicação SPI,na grande maioria.

 

 

Será que tem algum topico aqui no CDH que trata sobre essas telas para PIC???

Estou tentando terminar um,inclusive um tutorial de como é arquivado uma imagem GIF,BMP para os menus junto com um programa que fiz e uso para capturar os bytes de imagen e ja converter para .C,.H ou BIN.

Segue o link da primeira experiencia;

http://forum.clubedohardware.com.br/forums/topic/1057156-glcd-320x240-touchscreen/

 

Vou ver se monto um Hardware para usar um PIC 18F,mas pode ser que não seja viável pois no vídeo é usado um ARM de 90MIPS,mas mesmo assim a teoria vai ser a mesma.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!