Spisu treści:

MicroPython na SPIKE Prime: 12 kroków
MicroPython na SPIKE Prime: 12 kroków

Wideo: MicroPython na SPIKE Prime: 12 kroków

Wideo: MicroPython na SPIKE Prime: 12 kroków
Wideo: Running micropython on the Lego Spike Prime hub 2024, Listopad
Anonim
MicroPython na SPIKE Prime
MicroPython na SPIKE Prime

Możesz kodować SPIKE Prime za pomocą MicroPythona, który jest podzbiorem Pythona dla małych mikroprocesorów.

Do kodowania koncentratora SPIKE Prime można użyć dowolnego emulatora terminala.

Kieszonkowe dzieci

Piasta SPIKE Prime

Komputer z portem USB / bluetooth

Kabel USB do podłączenia koncentratora do komputera

Krok 1: Chwyć emulator terminala

Chwyć emulator terminala
Chwyć emulator terminala
Chwyć emulator terminala
Chwyć emulator terminala

Do wyboru jest wiele opcji.

CoolTerm działa na wszystkich platformach, w tym Pi

Szpachlówka działa na oknach

polecenie screen w Terminalu w systemie operacyjnym unix

Krok 2: Podłącz SPIKE Prime do portu USB

Podłącz SPIKE Prime do portu USB
Podłącz SPIKE Prime do portu USB
Podłącz SPIKE Prime do portu USB
Podłącz SPIKE Prime do portu USB

Użyj kabla microUSB, aby podłączyć SPIKE Prime do komputera.

Krok 3: Znajdź port

Znajdź port
Znajdź port
Znajdź port
Znajdź port

Musimy wiedzieć, do którego portu szeregowego jest podłączony koncentrator SPIKE Prime.

Na Macu wpisz

ls /dev/tty.usbmodem*

Na komputerze zajrzyj do menedżera urządzeń pod portem szeregowym, aby zobaczyć, jakie porty szeregowe zostały podłączone

Na pi będzie to coś takiego jak ttyAMC0 - sprawdź swój /dev/folder

Krok 4: Połącz się

Połącz się
Połącz się
Połącz się
Połącz się

Podłącz do odpowiedniego portu (z poprzedniego kroku) przy 115200 bodów

W Terminalu wpisz

userkomputer$ ekran /dev/ 115200

W innym IDE, naciśnij Open/ connect (po ustawieniu portów i szybkości transmisji)

Uwaga: brak parzystości, 8 bitów danych i 1 bit stopu

Krok 5: Rozpoczęcie REPL

Rozpoczęcie REPL
Rozpoczęcie REPL
Rozpoczęcie REPL
Rozpoczęcie REPL
Rozpoczęcie REPL
Rozpoczęcie REPL

Kiedy połączysz się ze SPIKE Prime z terminala/PUTTY, zobaczysz strumień cyfr i znaków. Są to dane z wewnętrznych czujników koncentratora SPIKE Prime. Aby rozpocząć, naciśnij Ctrl + C

Przerwie port szeregowy i powinieneś zobaczyć coś takiego.

MicroPython v1.9.4-1146-gca9944357 dnia 2019-09-25; LEGO Technic Large Hub z STM32F413xx Wpisz „help()”, aby uzyskać więcej informacji.

Teraz jesteś gotowy do kodowania.

Krok 6: Twój pierwszy kod

Twój pierwszy kod
Twój pierwszy kod

centrum importu

hub.display.show('Kępki')

Zwróć uwagę na polecenie „Importuj” - które pobiera bibliotekę Pythona, która pozwala rozmawiać ze SPIKE Prime. Powinieneś zobaczyć napis Tufts na matrycy LED na piaście.

Krok 7: Wyświetl swoje imię

teraz spróbuj pisać

hub.display.show(' ')

zauważ, że skoro już zaimportowałeś hub powyżej, jest on już w pamięci. Gdyby tak nie było, pojawiłby się błąd taki jak:

Traceback (ostatnie wywołanie:File "", wiersz 1, inNameError: nazwa 'hub' nie jest zdefiniowana

Krok 8: Korzystanie z REPL

Jednym z potężniejszych atrybutów Pythona jest to, że możesz przetestować wszystko przed napisaniem kodu w REPL (czytaj pętlę drukowania eval).

Wykona dowolne polecenie Pythona - spróbuj wpisać 2 + 2 poniżej i zobacz, co mówi:

2+2

Krok 9: Odkrywanie MicroPythona na SPIKE Prime

Teraz nadszedł czas na eksplorację.

hub ma wiele funkcji - możesz się o tym przekonać, wpisując „hub”. (nie zapomnij o kropce po hubie), a następnie wciśnięciu klawisza TAB w REPL. To pokaże Ci wszystkie różne sposoby wykonania polecenia.

Wyzwanie: Sprawdź, czy potrafisz odczytać przyspieszenie.

Krok 10: Odczytywanie wartości czujnika…1

Dane dotyczące przyspieszenia powracają w postaci tablicy wartości. więc jeśli chcesz tylko wartość X, możesz spróbować

hub.motion.accelerometer()[0]

lub lepszym sposobem na kodowanie byłoby użycie takich zmiennych:

centrum importu

accel = hub.motion.accelerometer() xAccel = accel[0] hub.display.show(str(xAccel))

Krok 11: Odczytywanie wartości czujnika…2

Odczytywanie wartości czujnika…2
Odczytywanie wartości czujnika…2

Możesz również wyświetlić wszystkie trzy przyspieszenia za pomocą pętli.

Zaimportujemy również bibliotekę utime, abyśmy mogli zatrzymać się i dać ci czas na odczytanie numeru na ekranie.

Wypróbuj ten kod:

import hub, utimeaccel = hub.motion.accelerometer() dla Acc w accel: hub.display.show(str(Acc)) utime.sleep(0.8)

W tym momencie ważne staje się kilka rzeczy:

spacje - w Pythonie chodzi o wcięcie z prawej strony - podobnie jak nawiasy w innych językach, wcięcie mówi, co znajduje się w pętli for, a co nie.

gdy używasz REPL, zauważysz, że kiedy robisz wcięcie, nie wykonuje już wiersza, ale raczej czeka, aż skończysz wiersze dla pętli for przed wykonaniem (a >>> jest zastępowane przez …). Aby zakończyć pętlę for, po prostu naciśnij return trzy razy, a pętla zostanie wykonana.

Krok 12: Wyzwanie

Następnie sprawdź, czy możesz dowiedzieć się, co robi poniższy kod – i spróbuj go wykonać, aby sprawdzić, czy masz rację.

centrum importu, utime

while True: accel = hub.motion.accelerometer() for Acc in accel: hub.display.show(str(Acc)) utime.sleep(0.8) if hub.port. B.device.get(): break

Podpowiedź - potrzebujesz czujnika na porcie B.

Zalecana: