누구나 도전할 수 있는 마이크로컴퓨팅 Challenge
모두이노
12LED lilypad 반짝이는 9개의 LED 2023
int pwm_pins[] = {3, 5, 6, 9, 10, 11};
int binary_pins[] = {2, A2, A3, A4, A5, 7};
int pwm_intervals[] = {1500, 2500, 1900, 1000, 3000, 2000};
int binary_duration[] = {1100, 1300, 1150, 2000, 800, 4500};
long time_left_pwm[] = {0, 0, 0, 0, 0, 0};
long time_left_binary[] = {0, 0, 0, 0, 0, 0};
long pwm_time_steps[6];
int pwm_values[] = {0, 0, 0, 0, 0, 0};
int pwm_offset[] = {1, 1, 1, 1, 1, 1};
boolean binary_high[] = {true, true, true, true, true, true};
long last_time = 0;
long time_elapsed = 0;
void setup() {
for (int i = 0; i < 6; i++) {
pinMode(pwm_pins[i], OUTPUT);
pinMode(binary_pins[i], OUTPUT);
pwm_time_steps[i] = int(pwm_intervals[i] / 255);
time_left_pwm[i] = pwm_time_steps[i];
}
last_time = millis();
}
void loop() {
time_elapsed = millis() - last_time;
last_time = millis();
for (int i = 0; i < 6; i++) {
digitalWrite(binary_pins[i], binary_high[i]);
time_left_binary[i] = time_left_binary[i] - time_elapsed;
if (time_left_binary[i] <= 0) {
binary_high[i] = !binary_high[i];
time_left_binary[i] = binary_duration[i];
}
}
for (int i = 0; i < 6; i++) {
analogWrite(pwm_pins[i], pwm_values[i]);
time_left_pwm[i] = time_left_pwm[i] - time_elapsed;
if (time_left_pwm[i] < 0) {
pwm_values[i] = pwm_values[i] + pwm_offset[i];
time_left_pwm[i] = pwm_time_steps[i];
}
if (pwm_values[i] <= 0 || pwm_values[i] >= 255) {
pwm_offset[i] = pwm_offset[i] * (-1);
}
}
}
번호 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
6 |
12LED lilypad 반짝이는 9개의 LED 2023
T
|
2023.11.29
|
추천 0
|
조회 34
|
T | 2023.11.29 | 0 | 34 |
5 |
9개 LED 순차적으로 켜기
T
|
2023.11.29
|
추천 -1
|
조회 36
|
T | 2023.11.29 | -1 | 36 |
4 |
초음파 센서로 징글벨 플레이 하기
T
|
2023.11.29
|
추천 0
|
조회 47
|
T | 2023.11.29 | 0 | 47 |
3 |
피에조 터치로 크리스마스 캐롤재생
T
|
2023.11.29
|
추천 0
|
조회 36
|
T | 2023.11.29 | 0 | 36 |
2 |
초음파 센서로 LED 켜기
T
|
2023.11.29
|
추천 0
|
조회 48
|
T | 2023.11.29 | 0 | 48 |
1 |
웨어러블 _ 릴리패드와 8개의 LED
T
|
2023.11.05
|
추천 0
|
조회 40
|
T | 2023.11.05 | 0 | 40 |