int bluePin = 8;
int redPin = 9;
void setup()
{
pinMode(bluePin , OUTPUT);
pinMode(redPin , OUTPUT);
}
void loop()
{
// 1초동안 LED 켜기
digitalWrite(bluePin , HIGH);
delay(1000);
// 1초동안 LED 끄기
digitalWrite(bluePin , LOW);
delay(1000);
// 1초동안 LED 켜기
digitalWrite(redPin , HIGH);
delay(1000);
// 1초동안 LED 끄기
digitalWrite(redPin , LOW);
delay(1000);
}
2개의 LED 동시에 켜고 끄기 반복
int bluePin = 8;
int redPin = 9;
void setup()
{
pinMode(bluePin , OUTPUT);
pinMode(redPin , OUTPUT);
}
void loop()
{
// 1초동안 LED 켜기
digitalWrite(bluePin , HIGH);
digitalWrite(redPin , HIGH);
delay(1000);
// 1초동안 LED 끄기
digitalWrite(bluePin , LOW);
digitalWrite(redPin , LOW);
delay(1000);
}
// C++ code
//
int pinArr[8] = {12,11,10,9,7,6,5,4};
void setup()
{
for(int i=0;i<8; i++){
pinMode(pinArr[i],OUTPUT);
}
}
void loop()
{
for(int i=0; i<8 ; i++){
digitalWrite(pinArr[i], HIGH);
delay(300);
digitalWrite(pinArr[i], LOW);
delay(300);
}
}
// C++ code
//
int redPin = 13;
int bluePin = 12;
int greenPin = 11;
int delayTime = 300;
void setup()
{
pinMode(redPin, OUTPUT);
pinMode(bluePin, OUTPUT);
pinMode(greenPin, OUTPUT);
}
void loop()
{
// red only
digitalWrite(redPin, HIGH);
delay(delayTime);
digitalWrite(redPin, LOW);
delay(delayTime);
// blue only
digitalWrite(bluePin, HIGH);
delay(delayTime);
digitalWrite(bluePin, LOW);
delay(delayTime);
// green only
digitalWrite(greenPin, HIGH);
delay(delayTime);
digitalWrite(greenPin, LOW);
delay(delayTime);
// red+green = yellow
digitalWrite(redPin, HIGH);
digitalWrite(greenPin, HIGH);
delay(delayTime);
digitalWrite(redPin, LOW);
digitalWrite(greenPin, LOW);
delay(delayTime);
// red+blue = magenta
digitalWrite(redPin, HIGH);
digitalWrite(bluePin, HIGH);
delay(delayTime);
digitalWrite(redPin, LOW);
digitalWrite(bluePin, LOW);
delay(delayTime);
// green + blue = cyan
digitalWrite(greenPin, HIGH);
digitalWrite(bluePin, HIGH);
delay(delayTime);
digitalWrite(greenPin, LOW);
digitalWrite(bluePin, LOW);
delay(delayTime);
// red+ blue+ green = white
digitalWrite(redPin, HIGH);
digitalWrite(greenPin, HIGH);
digitalWrite(bluePin, HIGH);
delay(delayTime);
digitalWrite(redPin, LOW);
digitalWrite(greenPin, LOW);
digitalWrite(bluePin, LOW);
delay(delayTime);
}
3개 LED 밝기비교
void setup()
{
pinMode(11, OUTPUT);
pinMode(9, OUTPUT);
pinMode(6, OUTPUT);
}
void loop()
{
analogWrite(11, 255);
analogWrite(9, 128);
analogWrite(6, 32);
}
3개 LED 동시에 밝아졌다가 어두워짐
int redPin1 = 11;
int redPin2 = 9;
int redPin3 = 6;
void setup()
{
pinMode(redPin1 , OUTPUT);
pinMode(redPin2 , OUTPUT);
pinMode(redPin3 , OUTPUT);
}
void loop()
{
for(int i=0; i<=255;i+=5){
analogWrite(redPin1, i);
analogWrite(redPin2, i);
analogWrite(redPin3, i);
delay(30);
}
for(int i=255; i>=0;i-=5){
analogWrite(redPin1, i);
analogWrite(redPin2, i);
analogWrite(redPin3, i);
delay(30);
}
delay(100);
}
3개 LED 연속 FADE
int redPin1 = 11;
int redPin2 = 9;
int redPin3 = 6;
void setup()
{
pinMode(redPin1 , OUTPUT);
pinMode(redPin2 , OUTPUT);
pinMode(redPin3 , OUTPUT);
}
void loop()
{
// RED LED1 FADE
for(int i=0; i<=255;i+=5){
analogWrite(redPin1, i);
delay(30);
}
for(int i=255; i>=0;i-=5){
analogWrite(redPin1, i);
delay(30);
}
delay(100);
// RED LED2 FADE
for(int i=0; i<=255;i+=5){
analogWrite(redPin2, i);
delay(30);
}
for(int i=255; i>=0;i-=5){
analogWrite(redPin2, i);
delay(30);
}
delay(100);
// RED LED3 FADE
for(int i=0; i<=255;i+=5){
analogWrite(redPin3, i);
delay(30);
}
for(int i=255; i>=0;i-=5){
analogWrite(redPin3, i);
delay(30);
}
delay(100);
}
3개 LED 번갈아 FADE 후 전체 LED FADE
int ledArr[3] = {11, 9, 6};
int ledArrLength = sizeof(ledArr) / sizeof(int);
void setup()
{
for(int i=0; i<ledArrLength;i++)
pinMode(ledArr[i] , OUTPUT);
}
void loop()
{
for(int i=0; i<ledArrLength; i++){
fadeInOut(ledArr[i]);
delay(100);
}
delay(300);
allFade(ledArr, ledArrLength);
delay(300);
}
// fadePin FADE
void fadeInOut(int fadePin)
{
for(int i=0; i<=255;i+=5){
analogWrite(fadePin, i);
delay(30);
}
for(int i=255; i>=0;i-=5){
analogWrite(fadePin, i);
delay(30);
}
}
// 전체 핀 FADE (전체 LED 핀 개수 동적 할당)
void allFade(int *arr, int arrLength)
{
for(int i=0; i<=255;i+=5){
for(int j=0; j<arrLength; j++){
analogWrite(arr[j], i);
}
delay(30);
}
for(int i=255; i>=0;i-=5){
for(int j=0; j<arrLength; j++){
analogWrite(arr[j], i);
}
delay(30);
}
}
'Embedded > Arduino' 카테고리의 다른 글
Arduino-2 (0) | 2021.06.10 |
---|---|
MultiTasking with Arduino (0) | 2021.06.09 |
02. Tinkercad 시작하기 (0) | 2021.06.09 |
01. Arduino 설치하기 (0) | 2021.06.09 |
초음파센서+브라킷+서보모터 (0) | 2021.05.26 |