void setup() {
Serial.begin(9600);
pinMode(3, OUTPUT);
}
void loop() {
int light = analogRead(A0);
int normal = light/3;
Serial.println(normal);
analogWrite(3, normal);
}
이 함수는 아두이노가 시작될 때 한 번만 실행돼요.
Serial.begin(9600);: 시리얼 통신을 9600 보레이트로 시작하게 해서, 아두이노가 컴퓨터와 데이터를 주고 받을 수 있게 해요.
pinMode(3, OUTPUT);: 3번 핀을 출력 모드로 설정하여, 이 핀에 연결된 LED를 제어할 수 있게 해요.
int light = analogRead(A0);: A0 핀에서 아날로그 값을 읽고, 이 값을 light 변수에 저장합니다. analogRead의 값은 0에서 1023 사이에요.
int normal = light / 3;: 읽은 light 값을 3으로 나누어 normal 변수에 저장해요. 이렇게 하면 값의 범위가 0에서 341 사이가 되며, 이는 아날로그 쓰기 (PWM) 명령에 적합해요.
Serial.println(normal);: 정규화된 normal 값을 시리얼 모니터에 출력해요. 이를 통해 사용자는 현재의 normal 값을 확인할 수 있어요.
analogWrite(3, normal);: normal 값을 사용하여 3번 핀에 PWM 신호를 출력해요. 이 신호는 3번 핀에 연결된 LED의 밝기를 조절해요.
빛이 없어지면 점점 밝아지고 빛이 비춰지면 점점 어두워지는 프로그램 작성해 보기
void setup() {
Serial.begin(9600);
pinMode(3, OUTPUT);
}
void loop() {
int light = analogRead(A0);
int normal = light/3;
Serial.println(255-normal);
analogWrite(3, 255-normal);
}
이 함수는 아두이노가 시작될 때 한 번만 실행됩니다.
Serial.begin(9600);: 시리얼 통신을 9600 보레이트로 시작하며, 아두이노가 컴퓨터와 데이터를 주고 받을 수 있게 합니다.
pinMode(3, OUTPUT);: 3번 핀을 출력 모드로 설정합니다. 이 핀에 연결된 LED의 밝기를 조절할 수 있게 됩니다.
int light = analogRead(A0);: A0 핀에서 아날로그 값을 읽어 light 변수에 저장합니다. 이 값의 범위는 0에서 1023 사이입니다.
int normal = light / 3;: 읽은 light 값을 3으로 나누어 normal 변수에 저장합니다. 이로 인해 값의 범위가 0에서 341 사이가 됩니다.
Serial.println(255 - normal);: 255 - normal의 계산 결과를 시리얼 모니터에 출력합니다.
analogWrite(3, 255 - normal);: 255 - normal의 계산 결과 값을 사용하여 3번 핀에 PWM 신호를 출력합니다. 이 값은 연결된 LED의 밝기를 결정합니다.
Copyright ⓒ TECH79 All right reserved