BASIC4MCU | 질문게시판 | 아두이노 우노 질문 드립니다.
페이지 정보
작성자 비비 작성일2019-04-24 22:04 조회4,019회 댓글1건본문
int tmpSensor = A0;
int heatingPad1 = 5;
int heatingPad2 = 6;
int heatingPad3 = 7;
int btn = 8;
const int tmp = 80;
int tmpSetting = 0;
float tmpCurrent;
float tmpTemp;
void setup() {
pinMode(heatingPad1, OUTPUT);
pinMode(heatingPad2, OUTPUT);
pinMode(heatingPad3, OUTPUT);
pinMode(btn, INPUT_PULLUP);
tmpSetting = 0;
}
void loop() {
tmpTemp = (float)analogRead(tmpSensor)*5/1024;
tmpCurrent = 100*(tmpTemp-0.5);
if (digitalRead(btn) == LOW) {
tmpSetting = tmp;
}
if (tmpCurrent <= tmpSetting) {
digitalWrite(heatingPad1,HIGH);
digitalWrite(heatingPad2,HIGH);
digitalWrite(heatingPad3,HIGH);
}
else if ((tmpSetting != 0) && (tmpCurrent > tmpSetting)) {
digitalWrite(heatingPad1,LOW);
digitalWrite(heatingPad2,LOW);
digitalWrite(heatingPad3,LOW);
delay(3000);
}
}
안녕하세요.
소스를 구동시키면 열선 패드의 온도를 측정한 후 스위치를 1번 눌렀을 때 제가 설정한 온도 80도가 아니면 열선 패드를 구동 시켜 80도 까지 되게 하고 80도가 넘어버리면 3초 작동을 정지하고 3초 후 다시 온도를 자동으로 측정 해 80도 아래라면 작동을 다시 시키고 80도 이상이라면 또 다시 3초 작동을 중지하는 이러한 형식으로 loop문이 계속 반복되는 코드를 구성하였습니다.
여기서 제가 질문 드리고 싶은 것은 현재 소스는 스위치를 한번 누르면 말씀 드린 것처럼 열선 패드가 80도를 자동적으로 계속 유지하는, loop문이 무한정 계속 반복 되는 데 스위치를 다시 또 한번 누르면 구동이 아예 중지되는 그러한 소스 코드를 작성하고 싶은데 어떻게 수정을 해야 할지 모르겠어서 질문 드립니다.
제가 생각하고 있는 코드는
1. 스위치를 한번 누르면 80도를 유지하는 loop문 무한정 실행
2. 스위치를 또 한번 누르면 아예 구동 중지
3. 다시 스위치를 누르면 80도를 유지하는 loop문 무한정 실행
이런식으로 스위치를 이용 해 전원(?)을 켰다 껏다 하는 소스를 구성하고 싶은데
도움을 주시면 정말 감사하겠습니다.
댓글 1
조회수 4,019master님의 댓글
master 작성일
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=8339
바로 아래의 질문에서 답변을 작성해드린 부분을 참고하시면 될 것 같습니다.