Micro:bit a serva 2

Minule jsme si servo připojili k micro:bitu a otestovali ho, tak teď ho zkusíme řídit vestavěnými senzory.

Akcelerometr

Číslo v proměnné sklon nám udává, o kolik se micro:bit odchýlil od vodorovné polohy v ose X.

Protože  micro:bit můžeme naklánět z vodorovné polohy doleva i doprava, může číslo nabývat hodnot od -1023 do 1023.

Ovšem číslo, určující polohu serva může mít rozsah jen 0 až 180. Abyste nemuseli složitě počítat, použijte funkci map, která to udělá za vás. Určete, že aktuální rozsah proměnné sklon se má přepočíst na požadovaný rozsah a vložit do proměnné uhel.

Servo se vám nyní bude natáčet zleva doprava a zpět v rozsahu 180 stupňů podle toho, jak micro:bit nakláníte a uprostřed své dráhy zastaví, když micro:bit budete držet přesně vodorovně.

Program v JavaScript Block Editoru:

Obr.1: Program v JavaScript Block Editoru

A takto vypadá stejný program v JavaScriptu:

let uhel = 0
let sklon = 0
basic.forever(() => {
    sklon = input.acceleration(Dimension.X)
    uhel = pins.map(
    sklon,
    -1023,
    1023,
    0,
    180
    )
    pins.servoWritePin(AnalogPin.P1, uhel)
})

Pokračování příště…