cds (조도 센서 실습)
void setup() {
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly
int sensorValue = analogRead(A1);
Serial.println(sensorValue);
delay(100);
}
Interrupt
우노는 2 , 3 번 핀에만 interrup 생성 가능
void setup() {
// put your setup code here, to run once:
pinMode(13, OUTPUT);
pinMode(2, OUTPUT);
attachInterrupt(1, blink, CHANGE); // D3 핀에 인터럽트 설정
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
void blink() {
int button = digitalRead(3); // 버튼 상태 체크
digitalWrite(2, button); // LED 제어
}
ch ) 인터럽트 사용중 delay 안먹힘 deleay 자체가 timer 인터럽트를 사용하기 때문에
아두이노에서 인터럽트는 우선순위가 동등하기 때문에 delay의 tiemer 인터럽트가 작동되지 않는다.
때문에 volatile 변수를 사용해서 가제적으로 for 문을 돌려서 delay 를 줘야한다.
'공부,일 > 아두이노' 카테고리의 다른 글
아두이노 통신 (0) | 2021.07.19 |
---|---|
조이스틱 (0) | 2021.07.19 |
초음파 센서 (0) | 2021.07.19 |
아두이노 회로 실습 (by fritzing ) (0) | 2021.07.15 |
아두이노 실습환경 구축 (0) | 2021.07.14 |
댓글