Spisu treści:
- Krok 1: Cele
- Krok 2: Materiały
- Krok 3: Wstępne kodowanie: Podłącz swój Micro:Bit
- Krok 4: Krok 0: Przepływ kodu
- Krok 5: Krok 1: Definiowanie zmiennych
- Krok 6: Krok 2: Konwertuj wartości przechyłu na poziomy
- Krok 7: Krok 3: Skompiluj poziomy przechyłu
- Krok 8: Krok 4: Napisz funkcje LEDPlotList
- Krok 9: Krok 5: Wykreśl matrycę LED dla każdego przypadku
- Krok 10: Krok 6: Napisz funkcje kalibracji
- Krok 11: Krok 7: Funkcja zapisu stanu
- Krok 12: Krok 8: Łączenie wszystkiego w całość Część 1
- Krok 13: Krok 9: Łączenie wszystkiego w całość Część 2
- Krok 14: Krok 10: Montaż
- Krok 15: Źródło
Wideo: Utwórz poziomicę elektryczną: 15 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
Użyj tej poziomicy, aby szybko i łatwo wyświetlić przechylenie dowolnego dołączonego przedmiotu!
Stworzony przez Kaitlyn z Raffles Institution.
Krok 1: Cele
Naucz się czytać pochylenie dzięki wbudowanemu akcelerometrowi micro:bit.
Naucz się pracować z wyświetlaczem 5x5 LED micro:bit!
Krok 2: Materiały
1 x BBC micro:bit
1 x kabel Micro USB
2 baterie AA
1 x podwójny zestaw baterii AA
Krok 3: Wstępne kodowanie: Podłącz swój Micro:Bit
- Podłącz BBC micro:bit do komputera za pomocą kabla micro USB.
- Uzyskaj dostęp do edytora javascript dla micro:bit na makecode.microbit.org.
Krok 4: Krok 0: Przepływ kodu
Zanim zaczniemy pisać kod, musimy zdecydować, co chcemy osiągnąć za pomocą programu iw jakiej kolejności powinien działać każdy komponent.
W przypadku poziomicy elektrycznej kroki, które wykonamy w kodzie dla każdej pętli, to:
- Odczytuj odczyty pochylenia z akcelerometru.
- Konwertuj odczyty pochylenia na poziomy pochylenia, które mają być wyświetlane na matrycy LED.
- Sprawdź, czy nie zmieniły się odczyty poziomu nachylenia z poprzedniej pętli.
- Utwórz tablicę współrzędnych LED dla różnych przypadków i kierunków pochylenia.
- Wykreśl współrzędne LED na matrycy micro:bit LED.
Kilka dodatkowych funkcji, które musimy uwzględnić to:
- Kalibracja początkowej pozycji pochylenia.
- Powrót do domyślnej kalibracji nachylenia.
Krok 5: Krok 1: Definiowanie zmiennych
Zaczynamy od zdefiniowania potrzebnych zmiennych, jak pokazano. Podział kilku zmiennych to:
- tiltList: tablica przechowująca zakres nachylenia od wartości 0-4 w kolejności [w lewo, w prawo, do przodu, do tyłu]
- tiltBoundary: granica pierwszego poziomu pochylenia od 0 (brak pochylenia) do 1 (niewielkie pochylenie)
- prevState: Tablica przechowująca wartości nachylenia micro:bit z poprzedniej pętli w tym samym formacie co tiltList, używana do sprawdzania zmiany nachylenia między iteracjami
- ledPlotList: Wykreśl tablice współrzędnych led w postaci (x, y). Aby zdefiniować tablicę, używamy typu number, aby wskazać zagnieżdżoną tablicę zmiennych typu: number.
Krok 6: Krok 2: Konwertuj wartości przechyłu na poziomy
Ponieważ matryca LED 5x5 może wyświetlać tylko tyle informacji, rzeczywiste wartości nachylenia nie będą przydatne do wyświetlania.
Zamiast tego funkcja tiltExtent() pobiera parametr num, który odnosi się do wartości nachylenia z akcelerometru, i konwertuje te wartości nachylenia (num) na poziomy nachylenia od 0 do 4.
0 oznacza brak przechyłu w danym kierunku, a 4 oznacza bardzo duże przechylenie, natomiast -1 jest zwracane w przypadku błędu.
Tutaj tiltBoundary i tiltSensitivity są używane jako wartości graniczne między poziomami nachylenia.
Krok 7: Krok 3: Skompiluj poziomy przechyłu
Dwie funkcje checkRoll() i checkPitch() zapisują poziomy nachylenia uzyskane z tiltExtent() w tiltList odpowiednio dla osi roll (lewo-prawo) i pitch (przód-tył).
Przed użyciem wartości tiltu kalibrujemy je za pomocą zerowanej wartości zarówno dla pitch (zeroPitch), jak i roll (zeroRoll) uzyskanej z funkcji kalibracyjnej zapisanej później.
Ponieważ odczyty akcelerometru są ujemne zarówno dla pochylenia w lewo, jak i do przodu, musimy użyć funkcji Math.abs(), aby uzyskać moduł wartości ujemnej, który ma być podany funkcji tiltExtent() jako parametr dla tych dwóch kierunków.
Krok 8: Krok 4: Napisz funkcje LEDPlotList
Po uzyskaniu poziomów nachylenia w tiltList możemy teraz napisać ledowe funkcje kreślenia dla różnych przypadków, które mogą się pojawić, a mianowicie
- plotSingle(): Przechyl tylko w jednym kierunku, przyjmując jako parametr zakres przechyłu w danym kierunku.
- plotDiagonal(): Przechyl w dwóch kierunkach o tej samej wielkości, przyjmując jako parametr zakres przechyłu w dowolnym kierunku.
- plotUnequal(): Przechyl w dwóch kierunkach o różnych wielkościach, przyjmując jako parametr zakres przechyłu w każdym kierunku. Najpierw używa plotDiagonal(), a następnie dodaje do tablicy ledPlotList.
Te funkcje kreślące zapisują tablicę współrzędnych diod led do ledPlotList, aby można ją było później wykreślić.
Krok 9: Krok 5: Wykreśl matrycę LED dla każdego przypadku
Korzystając z funkcji kreślenia z trzech przypadków w kroku 4, możemy teraz wykreślić rzeczywistą matrycę LED dla różnych możliwych kombinacji poziomów nachylenia. Ponieważ trzy funkcje w kroku 4 nie dyskryminują kierunku, musimy dostosować wartości współrzędnych przekazywane do matrycy LED, aby wykreślić diody LED we właściwych kierunkach.
PlotResult() zawiera wiele warunków if, które sprawdzają rodzaj nachylenia i odpowiednio wykreślają matrycę LED za pomocą led.plot(x, y). Możliwe kombinacje pochylenia to:
Pojedynczy kierunek: tylko w lewo lub tylko w prawo
Pojedynczy kierunek: tylko do przodu lub tylko do tyłu
Dwa kierunki: Do przodu w lewo lub Do tyłu w lewo
Dwa kierunki: do przodu w prawo lub do tyłu w prawo
Uwaga: W przypadku pochylenia w dwóch kierunkach, każda kombinacja może mieć taką samą lub różną wielkość (sprawdzane przez porównanie maxX i maxY), a zatem wykreślona odpowiednio za pomocą plotDiagonal() lub plotUnequal().
Krok 10: Krok 6: Napisz funkcje kalibracji
Po ukończeniu większości kodu dodaliśmy teraz funkcje calibTilt() i resetTilt().
calibTilt() pozwala użytkownikom wytarować przechylenie do zera w bieżącej pozycji micro:bit
resetTilt() resetuje kalibrację płytki do jej pierwotnego stanu.
Krok 11: Krok 7: Funkcja zapisu stanu
Dodajemy prostą funkcję checkState(), aby sprawdzić, czy poziomy nachylenia zmieniły się w stosunku do poprzedniej iteracji.
Jeśli nie ma zmiany poziomów nachylenia od poprzedniej iteracji, tj. stateChange == 0, możemy bezpośrednio przejść do następnej iteracji i pominąć kreślenie matrycy LED, zmniejszając potrzebę obliczeń.
Krok 12: Krok 8: Łączenie wszystkiego w całość Część 1
Teraz możemy wreszcie umieścić wszystkie niezbędne funkcje w nieskończonej pętli micro:bit, aby uruchamiać ją wielokrotnie.
Po pierwsze, ustawiamy przyciski A i B na micro:bit odpowiednio na funkcje calibTilt() i resetTilt() za pomocą input.onButtonPressed() i wykreślamy znacznik na matrycy LED po zakończeniu kalibracji.
Krok 13: Krok 9: Łączenie wszystkiego w całość Część 2
Następnie uruchom niezbędne funkcje zgodnie z naszym przepływem kodu w kroku 0 i sprawdź, czy nie nastąpiła zmiana stanu (co oznacza, że nastąpiła zmiana nachylenia micro:bit od ostatniej iteracji).
Jeśli nastąpi zmiana poziomów nachylenia, tj. stateChange == 1, kod zaktualizuje prevState do nowych poziomów nachylenia i ustawi stateChange z powrotem na 0 dla następnej iteracji i wykreśli zaktualizowane poziomy nachylenia na matrycy LED za pomocą PlotResult().
Krok 14: Krok 10: Montaż
Prześlij gotowy kod do micro:bit.
Przymocuj bezpiecznie micro:bit i akumulator do dowolnego przedmiotu i jest gotowy do użycia!
Niesamowite
Baw się z elektryczną poziomicą! A skoro już przy tym jesteś, dlaczego nie spróbować rozszerzyć możliwości czujnika przechyłu, a nawet przekształcić go w grę?
Ten artykuł pochodzi z TINKERCADEMY.
Krok 15: Źródło
Ten artykuł pochodzi z:
Jeśli masz jakieś pytania, możesz skontaktować się z: [email protected].
Zalecana:
Elektryczna gitara na cygara: 18 kroków (ze zdjęciami)
Elektryczna gitara cygarowa: Chociaż produkcja gitar przeszła długą drogę w ciągu ostatnich stu lat, jest długa historia pokazująca, że nie trzeba wiele, aby zrobić gitarę. Wszystko czego potrzebujesz to pudełko do rezonowania dźwięku, deska, która będzie działać jak podstrunnica, kilka śrub
Świeca elektryczna zasilana świecą: 8 kroków (ze zdjęciami)
Świeca elektryczna zasilana świecą: Po obejrzeniu doniesień prasowych o huraganie Sandy i wysłuchaniu próby, przez którą przeszła cała moja rodzina i przyjaciele w Nowym Jorku i New Jersey, zaczęłam myśleć o mojej własnej gotowości na wypadek awarii. San Francisco - w końcu - znajduje się na bardzo
Speedboard: Deskorolka elektryczna: 5 kroków
Speedboard: Deskorolka elektryczna: Witam! Jestem studentem MCT College z Howest w Belgii. Dzisiaj przedstawię Ci krok po kroku, jak zrobić deskorolkę elektryczną z malinowym pi i arduino. Do wykonania tego projektu zainspirował mnie słynny youtuber Casey Neistat
Turbina elektryczna z ESP32: 9 kroków
Turbina elektryczna z ESP32: Dzisiaj będę omawiać turbinę elektryczną z ESP32. Zespół ma część wydrukowaną w 3D. Przedstawię funkcję PWM ESP32, która nadaje się do sterowania silnikami elektrycznymi. Będzie to używane w silniku prądu stałego. Będę też demonstrować
Latarka elektryczna: 8 kroków
Latarka elektryczna: Latarka to przenośne ręczne światło elektryczne. Typowa latarka składa się ze źródła światła zamontowanego w odbłyśniku, baterii, przewodów i włącznika. Źródłem światła jest dioda LED czyli dioda elektroluminescencyjna. W LED dłuższa noga jest dodatnim końcem, a krótsza