[아두이노] Sensor Shield를 이용한 온도/빛에 따른 제어

김우경·2021년 4월 16일
0

아두이노

목록 보기
8/9

온도 센서

  • 센서 : 일종의 변환기로 물리적 신호 또는 환경의 변화를 전기적 신호로 변환
  • 온도 센서는 전압/저항의 변화와 같은 전기 신호로 변화
  • 종류
종류특징
열전대재질이 다른 두개의 금속선을 한쪽은 접촉, 다른 한쪽은 일정한 온도로 유지 -> 열전력 효과 이용
금속측온체온도에 따른 얇은 금속선의 저항값 변화 이용
서미스터저항체의 저항값이 온도에 따라 변화하는 것 이용 -> PTC: 온도 상승시 저항값이 증가하는 정특성, NTC: 온도 상승시 저항값이 감소하는 부특성, CTR: 온도 상승시 특정 온도에서 저항값 급감하는 특성
IC온도센서크게 다른 2개의 TR 베이스 에미터간의 전압차가 절대 온도에 비례함을 이용
자기온도센서강자성체에서는 일정 온도까지 상승시 급격하게 자성을 잃거 상자성체가 되는 현상 응용
서모파일열전대를 여러개 직렬로 접촉해서 열접점 온도 측정시 대상물에서 열방사를 모으는것 이용
초전형 온도센서초전 소자의 자발 분극을 이용한 센서
  • LM35: Sensor Shield 상의 Light Sensor
    - 1℃당 10mV씩 출력 변화
    - -55℃~ +150℃까지 측정
    - 출력 전압이 작아서 OP-AMP를 이용해서 출력 증폭

  • 증폭의 계산
    Vout=(1+R4R5)VinV_{out} = (1 + \cfrac{R_4}{R_5}) * V_{in}
    -> 증폭비 : R4R5\cfrac{R_4}{R_5}

Light Sensor (Cds)

: 빛을 받아들이는 양에 따라 내부 저항값이 변화

Sensor Shield

아두이노와 연결하기

  • 광센서 : CDS값 -~3.3v를 ADC0 핀으로 전달
  • 온도센서 : 온도 센서값 0~5v이 ADC1 핀으로 전달
  • 마그네틱 센서: 센서값 0 or 3.3v이 P1 핀으로 전달

예제 코드

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

void loop() {
  // put your main code here, to run repeatedly:
  int cdsValue = analogRead(A2);
  int tempValue = analogRead(A3);

  Serial.print("CDSValue: ");
  Serial.println(cdsValue);
  Serial.print("tmpValue: ");
  Serial.println(tempValue);
  delay(1000);
}
profile
Hongik CE

0개의 댓글