목차
실험내용
WAT-IO&ADC 와 WAT-AVR128 plus 보드를 연결하여 LED의 밝기를 조절해 보겠습니다.
WAT-IO&ADC 특징
WAT-IO&ADC 모듈은 아두이노 AVR, Cortex-M3, PIC 등의 MCU와 10P Flat 케이블을 연결하여 Input/Output을 실험할 수 있는 모듈입니다. FND, LED, BUZZER 을 제어할 수 있으며 가변저항, CDS(빛의 밝기), 딥 스위치, 로터리 스위치의 값을 읽을 수 있는 제품입니다.
- FND: 4- digit
- LED: 8개
- BUZZER: 1개
- DIP SWITCH: 8채널
- ROTARY SWITCH: 1개
- 가변저항(5K): 1 개
- CDS: 1개
함께 사용할 보드
연결
WAT-IO&ADC 의 LED 를 WAT-AVR128 Plus 보드의 PORTB(PB) 에 연결합니다.
소스 코드
전체 코드는 ATMEGA128 자료실의 WAT128_05_02.zip 예제로 제공합니다.
/* PB5 핀(ATMEGA128의15번핀)으로 PWM을 출력하여 WAT-LED Driver 2 모듈에 연결된 파워LED 밝기를 조절하는예제입니다. PB4 핀은 Output Enable 에 연결합니다. 듀티비가 0~100%, 100~0%로 계속 변경되어 LED 가 밝아졌다가 흐려졌다를 반복하는 예입니다. AVRStudio 4.18 필요한보드 1. WAT-AVR128 Plus (모듈) : https://kit128.com/goods/view?no=52 2. WAT-IO&ADC 보드 : https://kit128.com/goods/view?no=36 연결 WAT-IO&ADC LED -> AVR PORTB Main Clock 11.0592MHz 홈페이지: http://whiteat.com 기술자료실: http://docs.whiteat.com 쇼핑몰: http://kit128.com */ #include <avr/io.h> #include "WAT128.h" volatile unsigned int iDuty = 0; volatile BOOL bIncrease = TRUE; int main() { DDRB = 0xFF; // Set Output sbi(PORTB,4); // Output Enable //////////////////////////////////// // Initialize PWM TCCR1A = 0x82; TCCR1B = 0x13; TCCR1C = 0x00; ICR1 = 1000; while(1) { OCR1A = iDuty; if(bIncrease)// LED 가 밝아지는 중이라면 iDuty++; else // LED가 흐려지는 중이라면 iDuty--; if(iDuty>= ICR1) // 최대값이 되면 감소 상태로 변해야 한다. { bIncrease = 0; } else if(iDuty== 0) // 최소값이 되면 증가 상태로 변해야 한다. { bIncrease = 1; } // 0.001초 딜레이 DelayMS(1); } }
결과
D6 LED의 밝아졌다 흐렸졌다를 반복합니다.
제품 구매
WAT-IO&ADC 보드 는 https://kit128.com/goods/view?no=36 에서
WAT-AVR128 PLUS 는 https://kit128.com/goods/view?no=52 에서
WAT-IO&ADC + AVR128 세트는 https://kit128.com/goods/view?no=38 구매하실 수 있습니다.
WAT-AVR128 제공 예제(소스코드)
WAT128 코드는 AVR 자료실 에 있습니다.
- WAT128_01_01: LED 순차적으로 ON 하기
- WAT128_01_02: 딥스위치에 따른 LED 제어- 1
- WAT128_01_03: 딥스위치에 따른 LED 제어- 2
- WAT128_01_04: Anode Type FND 제어
- WAT128_01_05: 키매트릭스(4×4) PC에서 모니터링
- WAT128_02_01: 캐릭터 LCD 표시
- WAT128_02_02: 캐릭터 LCD에 사용자 정의 문자 표시
- WAT128_02_03: 그래픽 LCD에 한글,영문,숫자 표시
- WAT128_02_04: 그래픽 LCD에 도형(사각형,원,선) 그리기
- WAT128_04_01: 외부 인터럽트 카운터 표시
- WAT128_05_01: TIMER0 로 1초 만들기
- WAT128_05_02: TIMER1 의 PWM 으로 LED 밝기 제어
- WAT128_05_03: TIMER3 의 PWM 으로 LED 밝기 제어
- WAT128_06_01: SPI EEPROM
- WAT128_07_01: USART를 사용하여 PC로 ‘A’~’Z’ 전송
- WAT128_07_02: PC에서 수신된 데이터를 표시하고 PC로 에코 보내기
- WAT128_07_03: WAT-GPIO 와 PC 실시간으로 통신
- WAT128_07_04: CDS, 가변저항 값을 컴퓨터 화면에 그래프로 표시