반응형
#include <TimerOne.h>
const int LED = 10;
void setup(){
Timer1.initialize();
Timer1.pwm(LED, 0);
Timer1.setPeriod(1000000);
Timer1.setPwmDuty(LED, 511);
}
void loop(){
}
// 1초 주기로 LED 점멸하는 것 확인
// 즉, 1Hz 주파수로 LED 점멸을 확인
#include <TimerOne.h>
const int LED = 10;
void setup(){
Timer1.initialize();
Timer1.pwm(LED, 0);
Timer1.setPeriod(1000000/10); // 나누기 10
Timer1.setPwmDuty(LED, 511);
}
void loop(){
}
// 초당 10번 점멸
#include <TimerOne.h>
const int LED = 10;
void setup(){
Timer1.initialize();
Timer1.pwm(LED, 0);
Timer1.setPeriod(1000000/100); // 나누기 100
Timer1.setPwmDuty(LED, 511);
}
void loop(){
}
// 점멸을 느끼지 못하고 오히려 LED가 일정하게 켜져 있다고 느낌
// LED가 초당 100번 점멸 즉, 100Hz 의 주파수로 점멸
// 파형이 초당 100개 생성
#include <TimerOne.h>
const int LED = 10;
void setup(){
Timer1.initialize();
Timer1.pwm(LED, 0);
Timer1.setPeriod(1000000/1000); // 나누기 1000
Timer1.setPwmDuty(LED, 511);
}
void loop(){
}
// 주파수를 늘리면 LED 점멸이 좀 더 부드러워짐
#include <TimerOne.h>
const int LED = 10;
void setup(){
Timer1.initialize();
Timer1.pwm(LED, 0);
Timer1.setPeriod(1000000/1000); // 나누기 1000
Timer1.setPwmDuty(LED, 100); // 512 -> 100
}
void loop(){
}
// setPwmDuty 의 변경할 사각 파형의 HIGH 값을 511에서 100으로 낮춤
// LED 어둡게 하기
#include <TimerOne.h>
const int LED = 10;
void setup(){
Timer1.initialize();
Timer1.pwm(LED, 0);
Timer1.setPeriod(1000000/1000); // 나누기 1000
Timer1.setPwmDuty(LED, 900); // 512 -> 100 -> 900
}
void loop(){
}
// setPwmDuty 의 변경할 사각 파형의 HIGH 값을 100에서 900으로 올림
// LED 밝게 하기
#include <TimerOne.h>
const int LED = 10;
void setup(){
Timer1.initialize();
Timer1.pwm(LED, 0);
Timer1.setPeriod(1000);
}
void loop(){
int i;
for (i = 0; i <= 10; i++){
Timer1.setPwmDuty(LED, i * 100);
delay(100);
}
}
// LED Bright Adjust step for 1024.
// faint bright.
반응형
'Firmware & Embedded > AVR' 카테고리의 다른 글
iteration arduino (0) | 2022.10.11 |
---|---|
attachInterrupt (0) | 2022.09.22 |
Analogue Read (0) | 2022.09.21 |
Basic Arduino (serial.read) (0) | 2022.09.21 |
Basic Arduino (by circuit) (0) | 2022.09.21 |