BASIC4MCU | 질문게시판 | 아두이노 시간, 딜레이 코딩관련 질문
페이지 정보
작성자 덴민초 작성일2022-12-01 14:45 조회219회 댓글0건본문
안녕하세요.
지금 어느정도까지 코딩은 하였지만 그 이후로 몇 일동안 계속 막혀 답답합니다 ㅠ..
버튼을 누르면 모터가 180도로 돌아가고 10초있다가 다시 0도로 오게 하였습니다.
버튼을 한 번 누를때마다 출력값(cc)가 1씩 높아지고 출력값(cc)4가 되는 순간 모터가 동작하지 않도록 막아놨습니다.
이렇게 동작관련 코딩은 완료했으나
이제 시간값을 입력하고 싶습니다.
24시간에 모터가 3번만 동작하도록 제한을 하고 싶습니다. (cc가 1이 되는 순간 시간 카운트를 시작하고 24시간 카운트가 끝나는 순간 cc가 다시 0이 되도록 하는 코딩값을 일단 아는 대로 계속 입력했으나 안되었습니다..)
하지만 여러 코딩을 넣어보았지만 해결이 계속 안되고 있어.. 고수님들의 도움을 받고싶습니다. ㅠㅠ
#include <Servo.h>
#include <SoftwareSerial.h>
Servo myservo;
int pos = 0;
int servoPin = 6;
int check = 0;
int counter = 0;
int cc=0;
void setup() {
myservo.attach(servoPin);
pinMode(4, INPUT);
pinMode(5, INPUT);
Serial.begin (9600);
delay(400);
mySerial.begin (9600);
}
void loop() {
int a = digitalRead(4);
//Serial.println(a);
delay(2);
if (a == 1 && cc >=0 && cc<4)
{
for (pos = 0; pos <= 180; pos += 1) {
myservo.write(pos);
delay(5);
}
delay(1000); //
for (pos = 180; pos >= 0; pos -= 1) {
myservo.write(pos);
delay(5);
counter++;
check = 0;
}
}
if (counter > 100) {
check ++;
}
if(check == 1){
cc++;
}
Serial.println(cc);}
댓글 0
조회수 219등록된 댓글이 없습니다.