Spisu treści:

Arduino Serial Monitor w Tinkercad: 7 kroków (ze zdjęciami)
Arduino Serial Monitor w Tinkercad: 7 kroków (ze zdjęciami)

Wideo: Arduino Serial Monitor w Tinkercad: 7 kroków (ze zdjęciami)

Wideo: Arduino Serial Monitor w Tinkercad: 7 kroków (ze zdjęciami)
Wideo: Lesson 05: Introduction to Serial Monitor | Robojax Arduino Step By Step Course 2024, Listopad
Anonim
Monitor szeregowy Arduino w Tinkercad
Monitor szeregowy Arduino w Tinkercad

Projekty Tinkercad »

Śledzenie wszystkiego, co dzieje się w twoim programie, może być ciężką bitwą. Monitor szeregowy to sposób na nasłuchiwanie tego, co dzieje się w kodzie, przesyłając raport do komputera przez kabel USB. W symulatorze Tinkercad Circuits Monitor szeregowy można znaleźć w dolnej części panelu Kod i można go również używać do tworzenia wykresów zmieniających się zmiennych. Użyj monitora szeregowego, aby „rozmawiać” z komputerem, aby sprawdzić, czy kod Arduino robi to, co zamierzałeś. Może to być bardzo przydatne przy rozwiązywaniu problemów z kodem (tzw. debugowanie szeregowe).

Dwa obwody w tej lekcji wykorzystują te same konfiguracje, co w poprzednich dwóch lekcjach dotyczących wejścia cyfrowego z przyciskiem i wejścia analogowego z potencjometrem. Jedyne różnice polegają na tym, że te obwody są swobodnie okablowane (bez płytki stykowej) i nie mają podłączonej zewnętrznej diody LED. Aha, i uruchamiają kod do generowania wiadomości seryjnych, o czym nauczymy się w tej lekcji.

Możesz śledzić wirtualnie za pomocą obwodów Tinkercad. Możesz nawet obejrzeć tę lekcję z poziomu Tinkercad (wymagane bezpłatne logowanie)! Zbadaj przykładowy tor i zbuduj swój własny tuż obok niego. Tinkercad Circuits to darmowy program oparty na przeglądarce, który pozwala budować i symulować obwody. Jest idealny do nauki, nauczania i tworzenia prototypów.

Krok 1: Drukowanie do monitora szeregowego z blokami

Obraz
Obraz

Użyjmy edytora bloków kodu do nasłuchiwania pinu wejściowego Arduino, a następnie wydrukujmy wartość (analogowo) lub stan (cyfrowo) wejścia w oknie Serial Monitor. Kliknij przycisk „Kod”, aby otworzyć panel kodów.

Kliknij Serial Monitor na dole panelu kodu.

Kliknij „Rozpocznij symulację”, aby uruchomić przykładowy kod Arduino i obserwuj liczby w monitorze szeregowym podczas interakcji z potencjometrem. Możesz klikać tam iz powrotem między dwoma Arduino, gdy symulacja jest uruchomiona w Tinkercad Circuits, ale tylko obwód analogowy będzie wyświetlany w powyższym module osadzonym.

Po zduplikowaniu przykładowego obwodu na swoje konto Tinkercad możesz zmienić kod. Przejdź do kategorii Kod wyjściowy, a następnie przeciągnij blok „drukuj do monitora szeregowego” i umieść go tuż przed blokiem szeregowym, który jest już w programie.

Zmień domyślny tekst, aby oznaczyć dane Serialu, na przykład „czujnik:” (nie zapomnij o spacji po dwukropku) i dostosuj menu rozwijane, aby drukować bez nowego wiersza.

Rozpocznij symulację i obserwuj zmianę w monitorze szeregowym. Bloki szeregowe można układać w stos, aby tworzyć przydatne komunikaty zwrotne podczas opracowywania dowolnego kodu projektu.

Krok 2: Wyjaśnienie kodu Arduino monitora szeregowego

Obraz
Obraz

Gdy edytor kodu jest otwarty w Tinkercad Circuits, możesz kliknąć menu rozwijane po lewej stronie i wybrać „Blocks + Text”, aby wyświetlić kod Arduino wygenerowany przez bloki kodu (niedostępne w module wbudowanym w pierwszym kroku). Ten kod wysyła dane z Arduino do monitora szeregowego, ale w dalszej lekcji możesz również dowiedzieć się, jak odbierać dane z monitora szeregowego i dwukierunkową komunikację szeregową.

/*

DigitalReadSerial Odczytuje wejście cyfrowe na styku 2, drukuje wynik na monitorze szeregowym. Ten przykładowy kod znajduje się w domenie publicznej. */

Zanim

Ustawiać()

możemy zobaczyć wielowierszowy komentarz zaczynający się od

/*

i kończy się na

*/

int Stan przycisku = 0;

Na samym początku naszego programu utworzymy zmienną przechowującą stan wejścia.

pusta konfiguracja()

{ pinMode(2, WEJŚCIE); Serial.początek(9600); }

Wewnątrz konfiguracji, podobnie jak w lekcjach dotyczących wejść analogowych i cyfrowych, pin podłączony do przełącznika lub czujnika jest skonfigurowany jako wejście za pomocą

pinMode()

funkcjonować. Aby móc wysyłać wiadomości, Arduino musi otworzyć nowy kanał komunikacji z

Serial.początek()

. To jak naciśnięcie przycisku połączenia na telefonie – od tego momentu otwierasz linię komunikacyjną dla połączenia. Argument mówi Arduino, jak szybko się komunikuje, na przykład 9600 bitów na sekundę (aka bodów).

pusta pętla()

{ // odczytaj pin wejściowy buttonState = digitalRead(2); // wypisz stan przycisku Serial.print("czujnik: "); Serial.println(stan przycisku); opóźnienie(10); // Opóźnij trochę, aby poprawić wydajność symulacji }

Kod wewnątrz pętli odczytuje stan wejścia za pomocą digitalRead() i zapisuje go w zmiennej buttonState. Następnie funkcja o nazwie

Serial.println()

przesyła dane do monitora (po kablu USB w przypadku fizycznej płytki Arduino). Jeśli w poprzednim kroku dokonałeś zmian w blokach programu, będziesz miał również

Serial.print()

wiersz kodu.

drukuj

wysyła nową linię po wiadomości i

wydrukować

nie. Używaj na przykład cudzysłowów wokół etykiet tekstowych

Serial.print("czujnik: ");

. Jeśli chcesz utworzyć pojedynczą linię wyjścia debugowania szeregowego, możesz użyć kilku

Serial.print()

polecenia, po których następuje pojedynczy

Serial.println()

Krok 3: Debuger kodu

Obraz
Obraz

W Tinkercad Circuits dostępna jest specjalna funkcja o nazwie Debugger. Przechodzi przez twój kod i pozwala ci zajrzeć do twoich zmiennych i nie tylko.

Po otwarciu edytora kodu znajdź Debuger, klikając przycisk z ikoną błędu.

W trybie Bloki + tekst (lub w trybie Tylko tekst, jeśli wolisz), kliknij numer wiersza, aby dodać punkt przerwania, w którym debuger będzie się zatrzymywał przy każdym przejściu przez pętlę.

Rozpocznij symulację.

Najedź kursorem na zmienne podczas wstrzymania, aby zobaczyć ich wartości.

Krok 4: Podstawowe rozruszniki obwodów szeregowych

Podstawowe rozruszniki obwodów szeregowych
Podstawowe rozruszniki obwodów szeregowych

Obwody te są dostępne jako rozruszniki obwodów. Możesz użyć tych rozruszników obwodów w dowolnym momencie, aby odczytać wejście cyfrowe lub analogowe i wydrukować jego stan na monitorze szeregowym.

Pobierz startery Arduino z panelu komponentów (menu rozwijane -> Startery -> Arduino).

Krok 5: Wykres danych szeregowych

Wykres danych szeregowych
Wykres danych szeregowych

Tinkercad Circuits ma również wbudowane wykresy danych szeregowych, pod warunkiem, że strumień nie zawiera żadnego tekstu. Jest to przydatne do wizualizacji zmian w odczytach czujników i innych danych wejściowych, a także do śledzenia zmiennych w programie.

Przy otwartym monitorze szeregowym kliknij przycisk wykresu, aby otworzyć panel wykresów. Usuń dodany wcześniej blok etykiety czujnika lub użyj nowego startera szeregowego Arduino, aby utworzyć szeregowy strumień danych bez tekstu.

Rozpocznij symulację i wejdź w interakcję z danymi wejściowymi, aby obserwować zmiany wartości wykresu.

Krok 6: Wypróbuj z fizycznym obwodem Arduino (opcjonalnie)

Obraz
Obraz

Masz możliwość zbudowania fizycznego obwodu, który będzie pasował do tego lub lekcji wejścia cyfrowego lub wejścia analogowego, a następnie użyj oprogramowania Arduino komputera, aby wyświetlić dane szeregowe przychodzące przez kabel USB. Aby zaprogramować fizyczne Arduino Uno, musisz zainstalować bezpłatne oprogramowanie (lub wtyczkę do edytora stron internetowych), a następnie je otworzyć.

Podłącz obwód Arduino Uno, podłączając komponenty i przewody, aby pasowały do połączeń pokazanych tutaj w Tinkercad Circuits. Aby uzyskać bardziej szczegółowy opis pracy z fizyczną płytą Arduino Uno, zapoznaj się z bezpłatną klasą Arduino Instructables (podobny obwód jest opisany w trzeciej lekcji).

Skopiuj kod z okna kodu Tinkercad Circuits i wklej go do pustego szkicu w oprogramowaniu Arduino lub kliknij przycisk pobierania (strzałka skierowana w dół) i otwórz

plik wynikowy za pomocą Arduino. Możesz również znaleźć te przykłady w oprogramowaniu Arduino, przechodząc do Plik -> Przykłady -> 03. Analog -> AnalogInOutSerial lub Plik -> Przykłady -> 02. Digital -> DigitalInputPullup.

Podłącz kabel USB i wybierz swoją płytę i port w menu Narzędzia oprogramowania.

Prześlij kod na swoją tablicę, a następnie kliknij ikonę lupy w prawym górnym rogu, aby otworzyć monitor szeregowy. Dokładnie sprawdź, czy szybkość transmisji odpowiada tej w Twojej konfiguracji

Serial.początek(9600)

Naciśnij przycisk lub obróć pokrętło i obserwuj, jak zmieniają się liczby w oknie Monitora szeregowego.

Krok 7: Następnie spróbuj…

Następnie spróbuj…
Następnie spróbuj…

Teraz, gdy nauczyłeś się drukować na monitorze szeregowym, możesz przetestować nowe rodzaje czujników cyfrowych i analogowych, a także nauczyć się odczytywać przychodzące dane szeregowe (wejście z klawiatury użytkownika).

Czy możesz skomponować pojedynczy obwód i program, który wydrukuje zarówno wejścia analogowe, jak i cyfrowe pokazane w tej lekcji?

Oto link do pokazanego obwodu i jego kodu Arduino:

int int Stan przycisku = 0;

int sensorValue = 0; void setup() { pinMode(2, INPUT); pinMode(A0, WEJŚCIE); Serial.początek(9600); } void loop() { // odczytaj pin wejściowy buttonState = digitalRead(2); // odczytaj wejście na pinie analogowym 0: sensorValue = analogRead(A0); // wypisuje wartości do monitora szeregowego Serial.print(buttonState); Serial.print(", "); Serial.println(WartośćCzujnika); opóźnienie(10); // Opóźnij trochę, aby poprawić wydajność symulacji }

Kontynuuj, aby wypróbować nowy czujnik i łączyć wejścia i wyjścia, na przykład podczas lekcji z wykresem słupkowym LED czujnika temperatury, lekcji na temat czujnika ruchu PIR lub lekcji dotyczącej fotorezystora. (wkrótce). Użyj klawiatury komputera, aby wysłać dane szeregowe do Arduino i zinterpretować je za pomocą

Serial.odczyt()

(lekcja wkrótce).

Możesz także nauczyć się więcej umiejętności w zakresie elektroniki, korzystając z bezpłatnych zajęć Instructables dotyczących Arduino, Basic Electronics, LEDs & Lighting, 3D Printing i innych.

Zalecana: