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