조도센서
주변에 존재하는 빛의 양을 감지
밝기에 따라 저항값이 바뀌는 가변 저항임
아두이노에서 아날로그핀과 연결
극성이 없어서 + - 상관없이 아무 방향으로 꽃아도 됨
세그먼트
숫자를 나타내는 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);//빛에 따라 소리를 출력
}