일상 박형

카테고리       

안녕하세요 공대 박형입니다.

 

오늘은 아두이노 시리얼 통신을 통해 데이터를 read 해보겠습니다.

 

코드부터 보시죠.

 

int g_led = 9;                // 초록 led 핀

int b_led = 10;               // 파란 led 핀

int r_led = 11;                // 빨간 led 핀

 

void setup()

{

  Serial.begin(9600);

  pinMode(g_led, OUTPUT);

  pinMode(b_led, OUTPUT);

  pinMode(r_led, OUTPUT);

}

 

void loop()

{

  char data = Serial.read();           // 시리얼 값 data변수에 저장

 

  if (data == 'g'){

    digitalWrite(g_led, HIGH);       // 초록 led는 키고 나머지는 off

    digitalWrite(b_led, LOW);

    digitalWrite(r_led, LOW);

    Serial.println("Green LED ON"); // 시리얼 모니터 출력

  }

 

  if (data == 'b'){

    digitalWrite(g_led, LOW);

    digitalWrite(b_led, HIGH);

    digitalWrite(r_led, LOW);

    Serial.println("Blue LED ON");

  }

 

  if (data == 'r'){

    digitalWrite(g_led, LOW);

    digitalWrite(b_led, LOW);

    digitalWrite(r_led, HIGH);

    Serial.println("Red LED ON");

  }

 

  delay(100);

 

}

 

 

회로도입니다.

3색 RGB LED는 4개의 핀이 있습니다. 하나는 그라운드 핀이며 나머지 3개는 빨간, 파란, 초록색 빛을 발광하는 핀입니다. 빨간 핀에 HIGH 신호를 인가하면 빨간색(255,0,0) 빛을 띄우고 초록색 핀에 신호를 인가하면 초록색(0,255,0) 빛을 냅니다.

 

PWM 제어를 통해 RGB 값을 조절하여 원하는 색상의 LED를 만들 수 있습니다. 이는 추후 다양한 프로젝트를 통해 실습하도록 하겠습니다.

 

 

저는 디지털 9번 핀을 초록색, 10번 핀을 파란색, 11번 핀을 빨간색에 연결했습니다. 그리고 시리얼 통신을 통해 'r'을 아두이노에 보내면 빨간색 led를 켜고 다른 led는 꺼지는 프로그램을 만들었습니다. (g는 초록, b는 파랑)

 

 

다음 시간에는 아두이노 조건 제어문( if )를 제어하는 방법에 대해 알아보겠습니다.

 

궁금한 부분은 질문 해주시면 성심껏 답변해드리겠습니다.

 

읽어주셔서 감사합니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band