2022-05-12 Arduino_9

2022. 5. 12. 00:16학부 강의/Arduino

트랜스두서(transducer)

 

한 에너지 형태(신호)를 다른 에너지 형태(신호)로 변환하는 소자를 총칭하는 용어.

  • 센서 : 비전기적 양을 전기신호로 변환하는 입력 트랜스두서(input transducer)
  • 액추에이터 : 전기신호를 다른 에너지로 변환하는 출력 트랜스두서(output transducer)

A/D 변환기

  • 센서 등에서 측정된 아날로그 전기 신호를 컴퓨터가 읽을 수 있는 병렬 또는 직렬의 디지털 데이터로 변환하여 주는 장치
  • 측정하려는 아날로그 물리량의 범위 및 시스템의 응용 목적에 따라 분해능이나 정밀도가 적합한 것을 사용
    • 변환시간(conversion time) : A/D변환을 수행하는데 필요한 시간. 초당 샘플링 속도로 나타냄.
    • 분해능(resolution) : A/D 컨버터가 표현할 수 있는 최소 아날로그량. (n비트 A/D컨버터 → 1/2^n)

 


아날로그 입력

 

가변 저항기

 

자항 물질이 둥글게 연결되어 있고 저항 물질의 길이의 변화에 따라 저항 값이 변함.

 

analogRead()

전압 아두이노 입력값

전압 아두이노 입력값
5V 1023
0V 0

analogRead() 함수로 값을 읽음.

 

전압의 크기를 10bit, 0~1023의 정수 값으로 대응. (0V는 0, 5V는 1023)

 


3_5

 

// C++ code
//
void setup()
{
  Serial.begin(9600);
}

void loop()
{
  int a = analogRead(A0);
  Serial.println(a);
  delay(100);
  
}

가변저항기를 거쳐서 입력되는 전압값을 시리얼 모니터로 출력.

 


3_6

 

 

// C++ code
//
int ledPin = 13;
int val = 0;

void setup()
{
  pinMode(ledPin, OUTPUT);
}

void loop()
{
  val = analogRead(A0);
  digitalWrite(ledPin, HIGH);
  delay(val);
  digitalWrite(ledPin, LOW);
  delay(val);
}

가변저항기 값에 비례해 LED가 켜지고 꺼지는 시간을 조절.


조도센서 CDS

 

빛의 밝기를 측정하는 센서

 

CDS 조도센서는 광 도전체인 황화카드뮴(cadmium sulfide)이라는 의미

 

빛이 많이 들어오면 저항이 작아지고 빛이 적게 들어오면 저항이 커지는 성질을 가짐.

 

카메라의 노출계, 가로등의 자동 점멸 장치, TV 수상기의 자동 휘도 조정장치 등에 사용됨.

 


3_7

 

// C++ code
//
void setup()
{
  Serial.begin(9600);
}

void loop()
{
  int a = analogRead(A0);
  Serial.println(a);
  delay(200);
}

빛의 밝기가 강하면 조도센서의 저항이 감소해 A0의 입력값이 상승하고 반대로 빛의 밝기가 약하면 조도센서의 저항이 상승하면서 A0의 입력값이 하락한다.


3_8

 

// C++ code
//
void setup()
{
  Serial.begin(9600);
  pinMode(4, OUTPUT);
}

void loop()
{
  int sensorValue = analogRead(A0);
  Serial.println(sensorValue);
  if (sensorValue > 500) digitalWrite(4, LOW);
  else digitalWrite(4, HIGH);
  delay(200);
}

빛의 밝기가 일정치보다 강하면 LED를 끄고 일정치보다 약하면 LED를 켠다.

 

참고 :조도센서와 GND 사이에 연결된 저항의 세기를 바꾸면 조도센서 값의 범위가 바뀐다.

'학부 강의 > Arduino' 카테고리의 다른 글

2022-05-21 Arduino_11  (0) 2022.05.21
2022-05-17 Arduino_10  (0) 2022.05.17
2022-05-09 Arduino_8  (0) 2022.05.09
2022-05-05 Arduino_7  (0) 2022.05.05
2022-05-02 Arduino_6  (0) 2022.05.02