2st Project_Interaction Light



1. 컨셉설명 판넬





2. 회로 구성 및 센서설명





3. 코딩 및 설명

//arduino code

int button1Val = 0;
int button1Pre = 0;
int button2Val = 0;
int button2Pre = 0;

int rangeVal = 0;

int blue = 11;
int red =  10;
int green = 9;

int tiltPin = 5;
int tiltVal = 0;
int tiltPre = 0;

int touchPin = 2;
int touchVal = 0;
int touchPre = 0;

bool isOn = false;


int rVal = 0;
int bVal = 0;
int gVal = 0;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);

  pinMode(blue, OUTPUT);
  pinMode(red, OUTPUT);
  pinMode(green, OUTPUT);
  pinMode(tiltPin, INPUT);

  analogWrite(blue, 0);
  analogWrite(red, 0);
  analogWrite(green, 0);
}

void loop() {
  // put your main code here, to run repeatedly:
  rangeVal = analogRead(A1);
  //Serial.println(rangeVal);

  delay(100);

  tiltVal = digitalRead(tiltPin);
  //Serial.println(tiltVal);

  touchVal = digitalRead(touchPin);
  //Serial.println(touchVal);

  if (touchVal != touchPre) {
    if (touchVal == 0) {
      isOn = !isOn;
      Serial.println("HI");
      Serial.println(isOn);
    }
    else {
    }
    touchPre = touchVal;
  }

  if  (tiltVal != tiltPre )   // tilt Sensor가 기울어지면 led_red가 켜집니다.
  {
    // change the color state

      rVal = random(255);
      gVal = random(255);
      bVal = random(255);
  }
  tiltPre = tiltVal;
  

  if (isOn) {
    analogWrite(blue, bVal);
    analogWrite(red, rVal);
    analogWrite(green, gVal);
  }
  else {
    analogWrite(blue, 0);
    analogWrite(red, 0);
    analogWrite(green, 0);
  }
}






댓글

이 블로그의 인기 게시물