[MSP430]/MSP430-S2013. 10. 27. 23:00

MSP430G2433 Capacitive-touch I/O 터치센서 그래프 표시 예제

MSP430G2433 Capacitive-touch I/O  터치센서 그래프 표시 예제





MSP430G 시리즈는 Cap touch I/O 모듈을 이용하여 저렴한 터치 센서 솔루션을 제공한다.

정전용량 터치센서는 PCB환경(구조, 크기, 노드간 간격, 재질등)에 따라 값을 보정해 주어야 한다. 특히 터치 부분에 아크릴이나 스티커 등을 붙이면 전체 설정값이 변경되므로 각 센서별 설정이 필요하다.

터치센싱 값을 그래프로 표시하면 감도를 눈으로 보면서 편리하게 설정할수 있다.



정전용량 터치및 스위치를 테스트 할 수 있는 SW_BD 를 이용하여 정전용량 터치센서 값을 그래프로 출력하는 테스트를 해보았다.

코드는 MSP430G2433 Cap touch I/O 터치센서 테스트 예제코드를 수정하여 테스트 하였다.




터치 센서에 접촉되는 면적(손가락의 터치 감도)에 따라 센싱값이 변경되는 것을 확인할수 있다.


Posted by nexp

댓글을 달아 주세요

[MSP430]/MSP430-S2013. 8. 11. 23:00

MSP430G2553 Cap touch I/O 터치센서 테스트

MSP430G2553 Cap touch I/O 터치센서 테스트




MSP430G2553의 특징은 저전력에 24채널의 CAP Touch I/O를 가지고 있어 터치센서 솔루션으로 적합하다.

Cap touch I/O를 이용하여 터치센서 스위치를 테스트 하는 예제를 작성해 보았다. 기존 사용했던 터치센서 솔루션중에는 가장 감도도 좋고 사용하기 편리한것 같다.



MSP430G2553에는 아래와 같이 Pin Oscillator 모듈이 하드웨어 적으로 존재하기 때문에 소프트웨어 부담없이 터치센서를 구현할 수 있다. 당연히 저전력으로 구동된다.





MSP430G2253에는  24채널(P1, P3)의 CAP IO가 있고 PxSEL, PxSEL2 레지스터를 이용하여 Cap Touch IO로 설정할수 ㅇ






MSP430F2553 Cap touch I/O 터치센서 테스트 동영상

MSP430G2253을 이용하여 터치센서를 인식할때 마다 LED를 토글하는 간단한 예제를 작성해 보았다.






터치센서 파라미터 설정 코드

터치센서로 이용할 핀 설정 및 각종 초기 파라미터값을 설정할수 있다.

const struct Element Totuch_E1 = {


              .inputPxselRegister = (uint8_t *)&P3SEL,  

              .inputPxsel2Register = (uint8_t *)&P3SEL2,  

              .inputBits = BIT0,

              // When using an abstracted function to measure the element

              // the 100*(maxResponse - threshold) < 0xFFFF

              // ie maxResponse - threshold < 655

              .maxResponse = 655,

              .threshold = 400

};



const struct Sensor Touch_Button1 =

               { 

                  .halDefinition = RO_PINOSC_TA0_WDTp,

                  .numElements = 1,

                  .baseOffset = 4,

                  // Pointer to elements

                  .arrayPtr[0] = &Totuch_E1,  // point to first element

                  // Timer Information

                  .measGateSource= GATE_WDT_SMCLK,     //  0->SMCLK, 1-> ACLK

                  //.accumulationCycles= WDTp_GATE_32768             //32768

                  .accumulationCycles= WDTp_GATE_8192               // 8192

                  //.accumulationCycles= WDTp_GATE_512             //512

                  //.accumulationCycles= WDTp_GATE_64             //64                  

               };



터치센서 처리 코드

터치 인식을 하였을 경우 처리하는 함수

void CapTouchActiveMode()

{

    unsigned char idleCounter, activeCounter;

    unsigned char centerButtonTouched[4] = {0,};


    idleCounter = 0;      

    activeCounter = 0;

  

    while (idleCounter++ < MAX_IDLE_TIME)

    {  

         if(TI_CAPT_Button(&Touch_Button1))

        { 

            // Middle button was touched  

            if (centerButtonTouched[0]==0)

            {


                centerButtonTouched[0] = 1;

                Led1Toggle();

                Tbi(PORT1, BIT0);

                

                DebugPrint("S1\r\n");

            }

            idleCounter = 0;

        }

        else    

        { 

            centerButtonTouched[0] = 0;

        }


   :

}



MSP430F2553 Cap touch I/O 테스트 소스코드

void main(void)

{   

    SystemInit();

    

Led1Init();

Led2Init();

//Touch GPIO설정

Sbi(P1DIR, BIT0|BIT3);

Cbi(PORT1, BIT0|BIT3);

Sbi(P2DIR, BIT0|BIT1);

Cbi(PORT2, BIT0|BIT1);

    

//초기값 측정

MeasureCapBaseLine();


//MSP430G 시리얼 포트 초기화

DebugInit(BAUD_115200);

DebugPrint("MSP430G EVM Touch Test Program.\r\n");

while (1)

{

//터치센서 처리

CapTouchActiveMode();

}

}


Posted by nexp

댓글을 달아 주세요

[Microchip]/PIC16F2013. 4. 7. 23:00

[mTouch] PIC16F274 Capacitive Touch 테스트

[mTouch] PIC16F274 Capacitive Touch 테스트

 

 

 

MICROCHIP사는 Capacitive Touch Sensing 솔루션으로 mTouch 를 제공하고 있다. PIC16F723은 하드웨어 적으로 8채널의 capacitive sensing module 을 제공하고  PIC16F724는 16채널을 제공한다.

 

CPS0~CPS15 핀을 이용하면 부가적인 하드웨어 필요 없이 터치 센싱이 가능하다.

 

 

 

 

CAPACITIVE SENSING MODULE 초기화 코드

void CapInit(void)
{
 // Initialize for Timer0 time base
 OPTION = 0b11000010;    // Timer0 init ( Prescaler:TMR0, 1:8 )
 T0IF = 0;       // enable tmr0 intpt
 T0IE = 1; 

 // Initialize for Timer1 time Resource
 // Timer1 enable, system clock, 1:1 prescale
 T1CON  = 0b11000101;

 // Cap Sense Module
 // CPSON
 CPSON  = 1;
 
 //Cap Sensing Osc Range Bits(18uA)
 CPSRNG0 = 1;
 CPSRNG1 = 1;
 
 // init to channel select = 0 (4 LSb's) 
 CPSCON1 = 0x00;      
}

 

 

 

 

 

mTouch Capacitive Touch 테스트 동영상

기존 Touch Sensing 테스를 위해 제작해 둔 보드를 이용하여 테스트 했다. 터치에 따라 FND에 출력하는 예제 이다.

 

 

Posted by nexp

댓글을 달아 주세요

[MSP430]/MSP430F20132013. 4. 7. 21:00

[MSP430F2013] Capacitive Touch Sensing 테스트

[MSP430F2013] Capacitive Touch Sensing 테스트

 

 

 

 

TI사는 MSP430을 이용하여 Capacitive Touch Sensing 솔루션을 제공하고 있다.

msp_cap.zip

Capacitive Touch Sensing 을 위한 방법으로 여러가지가 있지만 하드웨어적으로 간단히 테스트 해 볼수 있는 RC방식을 이용하여 터치센서를 테스트 해보았다.

 

 

 

 

MSP430 Capacitive Touch Sensing 테스트 동영상

 

Posted by nexp

댓글을 달아 주세요

[SENSOR]/Sensor2009. 1. 8. 09:32

Atmel Touchscreen Control IC

Atmel Touchscreen Control IC
http://www.qprox.com/index.html







예제회로
Posted by nexp

댓글을 달아 주세요