Micro:Bit jako krokomierz

Celem tego projektu będzie zamiana płytki Micro:Bit na krokomierz własnej produkcji. Taki prosty wynalazek ma całkiem dobrą dokładność, bo w zasadzie sami jesteśmy ją w stanie dopasować do swoich indywidualnych cech. Warto też zauważyć, że będzie to bardzo wyróżniający się gadżet na naszej ręce lub nodze zwłaszcza, gdy wyposażymy bransoletkę taką jak ta widoczna poniżej

Krokomierz będzie miał bardzo proste zasady działania – gdy tylko Micro:Bit wykryje potrząśnięcie, to do puli kroków powinna zostać dodana wartość 1. Będzie też trzeba w zaprogramować ukazywanie się bieżącej liczby kroków oraz sposobu kasowania całej puli.

Zaznaczam, że przedstawiony tu sposób realizacji projektu to jedynie przykład, który starałem się dopasować poziomem dla osób początkujących zarówno z programowaniem w Pythonie, jak i z płytką Micro:Bit.

Co będzie potrzebne:

  • płytka Micro:Bit,
  • kabel USB do połączenia płytki i komputera,
  • komputer z dostępem do internetu.

Kod projektu:

1
2
3
4
5
6
7
8
9
10
11
from microbit import *

kroki = 0
while True:
    if accelerometer.was_gesture("shake"):
        kroki += 1
    if button_a.is_pressed():
        display.scroll(str(kroki))
    if button_b.is_pressed():
        kroki = 0
    display.clear()

Opis kodu:

Na samym początku działania programu należy ustalić zmienną, która będzie przechowywała aktualną liczbę wykonanych kroków. W tym krokomierzu będzie to zmienna krok. Oczywiście w momencie uruchomienia płytki Micro:Bit powinna być ustalona na wartość zero (nie dajemy sobie forów).

Następnie, w nieskończonej pętli while True zapisujemy trzy warunki, na których będzie opierał się krokomierze. Pierwszy warunek if accelerometer.was_gesture("shake"): sprawia, że za każdym razem, gdy Micro:Bit wykryje potrząśnięcie, to pula kroków zwiększy się o 1. Drugi warunek if button_a.is_pressed(): obsługuje akcję po wciśnięciu przycisku oznaczonego literą A. Po jego włączeniu, wyświetlacz LED pokaże aktualną liczbę kroków. Trzeci warunek if button_b.is_pressed(): resetuje liczbę kroków.