메뉴 바로가기

서브메뉴 바로가기

본문 바로가기

logo

AVR 자료실
조회 수 5902 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

WAT-AVR128 모듈 알아보기

WAT-IO&ADC 모듈 알아보기






ATMEGA128 모듈에 연결


WAT-AVR128 모듈의 PORTA는 LED, PORTB는 DIP SWITCH, PORTC는 FND SELECT, PORTE는 FND DATA, PORTE는 ADC 에 연결하여 PC 프로그램에서 제어 및 상태를 실시간으로 모니터링 하는 예제입니다.


WAT-AVR128 모듈

WAT-IO&ADC 모듈

PORTA

FND DATA

PORTB

PORTC

FND SELECT, ROTARY SWITCH

PORTD

DIP SWITCH

PORTE

LED

PORTF

ADC





 


윈도우 코드(VC++ 6.0) (통신 처리 부분)


try

    {

// 이번에 수신된 데이터 m_byteArray(QUEUE) 에 넣기

for( int i=1; i<=nRcvSize; i++ )

{

m_byteArray.Add(m_CommPort.m_byRcvBuf[i]);

}

// 시작 신호 체크

while(m_byteArray.GetSize()>0)

{

if(m_byteArray.GetAt(0) != 0x02)

{

m_byteArray.RemoveAt(0);

continue;

}

else

{

break;

}

}

CString strData;

CString strTemp;

if(m_byteArray.GetSize()>=10)

{

if(m_byteArray.GetAt(0) == 0x02 && m_byteArray.GetAt(9) == 0x03)

{

// DIP SWITCH 체크

byteTemp = m_byteArray.GetAt(1);

UpdateData(TRUE);

m_bDIP8 = ((byteTemp & 0x80)!=0x80);

m_bDIP7 = ((byteTemp & 0x40)!=0x40);

m_bDIP6 = ((byteTemp & 0x20)!=0x20);

m_bDIP5 = ((byteTemp & 0x10)!=0x10);

m_bDIP4 = ((byteTemp & 0x08)!=0x08);

m_bDIP3 = ((byteTemp & 0x04)!=0x04);

m_bDIP2 = ((byteTemp & 0x02)!=0x02);

m_bDIP1 = ((byteTemp & 0x01)!=0x01);

// 로터리 스위치 값 읽기

m_strRotary.Format("%d",m_byteArray.GetAt(2));

// CDS 값 읽기

uiTemp = m_byteArray.GetAt(3);

uiTemp <<=8;

uiTemp += m_byteArray.GetAt(4);

m_prgCDS.SetPos(1023 - uiTemp);

// 가변저항 값 읽기

uiTemp = m_byteArray.GetAt(5);

uiTemp <<=8;

uiTemp += m_byteArray.GetAt(6);

m_prgVR.SetPos(1023 - uiTemp);

// 화면 갱신

UpdateData(FALSE);

}

// 마지막에 처리한 데이터 보기

for(int i=0;i<10;i++)

{

strTemp.Format( "%02X ", m_byteArray.GetAt(i) );

strData+=strTemp+ " ";

}

strData+= "\n";

m_byteArray.RemoveAt(0,10);

}

m_ReceiveData  = strData;

UpdateData(FALSE);

    }

    catch (CException*  )

    {

    }


윈도우 프로그램에서 FND에 5634, LED 모두 OFF 값을 전송하며 ATMEGA128 보드에서 딥 스위치4번 OFF, CDS값 최대, 가변저항 값 최소, 로터리 스위치 값 3을 전송되면 아래와 같이 됩니다.



< WAT-IO&ADC에 연결한 윈도우 프로그램 >



14751D394FD0309921F8FB





윈도우 프로그램에서 FND에 5667, LED 3,5,7번 ON 값을 전송하며 ATMEGA128 보드에서 딥 스위치1,3,5,7,번 ON, CDS값 최대, 가변저항 값 최대, 로터리 스위치 값 9을 전송되면 아래와 같이 됩니다.




1830A83C4FD0309A310B8E

 



 


 

다운로드


매뉴얼: pdf.gif WAT-IO_ADC매뉴얼.pdf



관련 문서가 검색되었습니다.
  1. [2015/01/08] Character LCD 예제 by WhiteAT (3142)
  2. [2014/11/28] 간단한 유니폴라 스텝모터 구동 by WhiteAT (3160)
  3. [2014/11/28] 컴퓨터-아두이노 간의 블루투스 통신 (채팅) by WhiteAT (3930)
  4. [2013/04/11] WAT-AVR128_PLUS 모듈 by ()
  5. [2012/12/03] WAT-AVR128 EXT (AVR128용 확장보드) by ()
  6. [2011/10/27] WAT-USB AVR ISP by ()
  7. [2011/10/27] WAT-AVR128 모듈 by ()
  8. [2013/10/30] ZEO-S, CDS로 빛 밝기 -> LED ON/OFF by WhiteAT (8039)
  9. [2013/09/02] ZEO-S PWM 펄스를 Pulse Counter로 읽기, C# by WhiteAT (5978)
  10. [2013/08/29] ZEO-S, Pulse Counter, C# by WhiteAT (5528)
?