Arduino-아날로그 전압 읽기
이 예제는 아날로그 핀 0에서 아날로그 입력을 읽는 방법을 보여줍니다. 입력은 analogRead ()에서 전압으로 변환되고 Arduino 소프트웨어 (IDE)의 직렬 모니터로 인쇄됩니다.
필요한 구성 요소
다음 구성 요소가 필요합니다-
- 1 × 브레드 보드
- 1 × Arduino Uno R3
- 1 × 5K 가변 저항기 (전위차계)
- 2 × 점퍼
순서
회로도를 따라 아래 그림과 같이 브레드 보드의 구성 요소를 연결합니다.
전위차계
전위차계 (또는 포트)는 간단한 전기 기계 변환기입니다. 입력 연산자의 회전 또는 선형 운동을 저항 변화로 변환합니다. 이 변경은 하이파이 시스템의 볼륨에서 거대한 컨테이너 선박의 방향에 이르기까지 모든 것을 제어하는 데 사용됩니다 (또는 사용 가능).
우리가 아는 포트는 원래 가변 저항기 (본질적으로 가변 권선 저항기)로 알려져있었습니다. 사용 가능한 냄비의 다양성은 이제 매우 놀랍고 초보자 (특히)가 주어진 작업에 적합한 유형을 결정하는 것은 매우 어려울 수 있습니다. 동일한 작업에 모두 사용할 수있는 몇 가지 다른 팟 유형은 작업을 더 어렵게 만듭니다.
왼쪽 이미지는 냄비의 표준 회로도 기호를 보여줍니다. 오른쪽 이미지는 전위차계입니다.
스케치
컴퓨터에서 Arduino IDE 소프트웨어를 엽니 다. Arduino 언어로 코딩하면 회로가 제어됩니다. 새로 만들기를 클릭하여 새 스케치 파일을 엽니 다.
Arduino 코드
/*
ReadAnalogVoltage
Reads an analog input on pin 0, converts it to voltage,
and prints the result to the serial monitor.
Graphical representation is available using serial plotter (Tools > Serial Plotter menu)
Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
*/
// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
// Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
float voltage = sensorValue * (5.0 / 1023.0);
// print out the value you read:
Serial.println(voltage);
}
참고할 코드
아래 주어진 프로그램이나 스케치에서 설정 기능에서 가장 먼저 수행하는 작업은 보드와 컴퓨터 사이의 직렬 통신을 초당 9600 비트로 시작하는 것입니다.
Serial.begin(9600);
코드의 메인 루프에서 전위차계에서 나오는 저항 값 (0에서 1023 사이, int 데이터 유형에 적합)을 저장할 변수를 설정해야합니다.
int sensorValue = analogRead(A0);
값을 0-1023에서 전압에 해당하는 범위로 변경하려면 핀이 판독 중이므로 다른 변수 인 부동 소수점을 만들고 약간의 계산을 수행해야합니다. 0.0과 5.0 사이의 숫자를 스케일링하려면 5.0을 1023.0으로 나누고 여기에 sensorValue를 곱합니다.
float voltage= sensorValue * (5.0 / 1023.0);
마지막으로이 정보를 직렬 창에 인쇄해야합니다. 마지막 코드 줄에서 Serial.println () 명령을 사용하여이를 수행 할 수 있습니다.
Serial.println(voltage)
이제 상단 녹색 막대의 오른쪽에있는 아이콘을 클릭하거나 Ctrl + Shift + M을 눌러 Arduino IDE에서 직렬 모니터를 엽니 다.
결과
0.0-5.0 범위의 숫자가 꾸준하게 표시됩니다. 포트를 돌리면 핀 A0의 전압에 따라 값이 변경됩니다.