Spisu treści:
- Krok 1: Użyte materiały
- Krok 2: Konfiguracja urządzenia, instalacja skryptu
- Krok 3: Skrypty Micro Pythona
- Krok 4: Hermetyzowana, odporna na warunki pogodowe wersja
- Krok 5: Skrypt MakeCode
Wideo: Wskaźnik kierunkowy Micro:bit do kasków rowerowych: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Zaktualizowana wersja 2018-maj-12
Poniżej znajduje się instrukcja, jak zbudować prosty wskaźnik kierunku oparty na technologii micro:bit do kasków rowerowych (lub podobnych). Wykorzystuje akcelerometry wbudowane w micro:bit jako elementy sterujące.
Dostarczone skrypty micro python są zoptymalizowane dla mu, edytora micro python z określonym "trybem" dla micro:bit. W najnowszej wersji jest wyposażony w ploter szeregowy i początkowo chciałem tylko zrozumieć, jak używać go do wyświetlania zmierzonych wartości (podpowiedź: wyślij dane jako krotki: print((x, y, z)), używając podwójnych nawiasów).
Na wyświetlaczu LED 5x5 urządzenia micro:bit wyświetlane są cztery wzory:
- W stanie spoczynku wyświetlany jest ładny, losowy wzór. Obecnie można znaleźć skrypty dla trzech różnych wzorców, wzorca „świetlik”, „deszcz” i „spadająca gwiazda”. Zajrzyj i wybierz ten, który najbardziej Ci się podoba. Możesz swobodnie dostosować parametry, aby były bardziej lub mniej gęste lub działały szybciej lub wolniej.
- Dalej znajdują się wskaźniki „skręć w prawo” lub „skręć w lewo” w postaci poruszających się strzałek. Aktywuje się je przechylając głowę w lewo lub w prawo, naciskając przyciski na micro:bit. W wersji skryptu z przyciskami zewnętrznymi aktywuj, naciskając jeden z przycisków zewnętrznych podłączonych do pinów 0 i 1.
- Jeśli pochylisz głowę do tyłu lub oba przyciski na micro:bit zostaną aktywowane w tym samym czasie, wyświetli się wzór „alert” lub „break”.
Ten wyświetlający wzorzec micro:bit może być używany jako wskaźnik kierunkowy, np. do jazdy na rowerze, jazdy na łyżwach lub na nartach. Zamocuj micro:bit na kasku i kontroluj go za pomocą pozycji głowy. Lub napraw go na swoim rowerze, załaduj skrypt przycisku zewnętrznego i steruj nim za pomocą dwóch zewnętrznych przełączników podłączonych do micro:bit za pomocą kilku kabli.
Dla osób pracujących z MakeCode dodałem w ostatnim kroku skrypt blokowy, który można skopiować bezpośrednio do micro:bit. Jest mniej wyszukany, ale zapewnia podstawową funkcjonalność bez konieczności instalowania mu.
Proszę pamiętaj:
- Chociaż ten projekt może być pomocny dla twojego bezpieczeństwa, upewnij się, że zawsze jasno wskazujesz, gdzie chcesz prowadzić, używając rąk i ramion.
- Koncepcja nie była intensywnie testowana na drodze i miała służyć jedynie jako przykład programowania. Używaj go na własne ryzyko.
- Z wersji podstawowej korzystaj tylko w suchych warunkach pogodowych, ponieważ micro:bit i akumulator lub pakiety LiPo są wrażliwe na wilgoć. Poniżej znajduje się opis, jak zbudować enkapsulowaną wersję.
Krok 1: Użyte materiały
Micro:bit. Komputer z zainstalowanym edytorem mu. Akumulator lub pakiet LiPo do micro:bit. Kask rowerowy. Użyłem takiego, który miał podświetlenie LED. Kawałek polipropylenowej tektury o grubości 3 mm, jako element dystansowy między micro:bit a hełmem. Dwustronna taśma klejąca do mocowania micro:bita do elementu dystansowego, a ten do kasku. taśma do mocowania micro:bit i akumulatora w kasku.
W przypadku wersji zamkniętej: pudełko z przezroczystego tworzywa sztucznego 59 x 59 x 30 mm, Modulor, Berlin: 0,70 Euro Kitronic MI:płyta zasilająca, dwustronna taśma klejąca za 5 GBP i kawałek płytek PP
Dla wersji z przełącznikami zewnętrznymi (szczegóły nie pokazane tutaj):Przewody połączeniowe i dwa przełączniki, dwie białe diody LED, rezystor 10 kOhm, płytka stykowa. Zaciski krokodylkowe. śruby mosiężne M3 (20 mm), nakrętki nylonowe M3; po cztery, dla pinu 0, pinu 1, 3V i masy. Przełóż wkręty przez otwory w płytce drukowanej micro:bit i przykręć je wkrętami. Ułatwiają mocowanie zacisków krokodylkowych.
Krok 2: Konfiguracja urządzenia, instalacja skryptu
- Zainstaluj edytor mu na swoim komputerze.
- Podłącz micro:bit do komputera.
- Załaduj żądany skrypt.
- Flash skrypt do micro:bit.
- W przypadku skryptów akcelerometru (hełmu) przymocuj micro:bit i akumulator do kasku. Jako element dystansowy i przewód dwustronny taśmę po obu stronach, aby przymocować micro:bit do kasku. Następnie przymocuj micro:bit i akumulator taśmą klejącą do kasku.
- Aby sprawdziła się pogoda, spójrz na późniejszy krok.
- W razie potrzeby dostosuj wartości progowe x i z zgodnie z własnymi potrzebami.
W przypadku skryptu sterowanego przyciskami i jeśli chcesz używać przycisków zewnętrznych, podłącz szyny zasilające płytki stykowej do portów Gnd i 3V micro:bit. Podłącz przyciski do Gnd oraz portów Pin0 i Pin1
Krok 3: Skrypty Micro Pythona
W załączeniu znajdują się skrypty micro python dla mu i micro:bit.
Istnieją cztery skrypty: jeden kontrolujący wyświetlacz za pomocą wbudowanych i zewnętrznych przycisków, trzy za pomocą wbudowanych akcelerometrów micro:bit. Mają różne generatory losowych wzorców dla stanu spoczynku.
Istnieje wzór „świetlika”, wzór „deszczu” i wzór „spadającej gwiazdy” (w stylu matrycy). Skrypt świetlika/akcelerometru znajduje się poniżej. Istnieje również skrypt, który ma wszystkie trzy wzorce i uruchamia je w losowej kolejności, z nowym wyborem za każdym razem, gdy wskaźnik został aktywowany.
Wartości akcelerometru są przesyłane do komputera i można je odczytać za pomocą monitora szeregowego edytora mu lub wyświetlić na ploterze szeregowym.
Łatwo jest zmienić parametry, aby dostosować skrypty do własnych wymagań i preferencji.
'''Wersja sterowana kątem/akcelerometrem lub wbudowanymi przyciskami. 2018-Maj-07 Prosty skrypt, który tworzy wzór "świetlika" w stanie spoczynku, poruszające się strzałki w lewo lub w prawo, jeśli bit m jest skręcony w odpowiednim kierunku, lub przyciski A lub B są naciśnięte lub wskaźnik przerwania/alert jeśli oba przyciski są wciśnięte lub bit m jest wygięty do tyłu. Może być używany do podświetlenia kasku rowerowego lub podobnego. Kompilacja dla edytora mu micro Python autorstwa dr H. https://www.instructables.com/id/A-Microbit-Direction-Indicator-for-Biking-Helmets/ ''' z importu microbit * import random random.seed(3433) # wpisz swoją szczęśliwą liczbę de = 100 # ustawia czas opóźnienia wyświetlania w ms ff1 = 100 # ustawia czas opóźnienia świetlika 1 w ms ff2 = 50 # ustawia czas opóźnienia świetlika 2 w ms fn = 3 # ustawia liczbę punktów nasion świetlika thresh_z = 80 # wartość progowa dla wstecznego thresh_x = 350 # wartość progowa dla bocznych # zdefiniuj obrazy image_l_1 = Image("00900:" "09000:" "97531:" "09000:" "00900") image_l_2 = Image("09000:" "90000:" "75319:" "90000:" "09000") image_l_3 = Obraz("90000:" "00009:" "53197:" "00009:" "90000") image_l_4 = Obraz("00009:" "00090:" "31975:" "00090:" "00009") image_l_5 = Obraz("00090:" "00900:" "19753:" "00900:" "00090") image_r_1 = Obraz("00900:" "00090:" "13579:" "00090:" "00900") image_r_2 = Obraz("00090:" "00009:" "91357:" "00009:" "00090") image_r_3 = Obraz("00009:" "90000:" "79135:" "90000:" "00009") image_r_4 = Image("90000:" "09000:" "57913:" "09000:" "90000") image_r_5 = Image("09000:" "00900:" "35791:" "00900:" "09000") image_z_1 = Image("90009:" "00000:" "00900:" "00000:" "90009") image_z_2 = Image("09090:" "90009:" "00000:" "90009:" "09090") # uruchom program while True: print((accelerometer.get_x(), accelerometer.get_y(), accelerometer.get_z())) # do użycia z monitorem szeregowym lub ploterem w celu optymalizacji wartości progowej; # wycisz klawiszem '#', jeśli nie jest używany if ((accelerometer.get_z() > thresh_z) # głowa odgięta do tyłu, dostosuj w razie potrzeby lub (button_a.is_pressed() i button_b.is_pressed())): # do celów kontrolnych wyświetl. show(Image. DIAMOND_SMALL) sleep(de) display.show(Image. DIAMOND) sleep(de) display.show(image_z_2) sleep(de) display.show(image_z_1) sleep(de) display.clear() elif ((accelerometer.get_x() thresh_x) # wskaźnik kierunku w prawo; aby aktywować zgięcie głowicy około 20 stopni w prawo lub button_b.is_pressed()): display.show(image_r_1) sleep(de) display.show(image_r_2) sleep(de) display. show(image_r_3) sleep(de) display.show(image_r_4) sleep(de) display.show(image_r_5) sleep(de) display.clear() else: # generator wzorców 'firefly' dla g w zakresie(0, fn): # inicjuje podaną liczbę (fn) pikseli x = random.randint(0, 4) # wybiera losową pozycję y = random.randint(0, 4) v = 9 # maksymalna jasność inicjatora # v = random.randint(0, 9) # opcjonalnie: losowe wyświetlanie jasności nasion.set_pixel(x, y, v) # ustaw prędkość uśpienia świetlika (ff1) # display for ff ms # zmniejsza intensywność wszystkich pikseli o jeden krok dla j in range(0, 5): # dla każdego piksela tablicy LED dla i in range(0, 5): b = display.get_pixel(i, j) # pobierz natężenie prądu, jeśli (b > 0): f = b - 1 # zmniejsz jasność o jeden inny: f = 0 # ustawia 0 jako najniższą dozwoloną wartość display.set_pixel(i, j, f) sleep(ff2)
Krok 4: Hermetyzowana, odporna na warunki pogodowe wersja
Jak wspomniano powyżej, podstawowa wersja nie jest odporna na warunki atmosferyczne. Dlatego zbudowałem wersję hermetyczną.
Do zasilania micro:bit tutaj użyłem płyty Kitronic MI:power. Zasilany jest baterią monetową 3 V i może być przymocowany do micro:bit za pomocą trzech śrub i nakrętek. Posiada również wbudowany wyłącznik zasilania. Alternatywnie możesz użyć baterii LiPo.
Jako obudowę używam przezroczystego plastikowego pudełka o wymiarach 59 x 59 x 30 mm. Jako element dystansowy użyto kawałka plastikowej tektury o grubości 3 mm pokrytej dwustronną taśmą klejącą. Jest to wymagane, ponieważ tył MI:power nie jest nawet spowodowany nakrętkami i utrzymuje micro:bit na miejscu.
Pudełko z micro:bit jest następnie mocowane do hełmu za pomocą kolejnego kawałka plastikowego kartonu pokrytego dwustronną taśmą.
Krok 5: Skrypt MakeCode
Dla tych, którzy nie chcą lub nie mogą zainstalować mu, dodałem skrypt blokowy MakeCode o podobnych funkcjonalnościach. Zdecydowanie nie tak wyszukane, ale wystarczająco dobre, aby pokazać zasadę.
Możesz po prostu skopiować plik do swojego micro:bit i grać.
Zalecana:
Wskaźnik głośności Neopikselowy pierścień LED Ws2812 i Arduino: 8 kroków
Wskaźnik głośności Neopixel Ws2812 LED Ring i Arduino: W tym samouczku dowiemy się, jak zrobić wskaźnik głośności za pomocą pierścienia LED Neopixel Ws2812 i arduino. Obejrzyj wideo
BI - KIERUNKOWY LICZNIK ODWIEDZAJĄCY PRZY UŻYCIU 8051 (AT89S52): 4 kroki
DWUKIERUNKOWY LICZNIK ZWIEDZAJĄCY UŻYWAJĄCY 8051 (AT89S52): Celem tego projektu jest zliczanie liczby odwiedzających wchodzących i wychodzących z pokoju oraz aktualizacja szczegółów na wyświetlaczu LCD. Projekt składa się z mikrokontrolera AT89S52, dwóch czujników podczerwieni i wyświetlacza LCD . Czujniki podczerwieni wykrywają zewnętrzne
Hack na kołach rowerowych: 3 kroki
Bike Wheel Lights Hack: Widoczność w nocy jest ważnym czynnikiem bezpieczeństwa jazdy na rowerze. Ale kogo żartuję, to światło jest po prostu fajne i dlatego tego chcesz: D Na szczęście światło jest bardzo proste w budowie, nie wymaga żadnych specjalnych narzędzi ani umiejętności
4-kierunkowy system sygnalizacji świetlnej wykorzystujący 5 Arduino i 5 modułów bezprzewodowych NRF24L01: 7 kroków (ze zdjęciami)
4-kierunkowy system sygnalizacji świetlnej wykorzystujący 5 Arduino i 5 modułów bezprzewodowych NRF24L01: Jakiś czas temu stworzyłem instrukcję opisującą pojedynczą parę sygnalizacji świetlnej na płytce stykowej. Stworzyłem również kolejną instrukcję pokazującą podstawowe ramy korzystania z modułu bezprzewodowego NRF24L01. dało mi do myślenia! Jest całkiem sporo
Zestaw lampek rowerowych wielokrotnego ładowania z baterią do butelek: 13 kroków
Akumulatorowy zestaw oświetlenia rowerowego z baterią do butelek: To jest mój zestaw świateł, który właśnie ukończyłem na długie szkockie zimy, wraz z przednimi lampami o dużej mocy i prawdziwymi diodami LED oraz akumulatorem do butelek. Czerpię inspirację od kilku osób, do których odnoszą się podziękowania