2017년 11월 20일 월요일

second project_조명디자인(디제잉)_아두이노 코딩내용 설명

int ledGreen = 10;
int ledRed = 11;
int ledBlue = 9;

LED 초록색에 대한 변수로 인한 신호가, 아두이노 포트번호 10번을 통해 발현된다.
LED 빨간색에 대한 변수로 인한 신호가, 아두이노 포트번호 11번을 통해 발현된다.
LED 파란색에 대한 변수로 인한 신호가, 아두이노 포트번호 9번을 통해 발현된다.

enum ColorState {black, white, red, yellow, green, cyan, blue, purple};
색깔 체계를 흰색, 붉은색, 노락색, 초록색, 사이안, 파랑색, 보라색, 검은색(off)으로 지정한다.

void setup() {
  pinMode(ledGreen, OUTPUT);
  pinMode(ledRed, OUTPUT);
  pinMode(ledBlue, OUTPUT);
  pinMode(3, OUTPUT);
  Serial.begin(9600);//시리얼 포트를 준비시킵니다.

설정값
input,output 모드로 설정하여, 초록색LED(10번)를 출력한다.
input,output 모드로 설정하여, 빨간색LED(11번)를 출력한다.
input,output 모드로 설정하여, 파란색LED(9번)를 출력한다.
input,output 모드로 설정하여, 디지털 3번(사운드)를  출력한다.
시리얼 포트를 9600으로 준비시킨다.

}
int slide_value = 0;
슬라이드 센서 변수값이 초기화
int turn_value = 0;
회전 센서 변수값이 초기화

ColorState c = white;
색깔 상태를 임의로 'c'로 하고, '흰색'으로 한다.

void loop() {
  slide_value = analogRead(A0) / 4;
  turn_value = analogRead(A3) / 4;
  c = map(turn_value, 0, 255, 0, 7);
  //Serial.print("color state: ");Serial.println(c);

  슬라이드 센서값의 아날로그 (A0)번호의 변수값을 4로 나누어 해석한다.
  회전 센서값의 아날로그 (A3)번호의 변수값을 4로 나누어 해석한다.
  색깔 상태 'c'를 회전센서 변수값으로 0~255의 신호로 출력하고, 
  조명의 발현개수는 0~7    개로 출력 및 구현된다.
  시리얼 실시간(컬러상태 값)을 시리얼 실시간(c)로 초기화한다.

  Serial.print(turn_value);
  시리얼 실시간 변수값을 회전 센서 값으로 

  analogWrite(3, slide_value);
  아날로그 3번을 통해 슬라이드 변수값을 받는다.
  display_led(c, slide_value);
  LED의 컬러상태 값을 슬라이드 변수값을 받는다.
}
void display_led(ColorState c, int brightness) {
  switch (c) {
    case black :
      analogWrite(ledGreen, 0);
      analogWrite(ledRed, 0);
      analogWrite(ledBlue, 0);
      break;
LED발현 컬러상태 그리고 밝기 변수를 스위치 'c'로
검은색(off) 경우
  아날로그 신호를 초록색 0의 값으로 초기화
  아날로그 신호를 빨간색 0의 값으로 초기화
  아날로그 신호를 파란색 0의 값으로 초기화 

    case white :
      analogWrite(ledGreen, slide_value);
      analogWrite(ledRed, slide_value);
      analogWrite(ledBlue, slide_value);
      break;
LED발현 컬러상태 그리고 밝기 변수 를 스위치 'c'로
흰색 컬러 경우
  아날로그 신호를 초록색 슬라이드 변수 값으로 초기화
  아날로그 신호를 빨간색 슬라이드 변수 값으로 초기화
  아날로그 신호를 파란색 슬라이드 변수 값으로 초기화

    case red :
      analogWrite(ledGreen, 0);
      analogWrite(ledRed, slide_value);
      analogWrite(ledBlue, 0);
      break;
LED발현 컬러상태 그리고 밝기 변수 를 스위치 'c'로
빨간색 컬러 경우
  아날로그 신호를 초록색 0의 값으로 초기화
  아날로그 신호를 빨간색 슬라이드 변수 값으로 초기화
  아날로그 신호를 파란색 0의 값으로 초기화

    case yellow :
      analogWrite(ledGreen, slide_value);
      analogWrite(ledRed, slide_value);
      analogWrite(ledBlue, 0);
      break;

LED발현 컬러상태 그리고 밝기 변수 를 스위치 'c'로
노란색 컬러 경우
  아날로그 신호를 초록색 슬라이드 변수 값으로 초기화
  아날로그 신호를 빨간색 슬라이드 변수 값으로 초기화
  아날로그 신호를 파란색 0의 값으로 초기화

    case green :
      analogWrite(ledGreen, slide_value);
      analogWrite(ledRed, 0);
      analogWrite(ledBlue, 0);
      break;

LED발현 컬러상태 그리고 밝기 변수 를 스위치 'c'로
초록색 컬러 경우
  아날로그 신호를 초록색 슬라이드 변수 값으로 초기화
  아날로그 신호를 빨간색 0의 값으로 초기화
  아날로그 신호를 파란색 0의 값으로 초기화

    case cyan :
      analogWrite(ledGreen, slide_value);
      analogWrite(ledRed, 0);
      analogWrite(ledBlue, slide_value);
      break;

LED발현 컬러상태 그리고 밝기 변수 를 스위치 'c'로
사이안 컬러 경우
  아날로그 신호를 초록색 슬라이드 변수 값으로 초기화
  아날로그 신호를 빨간색 0의 값으로 초기화
  아날로그 신호를 파란색 슬라이드 변수 값으로 초기화

    case blue :
      analogWrite(ledGreen, 0);
      analogWrite(ledRed, 0);
      analogWrite(ledBlue, slide_value);

LED발현 컬러상태 그리고 밝기 변수 를 스위치 'c'로
파란색 컬러 경우
  아날로그 신호를 초록색 0의 값으로 초기화
  아날로그 신호를 빨간색 0의 값으로 초기화
  아날로그 신호를 파란색 슬라이드 변수 값으로 초기화

    case purple :
      analogWrite(ledGreen, 0);
      analogWrite(ledRed, slide_value);
      analogWrite(ledBlue, slide_value);
      break;

LED발현 컬러상태 그리고 밝기 변수 를 스위치 'c'로
보라색 컬러 경우
  아날로그 신호를 초록색 0의 값으로 초기화
  아날로그 신호를 빨간색 슬라이드 변수 값으로 초기화
  아날로그 신호를 파란색 슬라이드 변수 값으로 초기화
  }
}

댓글 없음:

댓글 쓰기