Spisu treści:

CircuitPython z Itsybitsy M4 Express 1: Konfiguracja: 9 kroków
CircuitPython z Itsybitsy M4 Express 1: Konfiguracja: 9 kroków

Wideo: CircuitPython z Itsybitsy M4 Express 1: Konfiguracja: 9 kroków

Wideo: CircuitPython z Itsybitsy M4 Express 1: Konfiguracja: 9 kroków
Wideo: 3D Hangouts – Slime Tronics 2024, Listopad
Anonim
CircuitPython z Itsybitsy M4 Express 1: Konfiguracja
CircuitPython z Itsybitsy M4 Express 1: Konfiguracja

Nowy w kodowaniu? Używałeś tylko Scratcha i chcesz przejść do języka tekstowego, który zapewnia łatwy dostęp do fizycznych komputerów z diodami LED, przełącznikami, wyświetlaczami i czujnikami? To może być dla ciebie.

Zauważyłem, że ta strona zawiera wiele instrukcji dotyczących kodowania za pomocą Arduino przy użyciu Arduino IDE, ale bardzo niewiele o Pythonie. Uczę kodowania od 1968 roku. (Wtedy nazywaliśmy to programowaniem i używaliśmy FORTRAN IV z kartami Hollerith do wprowadzania danych!) Od tych wczesnych dni używałem wielu różnych języków ze studentami (od 11 lat do dorosłych), w tym LISP, Pascal i wiele innych. różne wersje w BASIC.

Ostatnio wiele szkół w Wielkiej Brytanii zaczęło używać Pythona na swoich lekcjach, ponieważ uczniowie przechodzą od kodowania „blokowego” za pomocą Scratcha lub podobnych instrukcji tekstowych. Python jest prawdopodobnie łatwiejszym krokiem naprzód niż korzystanie z Arduino IDE. Kod CircuitPythona można wykonać, po prostu zapisując kod na płycie rozwojowej, tak jakby był to dysk USB. Z powodzeniem używałem Pythona do obliczeń fizycznych z dziećmi w wieku od 8 do 11 lat w klubie kodowania mojej wnuczki w szkole podstawowej.

Zdecydowałem się użyć narzędzia Itsybitsy M4 Express firmy Adafruit do tych instrukcji z następujących powodów:

  • Niedrogie – poniżej 15 USD (15 GBP)
  • Łatwa konfiguracja i programowanie dzięki CircuitPython (wersja Pythona idealna dla początkujących w programowaniu)
  • Cyfrowe piny wejścia/wyjścia - to świetna zabawa z Blinkies
  • Piny analogowe – 12 bit ADC i DAC - wysoka dokładność
  • Wbudowane diody LED w kolorze czerwonym i RGB DotStar
  • Bezpośrednio napędza Neopiksele
  • Obsługa I2C i SPI – dla czujników i wyświetlaczy
  • Szeroka gama sterowników w obszernej bibliotece
  • Szybki i wydajny - ultraszybki procesor ATSAMD51 Cortex M4 działający z częstotliwością 120 MHz
  • Mnóstwo pamięci - 2 MB pamięci Flash SPI na kod CircuitPython lub pliki danych
  • Ogromne wsparcie ze strony Adafruit z pełną dokumentacją, przewodnikami i internetowym forum pomocy
  • Potrzebuje tylko starego laptopa lub komputera – bez dedykowanego monitora, klawiatury, zasilacza czy myszy.
  • Użytkownik może przekonwertować na Arduino IDE na tej samej płytce, gdy zdobędzie doświadczenie z Pythonem.

Ten pierwszy Instruktaż wyjaśnia, jak skonfigurować tablicę i uruchomić pierwsze skrypty.

Krok 1: Czego potrzebujesz, aby zacząć

Czego potrzebujesz, aby zacząć
Czego potrzebujesz, aby zacząć

Sprzęt komputerowy:

  • Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
  • kabel microUSB
  • Komputer - wystarczy stary laptop
  • Lutownica
  • Lutować
  • Deska do krojenia chleba
  • Listwa żeńska (opcja)

Oprogramowanie:

Edytor Mu

Pobierz edytor Mu z

Zainstaluj go na swoim komputerze. Bardzo proste z pełnymi instrukcjami na stronie.

Krok 2: Sprawdź, czy CircuitPython jest zainstalowany

Sprawdź, czy CircuitPython jest zainstalowany
Sprawdź, czy CircuitPython jest zainstalowany

Otwórz Eksplorator plików na swoim komputerze.

Podłącz mały koniec kabla USB do złącza w Itsybitsy.

Podłącz drugi koniec kabla do portu USB w komputerze.

Powinieneś zobaczyć nowy dysk o nazwie CIRCUITPY. (Jeśli nie, przejdź do strony AKTUALIZACJA).

Kliknij dwukrotnie boot_out i powinieneś zobaczyć taki komunikat:

Adafruit CircuitPython 3.1.1 w dniu 02.11.2018; Adafruit ItsyBitsy M4 Express z samd51g19

Pokazuje to, że masz starszą wersję CircuitPythona, ponieważ obecnie korzystamy z wersji 4. Na razie będzie to w porządku, zaktualizujemy wersję później. Adafruit często ulepsza CircuitPython i publikuje aktualizacje. Te aktualizacje są bardzo łatwe do zainstalowania.

Przejdź do folderu dokumentów i utwórz w nim nowy folder o nazwie Code-with-M.

Uruchom edytor Mu

Krok 3: Korzystanie z Mu Editor w pierwszym programie

Korzystanie z Mu Editor w pierwszym programie
Korzystanie z Mu Editor w pierwszym programie

Kliknij ikonę Serial w górnej części edytora. Powinno to otworzyć okno REPL na dole ekranu. W lewym dolnym rogu powinno być napisane Adafruit. Mu rozpoznał, że do komputera jest podłączona płytka CircuitPython.

Możemy teraz napisać nasz pierwszy program lub skrypt. Kliknij myszką w górnym oknie i wpisz:

print("Witaj, świecie!")

Kliknij ikonę Zapisz. Wybierz napęd CIRCUITPY. Wpisz main.py w polu tytułowym i kliknij przycisk Zapisz.

To bardzo dużo. Twój skrypt zostanie zapisany na Twoim Itsybitsy pod nazwą „main.py”. Każdy plik o tej nazwie jest natychmiast wykonywany przez tablicę. Dane wyjściowe instrukcji print pojawiają się w dolnym oknie REPL.

Edytuj linię programu, aby:

print("\nWitaj, koderze!") i kliknij ikonę Zapisz.

Spróbuj dodać kilka podobnych instrukcji print i uruchom nowy kod.

Oglądaj swój Itsybitsey podczas przesyłania skryptu. Migająca zielona DotStar zmienia kolor na CZERWONY podczas zapisywania skryptu i powraca do ZIELONEGO.

Zróbmy błąd, aby zobaczyć, co się stanie. Po prostu usuń ostatni znak cudzysłowu i uruchom skrypt ponownie. Edytor wskazuje błąd, a dane wyjściowe wskazują typ błędu - składnię - i numer wiersza - aby pomóc w naprawieniu błędu. DotStar sygnalizuje usterkę poprzez zmianę koloru. Więcej na ten temat w dalszej części.

Popraw błąd i uruchom skrypt ponownie.

Teraz musimy zapisać nasz skrypt w bezpiecznym miejscu, abyśmy mogli go później użyć.

Kliknij dwukrotnie kartę nad skryptem. Przejdź do folderu Code-with-Mu dokumentów i zapisz tam swój skrypt pod przydatną nazwą pliku, taką jak FirstProg.py. Zwróć uwagę, że nazwa pliku i ścieżka są wyświetlane na dole edytora.

Krok 4: Twój drugi skrypt - mrugnięcie

Twój drugi skrypt - mrugnięcie
Twój drugi skrypt - mrugnięcie

Wpisz skrypt, zapisz go w CIRCUITPY jako main.py i kliknij Tak, aby zastąpić poprzedni main.py.

(Zawsze używaj nazwy pliku main.py dla swojego skryptu podczas zapisywania do ItsyBitsy. CircuitPython natychmiast uruchamia nowy skrypt.)

Co robi skrypt:

  • Importuje biblioteki nazw pinów na płytce, czas kontroli opóźnień i kontrolę pinów cyfrowych,
  • Ustawia pin 13 na napięcia wyjściowe do wbudowanej czerwonej diody LED
  • Uruchamia nieskończoną pętlę, aby włączyć i wyłączyć diodę LED
  • Czeka na krótkie opóźnienia, aż dioda LED zacznie migać.

Skrypt zawiera mnóstwo komentarzy wyjaśniających, co się dzieje. Komentarze zaczynają się od znaku „#”. Są one przeznaczone dla ludzi, aby pomóc Ci przypomnieć o tym, jak myślisz w danym momencie. Dobre skrypty mają mnóstwo komentarzy.

  1. Spróbuj zmienić wartości w instrukcjach sleep().
  2. Trzymaj diodę LED włączoną przez dwa razy dłużej, dopóki jest wyłączona.
  3. Co się stanie, jeśli opóźnienia są bardzo krótkie? (0,001 sekundy)

Kliknij dwukrotnie zakładkę nad skryptem i zapisz pod nazwą Blink.py w folderze Code-with-Mu.

Krok 5: Aktualizacja wersji CircuitPythona

Aktualizacja wersji CircuitPythona
Aktualizacja wersji CircuitPythona

Przejdź do https://circuitpython.org/downloads w Internecie. Kliknij na zdjęcie Itsybitsy M4 Express (nie wersja M0).

Kliknij fioletowy przycisk, aby pobrać plik. UF2.

Uruchom Eksplorator plików i znajdź plik. UF2

Podłącz swój Itsybitsy M4 Express do portu USB i zlokalizuj jego napęd - CIRCUITPY

Kliknij dwukrotnie mały przycisk resetowania, a nazwa pliku powinna zmienić się na ITSYM4BOOT z CIRCUITPY. Musisz dość szybko kliknąć dwukrotnie.

Przeciągnij plik UF2 i upuść go na dysku ITSYM4BOOT. Plik UF2 zostanie skopiowany do płyty IBM4, a nazwa napędu powróci do CIRCUITPY.

Wybierz dysk CIRCUITPY i kliknij dwukrotnie plik boot_out.

Możesz przeczytać nowy numer wersji, aby sprawdzić, czy został zaktualizowany.

Utwórz nowy folder na dysku CIRCUITPY o nazwie lib. Będziemy tego potrzebować w późniejszych instrukcjach do przechowywania sterowników czujników i wyświetlaczy.

Uruchom ponownie edytor Mu. Załaduj plik main.py z IBM4 i zapisz go z powrotem w IBM4. Czerwona dioda powinna zacząć migać.

Jednokrotne kliknięcie przycisku reset spowoduje ponowne uruchomienie załadowanego skryptu main.py.

Krok 6: REPL

REPL
REPL

Okno na dole edytora, włączane i wyłączane ikoną Serial, to znacznie więcej niż tylko okno drukowania.

„Pętla odczytu, oceny i drukowania (REPL), zwana również interaktywną powłoką najwyższego poziomu lub powłoką językową, jest prostym, interaktywnym środowiskiem programowania komputerowego, które pobiera dane wejściowe pojedynczego użytkownika (tj. pojedyncze wyrażenia), ocenia je i zwraca wynik do użytkownika; program napisany w środowisku REPL jest wykonywany fragmentami. (Google)

Zasadniczo, jeśli napiszesz pojedynczą instrukcję Pythona do REPL, wykona ją od razu. Spróbujmy.

Kliknij myszą w oknie REPL.

Podczas uruchamiania skryptu przytrzymaj klawisz i wciśnij (CTRL-C). To zatrzymuje twój skrypt.

Naciśnij dowolny klawisz, aby wprowadzić REPL i pojawi się monit „>>>”.

wpisz druk(4 + 100)

Natychmiast wraca odpowiedź 104

Spójrz na zdjęcie i wypróbuj kilka z was. (Spróbuj +, -, *, /, // i %)

Spróbuj tego:

>> importuj tablicę

>> dir(tablica)

['_class_', 'A0', 'A1', 'A2', 'A3', 'A4', 'A5', 'APA102_MOSI', 'APA102_SCK', 'D0', 'D1', 'D10', ' D11”, „D12”, „D13”, „D2”, „D3”, „D4”, „D5”, „D7”, „D9”, „I2C”, „MISO”, „MOSI”, „RX”, 'SCK', 'SCL', 'SDA', 'SPI', 'TX', 'UART']

>>

To jest lista nazw pinów dostępnych na płycie IBM4

Aby powrócić do normalności za pomocą miękkiego restartu, wystarczy wpisać CTRL-D i main.py restartuje.

Odłączanie tablicy

Zawsze wyjmuj dysk CIRCUITPY przed odłączeniem od komputera. Nigdy nie wyciągaj go podczas przesyłania danych.

Krok 7: Zakładanie nóg

Zakładanie nóg
Zakładanie nóg
Zakładanie nóg
Zakładanie nóg

Męskie nagłówki są zbyt długie dla płyty, więc przyciśnij/przytnij 2 z nich na odpowiednią długość.

Włóż je do płytki stykowej, umieść IBM4 na górze i przylutuj. Upewnij się, że deska znajduje się we właściwej pozycji! (Chip na wierzchu)

Nie umieszczaj męskich nagłówków na górze. Używam paska 5 żeńskich nagłówków u góry, aby móc użyć wszystkich pinów. Użyj imadła, aby mocno przytrzymać pasek hedera blisko punktu cięcia. Użyj ostrej piły do metalu, aby wyciąć środek dziury - mosiężne złącze wypadnie podczas cięcia. Spiłuj przyciętą krawędź, aby uzyskać czyste wykończenie - bez rowka..

Lutowanie na pinach nie jest trudne. Spójrz na kursy Arduino i Elektronika, jeśli nigdy wcześniej nie używałeś lutownicy. Możliwość lutowania oznacza, że możesz zrobić schludne, trwałe wersje swoich projektów na płytce z paskami, a następnie ponownie wykorzystać płytkę stykową.

Aby zapobiec przegrzaniu płyty, sugeruję, aby nie lutować jednej strony, a następnie drugiej. Zostaw luki i wypełnij później. tj. piny 10, RX, 2, A3, RS, BAT, 9, MI ……itd

Krok 8: Lampka stanu CircuitPython RGB - aby pomóc Ci znaleźć błędy

Lampka stanu CircuitPython RGB - pomaga znaleźć błędy
Lampka stanu CircuitPython RGB - pomaga znaleźć błędy

ItsyBitsy M4 Express i wiele innych płyt M0 i M4 mają na płycie pojedynczą diodę LED NeoPixel lub DotStar RGB, która wskazuje stan CircuitPython. Tutaj jest między (C) a pinem A0.

Oto, co oznaczają kolory i miganie:

  • stały ZIELONY: code.py (lub code.txt, main.py lub main.txt) jest uruchomiony
  • pulsujący ZIELONY: code.py (itp.) zakończył się lub nie istnieje
  • świeci na ŻÓŁTO przy uruchomieniu: (4.0.0-alpha.5 i nowsze) CircuitPython czeka na zresetowanie, aby wskazać, że powinien uruchomić się w trybie awaryjnym
  • pulsujący ŻÓŁTY: Circuit Python jest w trybie awaryjnym: uległ awarii i został ponownie uruchomiony
  • stały BIAŁY: REPL działa
  • stały NIEBIESKI: boot.py jest uruchomiony

Kolory z wielokrotnymi błyskami wskazują na wyjątek Pythona, a następnie wskazują numer wiersza błędu. Kolor pierwszego błysku wskazuje rodzaj błędu:

  • ZIELONY: Błąd wcięcia
  • CYJAN: Błąd składni
  • BIAŁY: NazwaBłąd
  • POMARAŃCZOWY: OSError
  • FIOLETOWY: błąd wartości
  • ŻÓŁTY: inny błąd

Po nich następują błyski wskazujące numer wiersza, w tym wartość miejsca. BIAŁE błyski to tysiące, NIEBIESKIE to setki, ŻÓŁTE to dziesiątki, a NIEBIESKIE to jedne. Na przykład błąd w linii 32 mignąłby trzy razy na ŻÓŁTO, a następnie dwa razy na CYAN. Zera są oznaczone bardzo długą ciemną przerwą.

Są one dość trudne do policzenia. Zawsze miej otwarte okno REPL podczas tworzenia skryptu, a komunikaty o błędach w języku angielskim będą się tam pojawiać.

Krok 9: Patrząc w przyszłość – do Ciebie

Patrząc w przyszłość – do Ciebie
Patrząc w przyszłość – do Ciebie

Kiedy zacząłem ten Instructable, spodziewałem się, że będzie to pierwsza z serii eksplorującej CircuitPython i Physical Computing. Mój plan na następny to pokrycie podstawowych wejść i wyjść za pomocą arytmetyki, diod LED, przełączników, potencjometrów i instrukcji wejściowych. Omówione zostaną również metody pętli i listy (tablice).

Zanim to napiszę, proszę o informację zwrotną, abym mógł dostosować ją do odbiorców.

Oto rzeczy, które chciałbym wiedzieć:

  • Czy tempo jest w porządku?
  • Czy szczegóły są za dużo, za mało lub w porządku?
  • Chcesz trochę ćwiczeń praktycznych?

Do Ciebie.

Zalecana: