정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

안녕하세요! Time 에 대하여 질문드려요!
최지원 | 2016-12-02

안녕하세요! Time 에 대하여 질문드려요!

특정 시간이 되면 스텝모터의 동작이 멈추게 하고싶습니다.

 


void setup() 

{
  pinMode(in1Pin,OUTPUT);
  pinMode(in2Pin,OUTPUT);
  pinMode(in3Pin,OUTPUT);
  pinMode(in4Pin,OUTPUT);
  motor.setSpeed(14);
  Serial.begin(9600);
  byte hiByte=EEPROM.read(hiaddr);
  byte loByte=EEPROM.read(loaddr);
  Rangle=word(hiByte, loByte);
  motor.step(-Rangle*(STEPS/Fangle));
  Serial.print("Previous angle:  ");
  Serial.println(-Rangle);
  Serial.println("");
  delay(5000);
  strip.begin(); // 네오픽셀
   
  setTime(19,59,55,02,12,16); //사용자 시간 지정

}


void loop() {
 
{  
  
  digitalClockDisplay();
  
  val=analogRead(cds);
  angle=map(val,0,1023,0,360);
  Serial.print("cds value= ");
  Serial.print(val);
  Serial.print("     angle= ");
  Serial.println(angle);

 

  if((val>a) && (val<b) && (hour()<19))  {          //a보다 크고 b보다 작고 시간이 19시 이전일 때 Loop를 돌려라
    if((val2>a) && (val2<b) && (hour()<19)) {
     
      motor.step(0);
      Serial.println("stop!");
      angle=Nangle;
      Serial.print("angle :  ");
      Serial.println(angle);
      Serial.print("Nangle :  ");
      Serial.println(Nangle);
      Serial.println("    ");
    }
    else{
      motor.step((angle-Nangle)*(STEPS/Fangle));
      Serial.print("angle : ");
      Serial.println(angle);
      Serial.print("Nangle : ");
      Serial.println(Nangle);
      Serial.print("Shade moves!  ");
      Serial.print(angle-Nangle);
      Serial.println(" moves");
      Serial.println("    ");
      
      }
    }

 

이런식으로 코드를 구성하였지만 19시 이후의 시간에도 똑같이 Loop가 돌았습니다.

어떻게 해결할 수 있을 까요?

이전글   |    아두이노 네오픽셀을 on, off 글자 입력으로 조정하고 싶습니다 ㅜㅜ... 2016-12-02
다음글   |    WiFi Shield JSN270 사용해보신 분! 2016-12-04