Akvariumo žuvų šėrykla 2 (programos korekcija)


Porą savaičių pasinaudojus žuvų šėrykla pasimatė vienas trūkumas. Po maisto porcijos išpylimo sraigtas ne visada atsisuka tiek, kad pilnai užsidarytų vamzdžio dangtelis. Todėl ties sraigto galu susikaupę dribsniai drėgsta ir sulimpa. Su kita maisto porcija jie išstumiami į akvariumą ir vienu gabalu greitai nusėda į dugną, kai sausi kurį laiką plaukia vandens paviršiuje, o po kurio laiko pradeda skęsti į dugną. Žuvys paprastai juos nuo paviršiaus suėda beveik visus, o likutį pribaigia skęstantį ir ant dugno niekas nebenusileidžia. Kad užsidarytų dangtelis reikia pakoreguoti valdančiąją programą, kad baigus pilti maisto porciją sraigtą daugiau atsuktų atgal. Tam pakeista viena programos funkcija.

void pilam(void) //judesių seka maisto išpylimui
{
   PORTB |= _BV(led); //uždegam diodą
   uint8_t atgal = 25; //sukimo atgal laikas
.  uint8_t n = skaitom(); //perskaitom nustatymus
   if ( n > 100 ) n = 3;
   pozicija( kamp[ 0 ], n*16+atgal );
   pozicija( kamp[ 1 ], atgal );
   PORTB &=~ _BV(led); //gesinam diodą
}

Parašykite komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *