BASIC4MCU | 질문게시판 | 완성된 전동커튼에 스위치&led코드를 결합 시키고 싶습니다.
페이지 정보
작성자 losa 작성일2020-09-28 17:09 조회3,606회 댓글1건본문
안녕하세요 조도센서를 이용한 전동 커튼은 여기서 전문가의 도움으로 드디어 성공적으로 완료햇습니다. 그래서 끝인줄 알고 좋아했더니 왠걸? 이번엔 스위치에 동작 led까지 달으라고 하시네요..
일단 팀원분이 스위치&led(조도센서)코드는 짜주셧는데 문제는 기존 커튼코드와 어떻게 연결해서 동작시킬 것인가가 문제입니다..
일단 코드는 캐드? 사이트에서 작성된것입니다.계속보는데도 어찌 결합시킬지..이코드로 가능한지 너무 복잡하군요..
첨부파일에 캐드로작성된 스위치코드+보드사진 기존/전동커든 보드사진/장착할 스위치&led 사진을 첨부했습니다.
이두개코드를 어찌하여 한개로 합칠수 있을까요? 스위치는 꼭 저게 아니여도 됩니다.
스위치 led코드는 led값을 읽어서 조건에 따라 led와 조도센서도 같이 작동하는 방식인거같은데..
코드가 변형되도 상관없습니다....저는 이것을 스위치가 켜짐-led켜짐 커튼 동작///스위치가 꺼짐 led꺼짐-커튼 정지로 합치고 싶습니다.
기존 커튼 코드-조도에따라 내려갓다 올라갓다하는 코드
#include <Stepper.h>
const int stepsPerRevolution=920;
Stepper myStepper(stepsPerRevolution,8,9,10,11);
int cds;
bool flag=0;
void setup(){
Serial.begin(9600);
myStepper.setSpeed(10);
}
void loop(){
int cds=analogRead(A0);
Serial.println(cds);
if(cds<350){
if(flag){ myStepper.step(stepsPerRevolution); flag=0; }
}
else if(cds<450){}
else{
if(flag==0){ myStepper.step(-stepsPerRevolution); flag=1; }
}
}
캐드로 작성한 스위치&led코드
void setup()
{
pinMode(A0, INPUT);
Serial.begin(9600);
pinMode(7, INPUT);
pinMode(2, OUTPUT);
pinMode(6, OUTPUT);
}
void loop()
{
Serial.println(analogRead(A0));
if (digitalRead(7) == 1) {
digitalWrite(2, HIGH);
} else {
digitalWrite(2, LOW);
}
if (analogRead(A0) >= 200) {
analogWrite(6, 100);
} else {
analogWrite(6, 0);
}
delay(10);
}
댓글 1
조회수 3,606master님의 댓글
master 작성일
조도센서로 커튼을 제어하는 코드는 계속해서 반복적으로 수행하고 있으므로
스위치로 커튼을 제어해도 루프문을 다시 실행 할 때에 조도센서로 커튼제어를 변경해버리므로 스위치는 의미가 없습니다.