0,00 €

V košarici ni izdelkov.

0,00 €

V košarici ni izdelkov.

More
    DomovRevijaProgramiranjeShield-B, razvojna ploščica za Arduino Uno (4) - servo motor, napredne procedure

    Shield-B, razvojna ploščica za Arduino Uno (4) – servo motor, napredne procedure

    Avtorja: Mag. Vladimir Mitrović, Robert Sedak
    E-pošta: vmitrovic12@gmail.com

    Za tiste ki želijo vedeti več, bomo v tem nadaljevanju opisali načine, s katerimi lahko mikrokontroler generira impulze, ki so potrebni za krmiljenje servo motorja.
    V programih, analiziranih v preteklem nadaljevanju, za generiranje krmilnih impulzov Bascom-AVR in Arduino uporabljata tehniko prekinitev (interrupt). Krmilni priključki mikrokontrolerja se postavljajo v stanja “0” in “1” v prekinitvenih rutinah, ki se periodično izvajajo. V njih se prav tako določa tudi trenutek, v katerem mora krmilni priključek enega od servo motorjev spremeniti stanje.

    Slika 17 ilustrira princip prekinitve na primeru nekega Bascom-AVR programa. Po inicializaciji (C0) se program odvija znotraj neskončne Do-Loop zanke po vrsti C1-C5-C6-C1… V trenutku, ko se dogodi prekinitev, ki je povzročena z nekim zunanjim dogodkom, se izvršitev glavnega programa prekine in prične se izvrševati podprogram (prekinitvena rutina), ki oddela to, kar je potrebno. V našem primeru bo prekinitve generiralo časovno vezje – timer. V prekinitvenih rutinah pa se bodo menjala stanja krmilnih priključkov. Vsak podprogram se zaključi z ukazom vrnitve v glavni program (v tem primeru Return). Nato bo glavni program nadaljeval izvrševati program od mesta, v katerem je bil prekinjen. Vrstni red izvrševanja programa v primeru prekinitve je C1-C2-C3-C4-C5-C6-C1… Identična procedura se odvija tudi v Arduino programih, samo sintaksa je drugačna.

    Ta vsebina je samo za naročnike

    Če želite odkleniti to vsebino, se naročite.