Spisu treści:
- Krok 1: Czego potrzebujesz, aby zacząć
- Krok 2: Sprawdź, czy CircuitPython jest zainstalowany
- Krok 3: Korzystanie z Mu Editor w pierwszym programie
- Krok 4: Twój drugi skrypt - mrugnięcie
- Krok 5: Aktualizacja wersji CircuitPythona
- Krok 6: REPL
- Krok 7: Zakładanie nóg
- Krok 8: Lampka stanu CircuitPython RGB - aby pomóc Ci znaleźć błędy
- Krok 9: Patrząc w przyszłość – do Ciebie
Wideo: CircuitPython z Itsybitsy M4 Express 1: Konfiguracja: 9 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
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ąć
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
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
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
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.
- Spróbuj zmienić wartości w instrukcjach sleep().
- Trzymaj diodę LED włączoną przez dwa razy dłużej, dopóki jest wyłączona.
- 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
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
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
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
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
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:
NodeMcu ESP8266 Pierwsza konfiguracja z Arduino IDE: 10 kroków
NodeMcu ESP8266 Pierwsza konfiguracja z Arduino IDE: tworzę urządzenia kontrolowane przez Twitch; niestandardowe konsole, kontrolery i inne nowatorskie rozwiązania! Transmisje na żywo odbywają się w każdą środę i sobotę o 21:00 czasu wschodniego na https://www.twitch.tv/noycebru, najciekawsze momenty na TikTok @noycebru, a samouczki można oglądać na YouT
Konfiguracja zewnętrznego dostawcy GPS Bluetooth dla urządzeń z systemem Android: 8 kroków
Konfiguracja zewnętrznego dostawcy GPS Bluetooth dla urządzeń z systemem Android: Ta instrukcja wyjaśni, jak utworzyć własny zewnętrzny GPS z obsługą Bluetooth dla telefonu, rozpalić wszystko za około 10 USD. Zestawienie materiałów: Moduł bluetooth NEO 6M U-blox GPSHC-05 Wiedza na temat interfejs Blutooth Moduły niskoenergetyczneArdui
Konfiguracja szeregowa HC-05 przez Bluetooth: 10 kroków
Konfiguracja szeregowa HC-05 przez Bluetooth: Podczas korzystania z urządzeń z systemem Android i modułów SPP Bluetooth HC-05 w niektórych projektach Arduino, chciałem sprawdzić i zmienić szybkości transmisji HC-05 i inne parametry bez podłączania do portu USB komputera. To zamieniło się w to. Moduły HC-05 łączą szeregowy i Blu
Konfiguracja/instalacja MultiBoard: 5 kroków
Konfiguracja/instalacja MultiBoard: MultiBoard to program, którego można używać do podłączania wielu klawiatur do komputera z systemem Windows. A następnie przeprogramuj wejście tych klawiatur. Na przykład otwórz aplikację lub uruchom AutoHotkeyscript po naciśnięciu określonego klawisza.Github: https://g
Grafika na wyświetlaczu SSD1306 I2C OLED 128x64 z CircuitPython przy użyciu Itsybitsy M4 Express: 13 kroków (ze zdjęciami)
Grafika na wyświetlaczu OLED SSD1306 I2C 128x64 z CircuitPython przy użyciu Itsybitsy M4 Express: Wyświetlacz OLED SSD1306 jest małym (0,96 cala), niedrogim, szeroko dostępnym, monochromatycznym wyświetlaczem graficznym I2C o rozdzielczości 128x64 pikseli, z łatwym interfejsem (tylko 4 przewody) do mikroprocesorowych płytek rozwojowych, takich jak Raspberry Pi, Arduino lub