ZEO-S 모듈의 I/O, ADC, PWM을 실험할 수 있는 보드 입니다.

 

ZEO-S 를 장착하지 않은 상태

 

 

 

 

ZEO-S 를 장착한 상태

 

 

 

ZEO-S 의 연결 핀

 

ZEO-IO2 보드

ZEO-S

CDS

CDS1

PB13*

CDS2

PB14*

CDS3

PB15*

CDS4

PA16*

CDS5

PA15

CDS6

PA14

CDS7

PA13*

CDS8

PA12*

LED

D1

PA3

D2

PA4

D3    

PA5

D4

PA6

D5

PA7

D6

PA8

D7

PA9

D8

PB12

D14

PB0

D15

PB1

D16

PB2

D17

PB3

D18

PB4

D19

PB5

D20

PB6

D21

PB7

SERVO

SERVO1

PA0

SERVO2

PA1

SERVO3

PA2

SERVO4

PA10

SERVO5

PA11

SERVO6

PA12*

SERVO7

PA13*

SERVO8

PA16*

SERVO9

PB13*

SERVO10

PB14*

SERVO11

PB15*

 

* 표시는 ADC 와 PWM 기능이 있는 핀이며 다음과 같이 딥스위치로 선택하여 사용합니다.

 

DIP 스위치

ON

OFF

1

SERVO4 사용

2

SERVO5 사용

3

CDS8 사용

SERVO6 사용

4

CDS7 사용

SERVO7 사용

5

CDS4 사용

SERVO8 사용

6

CDS1 사용

SERVO9 사용

7

CDS2 사용

SERVO10 사용

8

CDS3 사용

SERVO11사용

 

 

원문: http://whiteat.com/Product_ZEO/186932

 

Posted by WhiteAT

댓글을 달아 주세요

 

ZEO-S 모듈의 I/O를 실험할 수 있는 보드 입니다.

INPUT, OUTPUT, PWM 등을 실험할 수 있습니다.

 

 

ZEO-S 를 장착하지 않은 상태

 

 

 

 

ZEO-S 를 장착한 상태

 

 

 

ZEO-S 의 연결 핀

 

IO 보드

ZEO-S

스위치

SW1

PA12

SW2

PA13

SW3

PA14

SW4

PA15

SW5

PB12

SW6

PB13

SW7

PB14

SW8

PB15

LED

D1

PA0

D2

PA1

D3    

PA2

D4

PA3

D5

PA4

D6

PA5

D7

PA6

D8

PA7

D9

PA8

D10

PA9

D11

PA10

D12

PA11

D13

PA16

D14

PB0

D15

PB1

D16

PB2

D17

PB3

D18

PB4

D19

PB5

D20

PB6

D21

PB7

D22

PB8

D23

PB9

D24

D25

PB10

PB11

 

 

 

 

 

원문: http://whiteat.com/87092 

 

Posted by WhiteAT

댓글을 달아 주세요

 

ZEO 모듈을 처음 사용하시는 분은 http://whiteat.com/57501 를 참조하여 드라이버를 설치하시고, 프로그래밍 가이드를 따라 해 보시기 바랍니다.

 

 

 

 

하드웨어 연결

 

 

 

데이터시트의 핀명을 참조하여 아래 사진처럼 PWMA-1,2,3, PWMB-1,2,3,4, PWMC-1,2,3,4 에 각각 적색 LED와 1K옴 저항을 연결합니다.

(VCC – 1K옴저항 – 포트로 연결 합니다.)

 

 

 

 

Visual Studio 2008 의 C#으로 PWM11App 라는 응용프로그램을 만들어 보겠습니다.

 

먼저 Windows Forms Application Template 으로 PWM11App 라는 프로젝트를 생성합니다.

C#을 처음 접하시는 분은 http://whiteat.com/31559 를 먼저 해보시기 바랍니다.

 

 

 

 

 

라이브러리 추가 & 기본 코드 추가

http://whiteat.com/product/ZEO/ZEO-Programming_Guide.pdf 의 프로그래밍 가이드를 참조하여 라이브러리를 추가합니다.

 

 

라이브러리를 추가하면 아래와 같이 솔루션 창에 ZeoDotNetLib 와 LibUsbDotNet 이 생성됩니다.

 

 

 

 

 

Form_Load 이벤트와 Form_Closing 이벤트에 각각 ZEO 모듈의 초기화코드와 종료 코드를 추가합니다.

 

 

using ZeoDotNetLib;

 

namespace PWM11App

{

public partial class Form1 : Form

{

ZeoLib ZEO = new ZeoLib();

 

public Form1()

{

InitializeComponent();

}

 

private void Form1_Load(object sender, EventArgs e)

{

this.ZEO.Open();

this.ZEO.InitZeo(0);

this.label1.Text = "ZEO-" + this.ZEO.GetZeroType().ToString();

 

// PWM 초기화 모든 LED 를 최대값으로 ON 한다.

this.ZEO.InitPWMA(PWM_Frequency._2Khz, 0, 0, 0);

this.ZEO.InitPWMB(PWM_Frequency._2Khz, 0, 0, 0,0);

this.ZEO.InitPWMC(PWM_Frequency._2Khz, 0, 0, 0,0);

}

 

private void Form1_FormClosing(object sender, FormClosingEventArgs e)

{

this.ZEO.Close();

}

}

}

 

 

 

 

컨트롤 추가

11개의 PWM 을 제어하기 위해 11개의 Trackbar ( 슬라이드바)를 추가하고 좌측에 라벨을 붙여 줍니다.

 

 

 

 

 

TrackBar 의 Scroll 이벤트를 걸어 스크롤을 변경할 때마다 LED 밝기를 조절할 수 있습니다.

 

 

private void trbPWMA1_Scroll(object sender, EventArgs e)

{

this.ZEO.SetPWM(ZeoLib.PWM.A,1,Convert.ToUInt16((sender as TrackBar).Value));

}

 

private void trbPWMA2_Scroll(object sender, EventArgs e)

{

this.ZEO.SetPWM(ZeoLib.PWM.A, 2, Convert.ToUInt16((sender as TrackBar).Value));

}

 

private void trbPWMA3_Scroll(object sender, EventArgs e)

{

this.ZEO.SetPWM(ZeoLib.PWM.A, 3, Convert.ToUInt16((sender as TrackBar).Value));

}

 

private void trbPWMB1_Scroll(object sender, EventArgs e)

{

this.ZEO.SetPWM(ZeoLib.PWM.B, 1, Convert.ToUInt16((sender as TrackBar).Value));

}

 

private void trbPWMB2_Scroll(object sender, EventArgs e)

{

this.ZEO.SetPWM(ZeoLib.PWM.B, 2, Convert.ToUInt16((sender as TrackBar).Value));

}

 

private void trbPWMB3_Scroll(object sender, EventArgs e)

{

this.ZEO.SetPWM(ZeoLib.PWM.B, 3, Convert.ToUInt16((sender as TrackBar).Value));

}

 

private void trbPWMB4_Scroll(object sender, EventArgs e)

{

this.ZEO.SetPWM(ZeoLib.PWM.B, 4, Convert.ToUInt16((sender as TrackBar).Value));

}

 

private void trbPWMC1_Scroll(object sender, EventArgs e)

{

this.ZEO.SetPWM(ZeoLib.PWM.C, 1, Convert.ToUInt16((sender as TrackBar).Value));

}

 

private void trbPWMC2_Scroll(object sender, EventArgs e)

{

this.ZEO.SetPWM(ZeoLib.PWM.C, 2, Convert.ToUInt16((sender as TrackBar).Value));

}

 

private void trbPWMC3_Scroll(object sender, EventArgs e)

{

this.ZEO.SetPWM(ZeoLib.PWM.C, 3, Convert.ToUInt16((sender as TrackBar).Value));

}

 

private void trbPWMC4_Scroll(object sender, EventArgs e)

{

this.ZEO.SetPWM(ZeoLib.PWM.C, 4, Convert.ToUInt16((sender as TrackBar).Value));

}

 

 

 

 

 

위와 같은 설정이 되면 아래의 결과를 얻을 수 있습니다.

 

 

 

 

PWMA-1부터 PWMC-4 의 PWM 을 차례대로 제어하는 동영상입니다.

 




Posted by WhiteAT

댓글을 달아 주세요

 

ZEO 모듈을 사용하시는 분은 http://whiteat.com/57501 를 참조하여 드라이버를 설치하시고, 프로그래밍 가이드를 따라해 보시기 바랍니다.

 

 

 

C#으로 HumanDetectApp 라는 응용프로그램을 만들어 보겠습니다.

여기서는 Visual Studio 2008 의 C#을 사용하게 됩니다.

 

먼저 Windows Forms Application Template 으로 HumanDetectApp 라는 프로젝트를 생성합니다.

C#을 처음 접하시는 분은 http://whiteat.com/31559 를 한번만 해보셔도 금방 따라 하실 수 있습니다.

 

 

 

 

기본 폼이 완성 되면 LABEL 2개를 추가합니다.

각각의 이름을 lblModel, lblAlarm로 하겠습니다.

lblModel에는 현재 사용중인 ZEO 의 모델명과 버전을 표시할 것이고,

lblAlarm 에는 "침입자 발견" 메시지를 보여줄 것입니다.

 

 

그리고 일정시간마다 센서 값을 읽어 올 수 있게 Timer 를 추가하고 타이머의 이름을 tmrMain 이라고 하겠습니다.

 

 

 

이제 각 기능을 구현하면 됩니다.

 

 

 

센서가 감지되었을 경우 경고 표시

 

 

 

 

평상시 화면

 

 

 

 

 

 

아래는 인체감지 센서를 읽어 알람을 화면에 표시하는 전체 코드입니다.

 

 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using ZeoDotNetLib;

 

 

namespace HumanDetectApp

{

public partial class Form1 : Form

{

ZeoLib ZEO = new ZeoLib();

 

public Form1()

{

InitializeComponent();

}

 

private void Form1_Load(object sender, EventArgs e)

{

// ZEO 모듈 열기

this.ZEO.Open();

 

// ZEO 모듈 초기화

this.ZEO.InitZeo(0);

 

// 모델명 버전 표시

this.lblModel.Text = "MODEL: ZEO-" + this.ZEO.GetZeroType().ToString();

this.lblModel.Text += " VERSION: " + this.ZEO.GetBoardVersion();

 

// PA16을 입력으로 설정 (센서 값 읽기)

this.ZEO.PORT_DirInput(PIN_NAME.PA16);

 

}

 

private void tmrMain_Tick(object sender, EventArgs e)

{

// 만약 ZEO와 연결되지 않았다면 아무것도 안하겠다.

if (!this.ZEO.IsOpened) return;

 

// 모든 포트의 값을 읽어

UInt32[] uiData = this.ZEO.ReadPortAll();

 

// PA16의 값이 HIGH 이면

if ((uiData[0] & 0x10000) == 0x10000)

{

// 알람 표시

lblAlarm.Visible = true;

}

else

{

lblAlarm.Visible = false;

}

}

 

private void Form1_FormClosing(object sender, FormClosingEventArgs e)

{

// 프로그램 종료시에는 반드시 Close 를 해줘야 한다.

this.ZEO.Close();

}

}

}

 

 

 

 

Posted by WhiteAT

댓글을 달아 주세요

 

ZEO 모듈과 인체감지 센서 모듈로 침입자를 감시하는 예제를 만들어 보겠습니다.

 

침입자 감시 시스템

 

 

 

 

회로 꾸미기

 

아래처럼 ZEO-S 모듈과 인체감지모듈을 브레드보드에 연결합니다.

 

 

 

 

센서에는 VCC, GND, OUT 핀 명이 표기되어 있으며

VCC 에는 3.3V(양극)

GND 에는 그라운드(음극)

OUT 에는 ZEO-S 의 PA16번에 연결합니다.

 

GND 옆의 신호가 OUT 이라서 별도의 점퍼선 없이 기판에 바로 연결할 수 있습니다.

센서의 VCC는 ZEO-S의 우측 1번 핀에 연결해 줘야겠죠?

 

 

 

 

 

이제 USB 케이블을 PC에 연결하면

하드웨어 준비는 끝입니다.^^

 

Posted by WhiteAT

댓글을 달아 주세요