BASIC4MCU | 질문게시판 | 슬립모드
페이지 정보
작성자 아두이노배우기 작성일2021-02-28 15:48 조회14,814회 댓글3건본문
현관에 보면 인체감지센서로 불이 켜지고 조금 있으면 꺼지고 하는 것입니다.
pir센서가 감지되면 led를 5초간 켜고 다시 끄는 것입니다.
슬립모드를 하면 밧데리로도 오래 사용할 수 있다고 하는데
슬립모드 상태에서 pir센서가 감지되면 led가 켜지고 5초 후에 led가 꺼지고 다시 슬립모드로 가고 싶습니다.
int led = 5;
int pir_sensor = 6;
void setup() {
pinMode(5, OUTPUT);
pinMode(6, INPUT);
Serial.begin(9600);
}
void loop() {
if(digitalRead(6)==1) {
digitalWrite(5,HIGH);
delay(5000);
digitalWrite(5, 0);
}
}
댓글 3
조회수 14,814master님의 댓글
master 작성일아두이노배우기님의 댓글
아두이노배우기 작성일
공부해서 이렇게 구성했습니다. 이게 슬립모드인지 아닌지 모르겠어요. 작동은 되구요.
#include "LowPower.h"
const int led = 5;
const int pir = 2;
void setup() {
Serial.begin(9600);
pinMode(5, OUTPUT);
pinMode(2, INPUT);
}
void loop() {
if(digitalRead(2)==1) {
digitalWrite(5, HIGH);
delay(16000);
digitalWrite(5, LOW);
}
attachInterrupt(0, wakeUp, RISING);
LowPower.powerDown(SLEEP_FOREVER, ADC_OFF, BOD_OFF);
detachInterrupt(0);
}
void wakeUp() {
}
master님의 댓글
master
delay(16000);
16초를 5초로 수정해야겠죠
//
아두이노는 파워절약을 목표로 설계되어 있지 않아서 슬립모드에서도 그다지 절전효과를 볼 수 없습니다.
필요하다면 직접해야 하는데요 회로에 대해서 어느정도 실력이 있어야 가능합니다.