Stránka 1 z 1

Arduino + STEP 28BYJ-48

Napsal: 12 zář 2020, 11:08
od byfo
Ahojte, mám trošku problém.

Aktuálne pracujem na kurníku pre sliepočky, a chcem ich automaticky zatvárať, aj otvárať. Používam motor STEP MOTOR 28BYJ-48, 2 vypínače (horný a dolný) + senzor svetla.

Príklad: Ak začne byť vidno, zapni motor, až dokedy nebude stlačené horné tlačidlo, následne motor vypni. Teraz čakaj, dokedy bude svetla málo, zapni motor a po stlačení dolného tlačidla, vypni, a čakaj na ráno........

Všetko by bolo super, v podstate, fungovať mi to funguje, ale prerušovane.. nakoľko to stále overuje podmienky, a je medzi tým pauza, ktorú nejak neviem ovplyvniť..

Kód: Vybrat vše

 void loop() 
{ 
  
  uint16_t lux = lightMeter.readLightLevel();
  Serial.print("Light: ");
  Serial.print(lux);
  delay(1);


  if ( lux > 700){ //ak svetlo je vacie ako, chod hore, dokedy nestlacim tlacidlo hore
     dirStatus =1; 
  }

  if ( lux < 10){  //ak menšie, chod dole, dokedy nestlacim tlacidlo dole
    dirStatus  = 2;      
  }

//if (digitalRead(dole) == HIGH && digitalRead(hore) == LOW) { // if BOTH the switches read HIGH podmienka pre vypnutie motora
//dirStatus =3;   
}


 if(dirStatus ==1){ 
   poleStep++; 
    driveStepper(poleStep);    
 }else if(dirStatus ==2){ 
   poleStep--; 
    driveStepper(poleStep);    
 }else{
  driveStepper(8);   
 }
 
 if(poleStep>7){ 
   poleStep=0; 
 } 
 if(poleStep<0){ 
   poleStep=7; 
 } 
// delay(1); 


}// loop


void driveStepper(int c)
{
     digitalWrite(Pin1, pole1[c]);  
     digitalWrite(Pin2, pole2[c]); 
     digitalWrite(Pin3, pole3[c]); 
     digitalWrite(Pin4, pole4[c]);   
}//driveStepper end here

je tu void, ktorý musí byť vždy spustený,je to možné ták, aby to neskákalo, respektíve, ako nadradím void driveStepper (int c)? alebo máte niekto knižnicu k tomuto motoru, poprípade lepší kód ako ja?


Vďaka moc.

Re: Arduino + STEP 28BYJ-48

Napsal: 13 zář 2020, 12:32
od jede_robot
Zakomentuj tyhle tři řádky:

Kód: Vybrat vše

Serial.print("Light: ");
Serial.print(lux);
delay(1);

Re: Arduino + STEP 28BYJ-48

Napsal: 13 zář 2020, 20:21
od byfo
Ahoj, ďakujem, pomohlo, ale delay (1); musí byť. - určuje rýchlosť