ZEO-S 제품 자료입니다.
ZEO 모듈을 처음 사용하시는 분은 http://whiteat.com/57501 를 참조하여 드라이버를 설치하시고, 프로그래밍 가이드를 따라 해 보시기 바랍니다.
하드웨어 연결
핀번호 | 기본 기능 | 확장 기능 | 핀번호 | 기본 기능 | 확장 기능 |
---|---|---|---|---|---|
A1 | 5V | - | B1 | 3.3V | - |
A2 | 5V | - | B2 | 3.3V | - |
A3 | PORTA.0 | PWMA-1 | B3 | PORTB.0 | - |
A4 | PORTA.1 | PWMA-2 | B4 | PORTB.1 | - |
A5 | PORTA.2 | PWMA-3 | B5 | PORTB.2 | - |
A6 | PORTA.3 | PWMA-1N | B6 | PORTB.3 | - |
A7 | PORTA.4 | PWMA-2N | B7 | PORTB.4 | - |
A8 | PORTA.5 | PWMA-3N | B8 | PORTB.5 | - |
A9 | PORTA.6 | - | B9 | PORTB.6 | - |
A10 | PORTA.7 | - | B10 | PORTB.7 | - |
A11 | PORTA.8 | - | B11 | PORTB.8 | - |
A12 | PORTA.9 | - | B12 | PORTB.9 | - |
A13 | PORTA.10 | PWMC-1 | B13 | PORTB.10 | - |
A14 | PORTA.11 | PWMC-2 | B14 | PORTB.11 | - |
A15 | PORTA.12 | ADC8, PWMC-3 | B15 | PORTB.12 | - |
A16 | PORTA.13 | ADC7, PWMC-4 | B16 | PORTB.13 | ADC1, PWMB-1 |
A17 | PORTA.14 | ADC6 | B17 | PORTB.14 | ADC2, PWMB-2 |
A18 | PORTA.15 | ADC5 | B18 | PORTB.15 | ADC3, PWMB-3 |
A19 | PORTA.16 | ADC4, PWMB-4 | B19 | x | x |
A20 | GND | - | B20 | GND | - |
* 5V : USB 전원 출력 ( USB 에서 공급되는 5V 를 출력으로 사용 가능) * 3.3V : 3.3V 전원 출력 ( 3.3V 를 전원을 외부에서 사용 가능 ) * PORTA.0 ~ PORTA.16 : 일반 I/O로 사용되며 확장 가능 * PORTB.0 ~ PORTB.15 : 일반 I/O로 사용되며 확장 가능
데이터시트의 핀명을 참조하여 아래 사진처럼 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 모듈의 초기화코드와 종료 코드를 추가합니다.
usingZeoDotNetLib; namespacePWM11App { publicpartialclassForm1 : Form { ZeoLibZEO = newZeoLib(); publicForm1() { InitializeComponent(); } privatevoidForm1_Load(objectsender, EventArgse) { 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); } privatevoidForm1_FormClosing(objectsender, FormClosingEventArgse) { this.ZEO.Close(); } } } |
컨트롤 추가
11개의 PWM 을 제어하기 위해 11개의 Trackbar ( 슬라이드바)를 추가하고 좌측에 라벨을 붙여 줍니다.
TrackBar 의 Scroll 이벤트를 걸어 스크롤을 변경할 때마다 LED 밝기를 조절할 수 있습니다.
privatevoidtrbPWMA1_Scroll(objectsender, EventArgse) { this.ZEO.SetPWM(ZeoLib.PWM.A,1,Convert.ToUInt16((senderasTrackBar).Value)); } privatevoidtrbPWMA2_Scroll(objectsender, EventArgse) { this.ZEO.SetPWM(ZeoLib.PWM.A, 2, Convert.ToUInt16((senderasTrackBar).Value)); } privatevoidtrbPWMA3_Scroll(objectsender, EventArgse) { this.ZEO.SetPWM(ZeoLib.PWM.A, 3, Convert.ToUInt16((senderasTrackBar).Value)); } privatevoidtrbPWMB1_Scroll(objectsender, EventArgse) { this.ZEO.SetPWM(ZeoLib.PWM.B, 1, Convert.ToUInt16((senderasTrackBar).Value)); } privatevoidtrbPWMB2_Scroll(objectsender, EventArgse) { this.ZEO.SetPWM(ZeoLib.PWM.B, 2, Convert.ToUInt16((senderasTrackBar).Value)); } privatevoidtrbPWMB3_Scroll(objectsender, EventArgse) { this.ZEO.SetPWM(ZeoLib.PWM.B, 3, Convert.ToUInt16((senderasTrackBar).Value)); } privatevoidtrbPWMB4_Scroll(objectsender, EventArgse) { this.ZEO.SetPWM(ZeoLib.PWM.B, 4, Convert.ToUInt16((senderasTrackBar).Value)); } privatevoidtrbPWMC1_Scroll(objectsender, EventArgse) { this.ZEO.SetPWM(ZeoLib.PWM.C, 1, Convert.ToUInt16((senderasTrackBar).Value)); } privatevoidtrbPWMC2_Scroll(objectsender, EventArgse) { this.ZEO.SetPWM(ZeoLib.PWM.C, 2, Convert.ToUInt16((senderasTrackBar).Value)); } privatevoidtrbPWMC3_Scroll(objectsender, EventArgse) { this.ZEO.SetPWM(ZeoLib.PWM.C, 3, Convert.ToUInt16((senderasTrackBar).Value)); } privatevoidtrbPWMC4_Scroll(objectsender, EventArgse) { this.ZEO.SetPWM(ZeoLib.PWM.C, 4, Convert.ToUInt16((senderasTrackBar).Value)); } |
위와 같은 설정이 되면 아래의 결과를 얻을 수 있습니다.
PWMA-1부터 PWMC-4 의 PWM 을 차례대로 제어하는 동영상입니다.
- [2016/12/06] 피에조 센서 (819) *2
- [2015/08/20] SG90 TowerPro 서보모터 (2142)
- [2015/04/29] HC-SR04 초음파 거리측정센서 데이터 시트 (4015)
- [2015/04/23] DHT11, 디지털 온습도 측정 센서 (2233)
- [2015/04/23] DHT11 온습도 센서 데이터시트 (3434)
- [2011/10/27] WAT-USB AVR ISP (6565)
- [2013/10/30] ZEO-S, CDS로 빛 밝기 -> LED ON/OFF ()
- [2013/10/28] ZEO-IO2 BOARD [ZEO IO 실험 보드2] ()
- [2013/09/02] ZEO-S PWM 펄스를 Pulse Counter로 읽기, C# ()
- [2013/08/29] ZEO-S, Pulse Counter, C# ()