08-1. 아기상어 + LED깜빡이기
#define NOTE_C4 262
#define NOTE_D4 294
#define NOTE_E4 330
#define NOTE_F4 349
#define NOTE_G4 392
#define NOTE_A4 440
#define PIEZO_PIN 2
int ledArr[] = {11,10,9,3};
int ledSize = sizeof(ledArr)/sizeof(int);
//notes in the melody:
int melody[] = {
NOTE_C4, NOTE_D4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4,
NOTE_C4, NOTE_D4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4,
NOTE_C4, NOTE_D4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_E4,
0,
NOTE_C4, NOTE_D4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4,
NOTE_C4, NOTE_D4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4,
NOTE_C4, NOTE_D4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_E4,
0,
NOTE_A4, NOTE_G4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4,
NOTE_C4, NOTE_D4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4,
NOTE_C4, NOTE_D4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_E4,
};
// note durations: 4 = quarter note, 8 = eighth note, etc
int noteDurations[] = {
2, 2, 4, 4, 4, 8, 4, 8, 4,
4, 4, 4, 4, 4, 8, 4, 8, 4,
4, 4, 4, 4, 4, 8, 4, 8, 4, 4, 4, 2,
2,
2, 2, 4, 4, 4, 8, 4, 8, 4,
4, 4, 4, 4, 4, 8, 4, 8, 4,
4, 4, 4, 4, 4, 8, 4, 8, 4, 4, 4, 2,
2,
2, 2, 4, 4, 4, 8, 4, 8, 4,
4, 4, 4, 4, 4, 8, 4, 8, 4,
4, 4, 4, 4, 4, 8, 4, 8, 4, 4, 4, 2,
};
void setup(){
for(int i=0; i<ledSize; i++)
pinMode(ledArr[i], OUTPUT);
for (int thisNote = 0; thisNote < sizeof(melody) / sizeof(melody[0]); thisNote++) {
int noteDuration = 1000/noteDurations[thisNote];
tone(PIEZO_PIN, melody[thisNote],noteDuration);
ledON(melody[thisNote]);
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
noTone(PIEZO_PIN);
ledOFF();
}
}
void loop(){}
void ledON(int piezo_melody)
{
if((piezo_melody == NOTE_E4) || (piezo_melody == NOTE_G4))
digitalWrite(ledArr[0],HIGH);
if(piezo_melody == NOTE_C4)
digitalWrite(ledArr[1],HIGH);
if((piezo_melody == NOTE_A4) || piezo_melody == NOTE_D4)
digitalWrite(ledArr[2],HIGH);
if(piezo_melody == NOTE_F4)
digitalWrite(ledArr[3],HIGH);
}
void ledOFF()
{
for(int i=0; i<ledSize; i++){
digitalWrite(ledArr[i], LOW);
}
}
08. 학교종이 땡땡땡 + LED 깜빡이기
#define NOTE_C4 262
#define NOTE_D4 294
#define NOTE_E4 330
#define NOTE_G4 392
#define NOTE_A4 440
#define PIEZO_PIN 2
int ledArr[] = {11,10,9,3};
int ledSize = sizeof(ledArr)/sizeof(int);
int melody[] = {
NOTE_G4, NOTE_G4, NOTE_A4, NOTE_A4,
NOTE_G4, NOTE_G4, NOTE_E4,
NOTE_G4, NOTE_G4, NOTE_E4, NOTE_E4,
NOTE_D4, 0,
NOTE_G4, NOTE_G4, NOTE_A4, NOTE_A4,
NOTE_G4, NOTE_G4, NOTE_E4,
NOTE_G4, NOTE_E4, NOTE_D4, NOTE_E4,
NOTE_C4,0};
int noteDurations[] = {
1,1,1,1,
1,1,2,
1,1,1,1,
3,1,
1,1,1,1,
1,1,2,
1,1,1,1,
3,1};
void setup() {
for(int i=0; i<ledSize; i++)
pinMode(ledArr[i], OUTPUT);
for (int thisNote = 0; thisNote < 26; thisNote++) {
int noteDuration = 250 * noteDurations[thisNote];
tone(PIEZO_PIN, melody[thisNote],noteDuration);
ledON(melody[thisNote]);
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
noTone(PIEZO_PIN);
ledOFF();
}
}
void loop() {}
void ledON(int piezo_melody)
{
if((piezo_melody == NOTE_C4) || (piezo_melody == NOTE_D4))
digitalWrite(ledArr[0],HIGH);
if(piezo_melody == NOTE_E4)
digitalWrite(ledArr[1],HIGH);
if(piezo_melody == NOTE_G4)
digitalWrite(ledArr[2],HIGH);
if(piezo_melody == NOTE_A4)
digitalWrite(ledArr[3],HIGH);
}
void ledOFF()
{
for(int i=0; i<ledSize; i++){
digitalWrite(ledArr[i], LOW);
}
}
07. 센서가 어두워지면 LED 깜빡임 순서 바뀜 + RGB LED 색깔 바뀜
#define PIEZOPIN 2
int ledArr[] = {11,10,9,3}; // 사용하는 LED번호
int rgbArr[] = {A5,A3,A4}; // R(A5) G(A3) B(A4)
int delayTime = 200; // 깜빡임시간 지정(1초 =1000)
int ledCount = 0;
int rgbCount = 0;
int modeCount = 0;
int ledsize = sizeof(ledArr)/ sizeof(int);
int rgbsize = sizeof(rgbArr)/ sizeof(int);
int flag = 0;
int THR = 100;
unsigned long previousTimeLed = millis();
long timeIntervalLed = 200;
void setup()
{
for(int i=0; i<ledsize; i++)
pinMode(ledArr[i], OUTPUT);
for(int i=0; i<rgbsize; i++){
pinMode(rgbArr[i], OUTPUT);
digitalWrite(rgbArr[i], HIGH);
}
pinMode(PIEZOPIN, OUTPUT);
pinMode(A2,INPUT);
Serial.begin(9600);
}
void rgb_led(int n)
{
if(rgbCount %2 == 1){
if(n == 0){ // r+b = magenta
digitalWrite(rgbArr[0],LOW);
digitalWrite(rgbArr[1],HIGH);
digitalWrite(rgbArr[2],LOW);
}
else if(n == 1){ //red
digitalWrite(rgbArr[0],LOW);
digitalWrite(rgbArr[1],HIGH);
digitalWrite(rgbArr[2],HIGH);
}
else if(n == 2){ // blue
digitalWrite(rgbArr[0],HIGH);
digitalWrite(rgbArr[1],HIGH);
digitalWrite(rgbArr[2],LOW);
}
else if(n == 3){ // green
digitalWrite(rgbArr[0],HIGH);
digitalWrite(rgbArr[1],LOW);
digitalWrite(rgbArr[2],HIGH);
}
else if(n == 4){
digitalWrite(rgbArr[0],LOW);
digitalWrite(rgbArr[1],LOW);
digitalWrite(rgbArr[2],LOW);
}
}
else{
digitalWrite(rgbArr[0],HIGH);
digitalWrite(rgbArr[1],HIGH);
digitalWrite(rgbArr[2],HIGH);
}
rgbCount ++;
}
void led_off()
{
for(int i=0; i<ledsize; i++)
digitalWrite(ledArr[i], LOW);
}
void led_blink()
{
if(ledCount%2 == 1){
for(int i=0; i<ledsize; i++){
digitalWrite(ledArr[i], HIGH);
}
}
else{
for(int i=0; i<ledsize; i++){
digitalWrite(ledArr[i], LOW);
}
}
ledCount++;
}
void led_up2dn()
{
int n = ledCount % (ledsize+1);
if(n==0){
for(int i=0; i<ledsize; i++)
digitalWrite(ledArr[i], LOW);
}
else{
for(int i=0; i<ledsize; i++){
if (i == (n-1))
digitalWrite(ledArr[i], HIGH);
else
digitalWrite(ledArr[i], LOW);
}
}
ledCount++;
}
void led_dn2up()
{
int n = ledCount % (ledsize+1);
if(n==0){
for(int i=0; i<ledsize; i++)
digitalWrite(ledArr[i], LOW);
}
else{
for(int i=ledsize-1; i>=0; i--){
if (i == (ledsize-n))
digitalWrite(ledArr[i], HIGH);
else
digitalWrite(ledArr[i], LOW);
}
}
ledCount++;
}
void led_weighted_up2dn()
{
int n = ledCount % (ledsize+1);
if (n == 0)
led_off();
else
digitalWrite(ledArr[n-1], HIGH);
ledCount++;
}
void led_weighted_dn2up()
{
int n = ledCount % (ledsize+1);
if (n == 0)
led_off();
else
digitalWrite(ledArr[ledsize-n], HIGH);
ledCount++;
}
void led_mode(int case_num)
{
case_num = case_num % 5;
if(case_num == 0){
led_blink();
}
else if(case_num ==1){
led_up2dn();
}
else if(case_num ==2){
led_dn2up();
}
else if(case_num ==3){
led_weighted_up2dn();
}
else{
led_weighted_dn2up();
}
rgb_led(case_num);
}
void printValues(int sensorValue)
{
Serial.print("flag : ");
Serial.print(flag);
Serial.print(" modeCount : ");
Serial.print(modeCount);
Serial.print(" sensorValue : ");
Serial.println(sensorValue);
}
void loop()
{
unsigned long currentTime = millis();
int inputValue = analogRead(A2);
printValues(inputValue);
if (inputValue <= THR) {
if (flag == 0){
flag = 1;
modeCount++;
ledCount = 0;
printValues(inputValue);
}
}
else {
if (flag == 1) {
flag = 0;
printValues(inputValue);
}
}
// task 1
if(currentTime - previousTimeLed > delayTime) {
previousTimeLed = currentTime;
led_mode(modeCount);
}
delay(100);
}
06. LED + RGB LED 번갈아 깜빡이기
int ledArr[] = {11,10,9,3}; // 사용하는 LED번호
int rgbArr[] = {A5,A3,A4}; // R(A5) G(A3) B(A4)
int delayTime = 200; // 깜빡임시간 지정(1초 =1000)
int redPin = A5;
int bluePin = A4;
int greenPin = A3;
int ledCount = 0;
int rgbCount = 0;
int ledsize = sizeof(ledArr)/ sizeof(int);
int rgbsize = sizeof(rgbArr)/ sizeof(int);
void setup()
{
for(int i=0; i<ledsize; i++)
pinMode(ledArr[i], OUTPUT);
for(int i=0; i<ledsize; i++){
pinMode(rgbArr[i], OUTPUT);
digitalWrite(rgbArr[i], HIGH);
}
}
void rgb_led()
{
int n = rgbCount%6;
if(n == 0){ // off
digitalWrite(redPin,HIGH);
digitalWrite(greenPin,HIGH);
digitalWrite(bluePin,HIGH);
}
else if(n == 1){ //red
digitalWrite(redPin,LOW);
digitalWrite(greenPin,HIGH);
digitalWrite(bluePin,HIGH);
}
else if(n == 2){ // blue
digitalWrite(redPin,HIGH);
digitalWrite(greenPin,HIGH);
digitalWrite(bluePin,LOW);
}
else if(n == 3){ // green
digitalWrite(redPin,HIGH);
digitalWrite(greenPin,LOW);
digitalWrite(bluePin,HIGH);
}
else if(n == 4){
digitalWrite(redPin,LOW);
digitalWrite(greenPin,LOW);
digitalWrite(bluePin,LOW);
}
else{
digitalWrite(redPin,HIGH);
digitalWrite(greenPin,HIGH);
digitalWrite(bluePin,HIGH);
}
rgbCount++;
}
void led_off()
{
for(int i=0; i<ledsize; i++)
digitalWrite(ledArr[i], LOW);
}
void led_blink(int n)
{
if(n%2 == 0){
for(int i=0; i<ledsize; i++){
digitalWrite(ledArr[i], HIGH);
}
}
else{
for(int i=0; i<ledsize; i++){
digitalWrite(ledArr[i], LOW);
}
}
}
void led_up2dn(int n)
{
n = n % (ledsize+1);
for(int i =0; i<ledsize; i++){
if (i == n)
digitalWrite(ledArr[i], HIGH);
else
digitalWrite(ledArr[i], LOW);
}
}
void led_dn2up(int n)
{
n = n % (ledsize+1);
for(int i=ledsize-1; i>=0; i--){
if (i == (ledsize-1-n))
digitalWrite(ledArr[i], HIGH);
else
digitalWrite(ledArr[i], LOW);
}
}
void led_weighted_up2dn(int n)
{
n = n % (ledsize+1);
if (n == ledsize)
led_off();
else
digitalWrite(ledArr[n], HIGH);
}
void led_weighted_dn2up(int n)
{
n = n % (ledsize+1);
if (n == ledsize)
led_off();
else
digitalWrite(ledArr[ledsize-1-n], HIGH);
}
void loop()
{
for(int i=0; i<4; i++){
led_blink(ledCount);
rgb_led();
delay(delayTime);
ledCount++;
}
ledCount = 0;
for(int i=0; i<ledsize+1; i++){
led_up2dn(ledCount);
rgb_led();
delay(delayTime);
ledCount ++;
}
for(int i=0; i<ledsize+1; i++){
led_dn2up(ledCount);
rgb_led();
delay(delayTime);
ledCount ++;
}
for(int i=0; i<ledsize+1; i++){
led_weighted_up2dn(ledCount);
rgb_led();
delay(delayTime);
ledCount ++;
}
for(int i=0; i<ledsize+1; i++){
led_weighted_dn2up(ledCount);
rgb_led();
delay(delayTime);
ledCount ++;
}
}
05-1. 포토센서값에 따라 멜로디 번갈아 재생
#define NOTE_C4 262
#define NOTE_D4 294
#define NOTE_E4 330
#define NOTE_F4 349
#define NOTE_G4 392
#define NOTE_A4 440
#define NOTE_C7 2093
#define NOTE_D7 2349
#define NOTE_E7 2637
#define NOTE_F7 2794
#define NOTE_G7 3136
#define NOTE_A7 3520
#define NOTE_B7 3951
#define PIEZOPIN 2
int THR = 100;
int flag = 0;
int ledCount = 0;
int delayTime = 200; // 깜빡임시간 지정(1초 =1000)
int ledsize = sizeof(ledArr)/ sizeof(int);
int rgbsize = sizeof(rgbArr)/ sizeof(int);
void setup()
{
pinMode(PIEZOPIN, OUTPUT);
pinMode(A2,INPUT);
Serial.begin(9600);
}
void melody_1()
{
//음계 데이터 (24개)
int melody[] = {NOTE_G7,NOTE_G7,NOTE_A7,NOTE_A7,NOTE_G7,
NOTE_G7,NOTE_E7,NOTE_G7,NOTE_G7,NOTE_E7,
NOTE_E7,NOTE_D7,NOTE_G7,NOTE_G7,NOTE_A7,
NOTE_A7,NOTE_G7,NOTE_G7,NOTE_E7,NOTE_G7,
NOTE_E7,NOTE_D7,NOTE_E7,NOTE_C7};
//음의길이, 4:4분음표, 2:2분음표
int noteDurations[] = {4,4,4,4,4,4,2,4,4,4,4,1,4,4,4,4,4,4,2,4,4,4,4,1};
for (int thisNote = 0; thisNote < 24; thisNote++)
{
int noteDuration = 1000 / noteDurations[thisNote];
tone(PIEZOPIN, melody[thisNote], noteDuration); //소리를 낸다.
int pauseBetweenNotes = noteDuration * 1.30; //delay 계산식
delay(pauseBetweenNotes); //delay
noTone(PIEZOPIN); //대상핀 출력 중단
}
}
char notes[] = "ccggaag ffeeddc ggffeed ggffeed ccggaag ffeeddc ";
int beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 };
int tempo = 300;
void playTone(int tone, int duration) {
for (long i = 0; i < duration * 1000L; i += tone * 2) {
digitalWrite(PIEZOPIN, HIGH);
delayMicroseconds(tone);
digitalWrite(PIEZOPIN, LOW);
delayMicroseconds(tone);
}
}
void playNote(char note, int duration) {
char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };
int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };
for (int i = 0; i < 8; i++) {
if (names[i] == note) {
playTone(tones[i], duration);
}
}
}
void melody_2() {
int length = 15;
for (int i = 0; i < length; i++) {
if (notes[i] == ' ') {
delay(beats[i] * tempo);
} else {
playNote(notes[i], beats[i] * tempo);
}
delay(tempo / 2);
}
}
void melody_3(){
//notes in the melody:
int melody_3[] = {
NOTE_C4, NOTE_D4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4,
NOTE_C4, NOTE_D4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4,
NOTE_C4, NOTE_D4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_E4,
0,
NOTE_C4, NOTE_D4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4,
NOTE_C4, NOTE_D4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4,
NOTE_C4, NOTE_D4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_E4,
0,
NOTE_A4, NOTE_G4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4,
NOTE_C4, NOTE_D4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4,
NOTE_C4, NOTE_D4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_E4,
};
// note durations: 4 = quarter note, 8 = eighth note, etc
int noteDurations_3[] = {
2, 2, 4, 4, 4, 8, 4, 8, 4,
4, 4, 4, 4, 4, 8, 4, 8, 4,
4, 4, 4, 4, 4, 8, 4, 8, 4, 4, 4, 2,
2,
2, 2, 4, 4, 4, 8, 4, 8, 4,
4, 4, 4, 4, 4, 8, 4, 8, 4,
4, 4, 4, 4, 4, 8, 4, 8, 4, 4, 4, 2,
2,
2, 2, 4, 4, 4, 8, 4, 8, 4,
4, 4, 4, 4, 4, 8, 4, 8, 4,
4, 4, 4, 4, 4, 8, 4, 8, 4, 4, 4, 2,
};
for (int thisNote = 0; thisNote < sizeof(melody_3) / sizeof(melody_3[0]); thisNote++) {
int noteDuration = 1000/noteDurations_3[thisNote];
tone(PIEZOPIN, melody_3[thisNote],noteDuration);
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
noTone(PIEZOPIN);
}
}
void loop()
{
int inputValue = analogRead(A2);
Serial.print("Sensor : ");
Serial.print(inputValue);
if(inputValue <= THR){
melody_2();
}
else{
noTone(PIEZOPIN);
Serial.println("");
}
if (inputValue <= THR) {
if (flag == 0){
flag = 1;
ledCount = ledCount % 3;
if(ledCount == 0){
Serial.println(" => Melody #1");
melody_1();
}
if(ledCount == 1){
Serial.println(" => Melody #2");
melody_2();
}
if(ledCount == 2){
Serial.println(" => Melody #3");
melody_3();
}
ledCount++;
}
}
else {
if (flag == 1) {
flag = 0;
}
}
delay(100);
}
05. 포토센서값에 따라 RGB LED 색상변경
int redPin = A5;
int bluePin = A4;
int greenPin = A3;
int ledArr[] = {11,10,9,3}; // 사용하는 LED번호
int ledsize = sizeof(ledArr)/ sizeof(int);
void setup()
{
for(int i=0; i<ledsize; i++)
pinMode(ledArr[i], OUTPUT);
pinMode(A2,INPUT);
pinMode(redPin, OUTPUT);
pinMode(bluePin, OUTPUT);
pinMode(greenPin, OUTPUT);
Serial.begin(9600);
}
void rgb_led(int level)
{
if(level == 0){ // off
digitalWrite(redPin,HIGH);
digitalWrite(greenPin,HIGH);
digitalWrite(bluePin,HIGH);
}
else if(level == 1){ //red
digitalWrite(redPin,LOW);
digitalWrite(greenPin,HIGH);
digitalWrite(bluePin,HIGH);
}
else if(level == 2){ // blue
digitalWrite(redPin,HIGH);
digitalWrite(greenPin,HIGH);
digitalWrite(bluePin,LOW);
}
else if(level == 3){ // green
digitalWrite(redPin,HIGH);
digitalWrite(greenPin,LOW);
digitalWrite(bluePin,HIGH);
}
else if(level == 4){
digitalWrite(redPin,LOW);
digitalWrite(greenPin,LOW);
digitalWrite(bluePin,HIGH);
}
else{
digitalWrite(redPin,LOW);
digitalWrite(greenPin,LOW);
digitalWrite(bluePin,LOW);
}
}
void loop()
{
int inputValue = analogRead(A2);
int level = map(inputValue, 0, 250, 0, 4);
Serial.print("Sensor : ");
Serial.print(inputValue);
Serial.print(" level : ");
Serial.println(level);
rgb_led(level);
}
04. 밝기값이 어두워지면 LED4개가 켜짐
int THR = 100; // 이부분 숫자 변경
int ledArr[] = {11,10,9,3}; // 사용하는 LED번호
int ledsize = sizeof(ledArr)/ sizeof(int);
void setup()
{
for(int i=0; i<ledsize; i++)
pinMode(ledArr[i], OUTPUT);
pinMode(A2,INPUT);
Serial.begin(9600);
}
void loop()
{
int inputValue = analogRead(A2);
Serial.print("Sensor : ");
Serial.print(inputValue);
if(inputValue <= THR){
for(int i=0; i<ledsize; i++)
digitalWrite(ledArr[i],HIGH);
Serial.println(" SENSOR ON");
}
else{
for(int i=0; i<ledsize; i++)
digitalWrite(ledArr[i],LOW);
Serial.println("");
}
}
03. LED깜빡이기
- 전체 깜빡이기 -> 위에서 아래로 -> 아래에서위로 -> 누적해서 아래로 -> 누적해서 위로 순서로
int ledArr[] = {11,10,9,3}; // 사용하는 LED번호
int delayTime = 250; // 깜빡임시간 지정(1초 =1000)
int ledsize = sizeof(ledArr)/ sizeof(int);
void setup()
{
for(int i=0; i<ledsize; i++)
pinMode(ledArr[i], OUTPUT);
}
void led_blink()
{
for(int i=0; i<ledsize; i++){
digitalWrite(ledArr[i], HIGH);
}
delay(delayTime);
for(int i=0; i<ledsize; i++){
digitalWrite(ledArr[i], LOW);
}
delay(delayTime);
}
void led_up2dn()
{
for(int i=0; i<ledsize; i++){
digitalWrite(ledArr[i], HIGH);
delay(delayTime);
digitalWrite(ledArr[i], LOW);
delay(delayTime);
}
}
void led_dn2up()
{
for(int i=ledsize-1; i>=0; i--){
digitalWrite(ledArr[i], HIGH);
delay(delayTime);
digitalWrite(ledArr[i], LOW);
delay(delayTime);
}
}
void led_weighted_up2dn()
{
for(int i=0; i<ledsize; i++){
digitalWrite(ledArr[i], HIGH);
delay(delayTime);
}
for(int i=0; i<ledsize; i++){
digitalWrite(ledArr[i], LOW);
}
delay(delayTime);
}
void led_weighted_dn2up()
{
for(int i=ledsize; i>=0; i--){
digitalWrite(ledArr[i], HIGH);
delay(delayTime);
}
for(int i=0; i<ledsize; i++){
digitalWrite(ledArr[i], LOW);
}
delay(delayTime);
}
void loop()
{
led_blink();
led_blink();
led_up2dn();
led_dn2up();
led_weighted_up2dn();
led_weighted_dn2up();
}
02. 최종 회로 구성
위의 주황색 영역에 천을 덧붙여서 실이 서로 겹치지 않게
01. 회로꾸미기- 시작
'Embedded > Arduino' 카테고리의 다른 글
Arduino-v211019 (0) | 2021.10.19 |
---|---|
Arduino-v211018 (0) | 2021.10.18 |
LilyPad - Final (0) | 2021.07.15 |
LilyPad - Buzzer Test (0) | 2021.07.15 |
Arduino - PWM(v0714) (0) | 2021.07.14 |