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:
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ě…


