아두이노 - 포토트랜지스터 수신 광을 전압으로
포토트랜지스터 수신 광을 전압으로
void setup() // Built-in initialization block
{
Serial.begin(9600); // Set data rate to 9600 bps
}
void loop() // Main loop auto-repeats
{
Serial.print("A3 = "); // Display "A3 = "
Serial.print(volts(A3)); // Display measured A3 volts
Serial.println(" volts"); // Display " volts" & newline
delay(1000); // Delay for 1 second
}
float volts(int adPin) //Measures volts at adPin, Returns floating point voltage
{
return float(analogRead(adPin)) * 5.0 / 1023.0;
}
* 포토트랜지스터는 빛이 많으면 전류를 많이 흘리고, 빛이 적으면 전류를 적게 흘리는 성질이 있다.
* 그래서 빛의 세기의 따라서 전압이 달라지는데 아날로그로 받은 값을 우리가 알 수 있는 전압값으로 변경시킨다.
* float(analogRead(adPin)) * 5.0/1023.0; // 소수점까지 출력하기 위해 float형변환과 .0 계산을 한다.
* V=IR 공식을 통해서 만약 저항의 값을 올려준다면 전압이 올려가고 저항의 값을 내려준다면 전압이 내려가는 효과를 볼 수 있다.