메뉴 바로가기

서브메뉴 바로가기

본문 바로가기

logo

AVR 자료실
조회 수 6370 추천 수 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




 


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

private void tmrRxData_Tick(object senderEventArgs e)

{

btnRxSignal.BackColor = Color.White;

if (null == m_serialPortreturn;

if (!m_serialPort.IsOpenreturn;

int iRecSize = m_serialPort.BytesToRead// 수신된 데이터 갯수

// AVR에서 10바이트식 보내는데 10바이트 이상이 들어 왔는지 체크

if (iRecSize >= 10)

{

byte[] buff = new byte[iRecSize]; // 임시 변수

// 시리얼 포트에서 데이터를 가져오자.

m_serialPort.Read(buff, 0, iRecSize);

// 맨앞의 값이 0x02 인지 체크

if (buff[0] !=0x02 )

{

for(int i=0;i<iRecSize-1;i++)

{

buff[i] = buff[i+1];

}

}

if (buff[0] == 0x02 && buff[8] == 0xCC && buff[9] == 0x03)

{

this.txbRotaryValue.Text = buff[2].ToString();

this.btnDIP1.BackColor = ((buff[1] & 0x01) == 0x01) ? Color.White : Color.Green;

this.btnDIP2.BackColor = ((buff[1] & 0x02) == 0x02) ? Color.White : Color.Green;

this.btnDIP3.BackColor = ((buff[1] & 0x04) == 0x04) ? Color.White : Color.Green;

this.btnDIP4.BackColor = ((buff[1] & 0x08) == 0x08) ? Color.White : Color.Green;

this.btnDIP5.BackColor = ((buff[1] & 0x10) == 0x10) ? Color.White : Color.Green;

this.btnDIP6.BackColor = ((buff[1] & 0x20) == 0x20) ? Color.White : Color.Green;

this.btnDIP7.BackColor = ((buff[1] & 0x40) == 0x40) ? Color.White : Color.Green;

this.btnDIP8.BackColor = ((buff[1] & 0x80) == 0x80) ? Color.White : Color.Green;

this.trbCDS.Value = (Convert.ToInt32(buff[3]) << 8) + (Convert.ToInt32(buff[4]) << 0);

this.trbCDS.BackColor = Color.FromArgb((1024-this.trbCDS.Value) / 4, (1024-this.trbCDS.Value) / 4, (1024-this.trbCDS.Value) / 4);

this.trbVR.Value = (Convert.ToInt32(buff[5]) << 8) + (Convert.ToInt32(buff[6]) << 0);

btnRxSignal.BackColor = Color.Green;

}

}

// AVR 모드로 명령 전송

this.SendToBoard();

}


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

203906364FD0309826B245

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

14751D394FD0309921F8FB





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


1940F6364FD0309920983F

1830A83C4FD0309A310B8E





다운로드


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


 


 

관련 문서가 검색되었습니다.
  1. [2015/01/08] Character LCD 예제 by WhiteAT (3113)
  2. [2014/11/28] 간단한 유니폴라 스텝모터 구동 by WhiteAT (3147)
  3. [2014/11/28] 컴퓨터-아두이노 간의 블루투스 통신 (채팅) by WhiteAT (3916)
  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 (8035)
  9. [2013/09/02] ZEO-S PWM 펄스를 Pulse Counter로 읽기, C# by WhiteAT (5973)
  10. [2013/08/29] ZEO-S, Pulse Counter, C# by WhiteAT (5526)
?