카테고리 없음

아두이노 과제3

도민혁 2022. 5. 10. 21:40

조도센서

 

주변에 존재하는 빛의 양을 감지

밝기에 따라 저항값이 바뀌는 가변 저항임

아두이노에서 아날로그핀과 연결

 

극성이 없어서 + - 상관없이 아무 방향으로 꽃아도 됨

 

 

 

 

 

 

 

 

 

세그먼트

숫자를 나타내는 led

led가 8개가 모여있다고 생각하면 된다.

 

 

 

 

 

 

 

 

 

 

 

조도센서 코드

Serial.begin(9600); 시리얼 통신 선언을 한다

 

    int data=analogRead(A1);  A1번의 핀 데이터를 data변수에 저장한다.
    Serial.println(data); 시리얼 모니터에 data변수 출력한다.
    delay(1000); 0.1초 기다린다.

 

int led1 = 10;//red
int led2 = 8;//yellow
int led3 = 9;//green

 

 

 

 

 

 

 

 

 

 

 

 

 

빛의 밝기에 따라 LED조절하기


void setup(){
  Serial.begin(9600); // 시리얼 통신 선언
  pinMode(10,OUTPUT); // led출력 모드
  pinMode(9,OUTPUT);
  pinMode(9,OUTPUT);
}

void loop(){
  int Volt = analogRead(A0); //A0핀 읽는거
  Serial.println(Volt);

  if(Volt < 200){
    digitalWrite(led1,HIGH);
    digitalWrite(led2,LOW);
    digitalWrite(led3,LOW);
  }
  else if(Volt < 300){
    digitalWrite(led1,HIGH);
    digitalWrite(led2,LOW);
    digitalWrite(led3,LOW);
  }
  else{
    digitalWrite(led1,HIGH);
    digitalWrite(led2,LOW);
    digitalWrite(led3,LOW);
    delay(200)//0.2초 기다리기
  }
}

 

 

 

부저와 조도센서를 사용하여 빛의 밝기에 따라 각각 소리 다르게 하기

죄송합니다...분명히 부저를 가지고 온 것 같았는데;;;집에 찾아보니까 없어요..ㅠ 

앞으로 집에 가져갈거 제대로 확인하고 가겠습니다..죄송합니다ㅠㅠ

그래서 제가 표시한 곳에 부저를 붙이면 밝기에 따라 소리가 납니다.

 

 

 

 

 

 

코드는 이렇습니다.

 

int sd = 13;  //sd라는 변수에 13저장함
int sound[] = {250,280,310,340,370,400,430,460}; // 음

void setup(){
  pinMode(sd, OUTPUT);//sd, 13핀을 출력으로 설정
}

void loop(){
  int light = analogRead(A0); //조도센서 입력값 light에 저장

 


  int a = map(light,0,1023,sound[0],sound[7]);//조도센서의 입력값을 sound의 값으로 변경함
  tone(sd,a,1000);//빛에 따라 소리를 출력
}