void setup()
{
pinMode(9, OUTPUT);
}
void loop()
{
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(1000);
}
LED 3개 연결하기
void setup()
{
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
}
void loop()
{
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
delay(1000);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
delay(1000);
}
LED 번갈아 깜빡이기
int ledArr[] = {9,10,11};
int ledSize = sizeof(ledArr)/ sizeof(ledArr[0]);
int delayTime = 200;
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_dn2up()
{
for(int i=0; i<ledSize; i++){
for(int n=0; n<ledSize; n++){
if(n==i)
digitalWrite(ledArr[n], HIGH);
else
digitalWrite(ledArr[n], LOW);
}
delay(delayTime);
}
}
void led_up2dn()
{
for(int i=ledSize-1; i>=0; i--){
for(int n=ledSize-1; n>=0; n--){
if(n==i)
digitalWrite(ledArr[n], HIGH);
else
digitalWrite(ledArr[n], LOW);
}
delay(delayTime);
}
}
void led_off()
{
for(int i=0; i<ledSize; i++){
digitalWrite(ledArr[i],LOW);
}
delay(delayTime);
}
void loop()
{
led_blink();
led_up2dn();
led_off();
led_dn2up();
led_off();
}
#define RED 11
#define GREEN 10
#define BLUE 9
int ledArr[] = {RED,GREEN,BLUE};
int ledSize = sizeof(ledArr)/ sizeof(ledArr[0]);
int delayTime = 300;
void setup()
{
for(int i=0; i<ledSize; i++){
pinMode(ledArr[i], OUTPUT);
}
}
void rgb_white()
{
for(int i=0; i<ledSize; i++){
digitalWrite(ledArr[i],HIGH);
}
delay(delayTime);
}
void rgb_red()
{
digitalWrite(RED,HIGH);
digitalWrite(GREEN,LOW);
digitalWrite(BLUE,LOW);
delay(delayTime);
}
void rgb_green()
{
digitalWrite(RED,LOW);
digitalWrite(GREEN,HIGH);
digitalWrite(BLUE,LOW);
delay(delayTime);
}
void rgb_blue()
{
digitalWrite(RED,LOW);
digitalWrite(GREEN,LOW);
digitalWrite(BLUE,HIGH);
delay(delayTime);
}
void rgb_cyan()
{
digitalWrite(RED,LOW);
digitalWrite(GREEN,HIGH);
digitalWrite(BLUE,HIGH);
delay(delayTime);
}
void rgb_magenta()
{
digitalWrite(RED,HIGH);
digitalWrite(GREEN,LOW);
digitalWrite(BLUE,HIGH);
delay(delayTime);
}
void rgb_yellow()
{
digitalWrite(RED,HIGH);
digitalWrite(GREEN,HIGH);
digitalWrite(BLUE,LOW);
delay(delayTime);
}
void led_off()
{
for(int i=0; i<ledSize; i++){
digitalWrite(ledArr[i],LOW);
}
delay(delayTime);
}
void color_selector(int count)
{
switch(count){
case 0:
rgb_red();
led_off();
break;
case 1:
rgb_green();
led_off();
break;
case 2:
rgb_blue();
led_off();
break;
case 3:
rgb_cyan();
led_off();
break;
case 4:
rgb_magenta();
led_off();
break;
case 5:
rgb_yellow();
led_off();
break;
case 6:
rgb_white();
led_off();
break;
default:
led_off();
break;
}
}
void loop()
{
for(int n=0; n<8; n++)
color_selector(n);
}
버튼을 누르면 RGB LED가 번갈아 색깔이 바뀜
#define RED 11
#define GREEN 10
#define BLUE 9
int ledArr[] = {RED,GREEN,BLUE};
int ledSize = sizeof(ledArr)/ sizeof(ledArr[0]);
int delayTime = 300;
int ledCount = 0;
int flag = 0;
void setup()
{
for(int i=0; i<ledSize; i++){
pinMode(ledArr[i], OUTPUT);
}
}
void rgb_white()
{
for(int i=0; i<ledSize; i++){
digitalWrite(ledArr[i],HIGH);
}
delay(delayTime);
}
void rgb_red()
{
digitalWrite(RED,HIGH);
digitalWrite(GREEN,LOW);
digitalWrite(BLUE,LOW);
delay(delayTime);
}
void rgb_green()
{
digitalWrite(RED,LOW);
digitalWrite(GREEN,HIGH);
digitalWrite(BLUE,LOW);
delay(delayTime);
}
void rgb_blue()
{
digitalWrite(RED,LOW);
digitalWrite(GREEN,LOW);
digitalWrite(BLUE,HIGH);
delay(delayTime);
}
void rgb_cyan()
{
digitalWrite(RED,LOW);
digitalWrite(GREEN,HIGH);
digitalWrite(BLUE,HIGH);
delay(delayTime);
}
void rgb_magenta()
{
digitalWrite(RED,HIGH);
digitalWrite(GREEN,LOW);
digitalWrite(BLUE,HIGH);
delay(delayTime);
}
void rgb_yellow()
{
digitalWrite(RED,HIGH);
digitalWrite(GREEN,HIGH);
digitalWrite(BLUE,LOW);
delay(delayTime);
}
void led_off()
{
for(int i=0; i<ledSize; i++){
digitalWrite(ledArr[i],LOW);
}
delay(delayTime);
}
void color_selector(int count)
{
switch(count){
case 0:
rgb_red();
break;
case 1:
rgb_green();
break;
case 2:
rgb_blue();
break;
case 3:
rgb_cyan();
break;
case 4:
rgb_magenta();
break;
case 5:
rgb_yellow();
break;
case 6:
rgb_white();
break;
default:
led_off();
break;
}
}
void loop()
{
int inputValue = digitalRead(7);
if (inputValue == HIGH) {
if (flag == 0){
color_selector(ledCount%8);
flag = 1;
ledCount++;
}
}
else {
if (flag == 1) {
flag = 0;
}
}
delay(100);
}
버튼을 누르면 LED가 색깔을 바꿔가면서 깜빡임
#define RED 11
#define GREEN 10
#define BLUE 9
int ledArr[] = {RED,GREEN,BLUE};
int ledSize = sizeof(ledArr)/ sizeof(ledArr[0]);
int ledCount = 0;
int on_off = 0;
int flag = 0;
unsigned long fade_previousMillis = 0;
unsigned long previousMillis = 0;
const long interval = 300;
void setup()
{
for(int i=0; i<ledSize; i++){
pinMode(ledArr[i], OUTPUT);
}
}
void rgb_white()
{
for(int i=0; i<ledSize; i++){
digitalWrite(ledArr[i],HIGH);
}
}
void rgb_red()
{
digitalWrite(RED,HIGH);
digitalWrite(GREEN,LOW);
digitalWrite(BLUE,LOW);
}
void rgb_green()
{
digitalWrite(RED,LOW);
digitalWrite(GREEN,HIGH);
digitalWrite(BLUE,LOW);
}
void rgb_blue()
{
digitalWrite(RED,LOW);
digitalWrite(GREEN,LOW);
digitalWrite(BLUE,HIGH);
}
void rgb_cyan()
{
digitalWrite(RED,LOW);
digitalWrite(GREEN,HIGH);
digitalWrite(BLUE,HIGH);
}
void rgb_magenta()
{
digitalWrite(RED,HIGH);
digitalWrite(GREEN,LOW);
digitalWrite(BLUE,HIGH);
}
void rgb_yellow()
{
digitalWrite(RED,HIGH);
digitalWrite(GREEN,HIGH);
digitalWrite(BLUE,LOW);
}
void led_off()
{
for(int i=0; i<ledSize; i++){
digitalWrite(ledArr[i],LOW);
}
}
void color_selector(int count)
{
switch(count){
case 0:
rgb_red();
break;
case 1:
rgb_green();
break;
case 2:
rgb_blue();
break;
case 3:
rgb_cyan();
break;
case 4:
rgb_magenta();
break;
case 5:
rgb_yellow();
break;
case 6:
rgb_white();
break;
default:
led_off();
break;
}
}
void loop()
{
int inputValue = digitalRead(7);
if (inputValue == HIGH) {
if (flag == 0){
flag = 1;
ledCount++;
}
}
else {
if (flag == 1) {
flag = 0;
}
}
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval){
previousMillis = currentMillis;
if (on_off == 1){
color_selector(ledCount%8);
on_off = 0;
}
else{
color_selector(7);
on_off = 1;
}
}
}
6개 LED 제어
코드
int ledArr[] = {10,9,8,7,6,5};
int ledSize = sizeof(ledArr)/ sizeof(ledArr[0]);
int flag = 0;
unsigned long fade_previousMillis = 0;
unsigned long previousMillis = 0;
const long interval = 100;
unsigned long ledCount = 0;
int modeCount = 0;
void setup()
{
for(int i=0; i<ledSize; i++){
pinMode(ledArr[i], OUTPUT);
}
pinMode(2, INPUT);
Serial.begin(9600);
}
void led_dn2up(int count)
{
int i = ledSize - 1 - (count % ledSize);
for(int n=0; n<ledSize; n++){
if(n==i)
digitalWrite(ledArr[n], HIGH);
else
digitalWrite(ledArr[n], LOW);
}
}
void led_up2dn(int count)
{
int i = count % ledSize;
for(int n=ledSize-1; n>=0; n--){
if(n==i)
digitalWrite(ledArr[n], HIGH);
else
digitalWrite(ledArr[n], LOW);
}
}
void mode_selector(int count)
{
switch(count){
case 0:
led_up2dn(ledCount);
break;
case 1:
led_dn2up(ledCount);
break;
}
}
void loop()
{
int inputValue = digitalRead(2);
if (inputValue == HIGH) {
if (flag == 0){
flag = 1;
modeCount++;
ledCount = 0;
}
}
else {
if (flag == 1) {
flag = 0;
}
}
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval){
previousMillis = currentMillis;
// Serial.print(modeCount);
// Serial.print(" ");
// Serial.println(ledCount);
mode_selector(modeCount%2);
ledCount++;
}
}
'Embedded > Arduino' 카테고리의 다른 글
lilyPad-v211025 (0) | 2021.10.25 |
---|---|
Arduino-v211022 (0) | 2021.10.22 |
Arduino-v211020 (0) | 2021.10.20 |
Arduino-v211019 (0) | 2021.10.19 |
Arduino-v211018 (0) | 2021.10.18 |