'FND-SM'에 해당되는 글 2건

  1. 2013.04.07 [mTouch] PIC16F274 Capacitive Touch 테스트
  2. 2013.03.03 [FND-SM] FND모듈 제작
[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

댓글을 달아 주세요

[MODULE]/FND2013. 3. 3. 11:42

[FND-SM] FND모듈 제작

[FND-SM] FND모듈 제작

 

 

 

SPI 및 UART로 간단히 제어 할 수 있는 제어 방식의 FND모듈을 제작했다.

 

 

 

 

 

 

FND 제어는 저렴한 LM3S101 을 이용하였다.

 

 

 

 

 

 

 

 

FND 출력 코드

 if(temp==0x0d)
 {
  FndOut(fnd_value[d[0]], fnd_value[d[1]], fnd_value[d[2]], fnd_value[d[3]]);
  status = 0;               
 }
 else
 {
  if(status == 0)
  {
   dig = temp;
   status = 1;
  }
  else if(status == 1)
  {
   if(dig=='0')d[0] = temp-'0';
   else if(dig=='1')d[1] = temp-'0';
   else if(dig=='2')d[2] = temp-'0';
   else if(dig=='3')d[3] = temp-'0';
   
   status = 2;
  }               
 }

 

 

FND 시리얼 제어 테스트 예제 코드

 

DebugPrint("%d%d\r", id, count);

 

 

 

 

 

 

 

 

FND 구매처

http://devicemart.co.kr/goods/view.php?seq=11533

Posted by nexp

댓글을 달아 주세요