Съдържание:

Arduino сериен монитор в Tinkercad: 7 стъпки (със снимки)
Arduino сериен монитор в Tinkercad: 7 стъпки (със снимки)

Видео: Arduino сериен монитор в Tinkercad: 7 стъпки (със снимки)

Видео: Arduino сериен монитор в Tinkercad: 7 стъпки (със снимки)
Видео: Lesson 05: Introduction to Serial Monitor | Robojax Arduino Step By Step Course 2024, Юли
Anonim
Arduino сериен монитор в Tinkercad
Arduino сериен монитор в Tinkercad

Проекти на Tinkercad »

Проследяването на всичко, което се случва във вашата програма, може да бъде трудна битка. Серийният монитор е начин да слушате какво се случва във вашия код, като докладвате на компютъра чрез USB кабела. В симулатора на Tinkercad Circuits, серийният монитор може да се намери в долната част на панела Code и може също да се използва за начертаване на променливите при тяхната промяна. Използвайте серийния монитор, за да „говорите“с компютъра като начин да проверите дали кодът на Arduino прави това, което сте възнамерявали. Това може да бъде много полезно за решаване на проблеми с вашия код (наречен „серийно отстраняване на грешки“).

Двете вериги в този урок използват същите конфигурации като предишните два урока по цифров вход с бутон и аналогов вход с потенциометър. Единствената разлика е, че тези схеми са свободно свързани (без макет) и нямат свързан външен светодиод. О, и те изпълняват код за генериране на серийни съобщения, за които ще научим в този урок.

Можете да го следвате практически, като използвате Tinkercad Circuits. Можете дори да видите този урок от Tinkercad (необходимо е безплатно влизане)! Разгледайте примерната верига и изградете своя собствена до нея. Tinkercad Circuits е безплатна програма, базирана на браузър, която ви позволява да изграждате и симулирате схеми. Той е идеален за учене, преподаване и създаване на прототипи.

Стъпка 1: Отпечатване на серийния монитор с блокове

Образ
Образ

Нека използваме редактора на кодови блокове, за да слушаме входен щифт на Arduino, след което да отпечатаме стойността (аналогова) или състоянието (цифрова) на входа в прозореца на серийния монитор. Щракнете върху бутона „Код“, за да отворите кодовия панел.

Кликнете върху серийния монитор в долната част на кодовия панел.

Щракнете върху „Стартиране на симулация“, за да стартирате примерния код на Arduino и наблюдавайте числата в серийния монитор, докато взаимодействате с потенциометъра. Можете да щракнете напред и назад между двата Arduinos, докато симулацията работи в Tinkercad Circuits, но само аналоговата схема ще се покаже във вградения модул по -горе.

След като дублирате примерната верига във вашия акаунт в Tinkercad, можете да промените кода. Придвижете се до категорията Изходен код, след това плъзнете блок „печат към сериен монитор“и го поставете точно преди серийния блок, който вече е в програмата.

Променете текста по подразбиране, за да маркирате вашите серийни данни, като например „сензор:“(не забравяйте интервала след двоеточието) и коригирайте падащото меню, за да отпечатате без нов ред.

Стартирайте симулацията и наблюдавайте промяната в серийния монитор. Можете да подреждате серийни блокове по този начин, за да създавате полезни съобщения за обратна връзка, докато разработвате всеки код на проекта.

Стъпка 2: Обяснен е кодът на серийния монитор Arduino

Образ
Образ

Когато редакторът на кода е отворен в Tinkercad Circuits, можете да щракнете върху падащото меню вляво и да изберете „Блокове + текст“, за да разкриете кода на Arduino, генериран от кодовите блокове (не е наличен във вградения модул в първата стъпка). Този код изпраща данни от Arduino към серийния монитор, но в по -късен урок можете също да научите как да получавате данни от серийния монитор и двупосочна серийна комуникация.

/*

DigitalReadSerial Чете цифров вход на щифт 2, отпечатва резултата на серийния монитор Този примерен код е обществено достояние. */

Преди

настройвам()

можем да видим многоредов коментар, който започва с

/*

и завършва с

*/

int buttonState = 0;

В самото начало на нашата програма ще създадем променлива, която да поддържа състоянието на входа.

void setup ()

{pinMode (2, INPUT); Serial.begin (9600); }

Вътре в настройката, точно както в уроците за аналогов и цифров вход, щифтът, свързан към превключвателя или сензора, е конфигуриран да бъде вход, използващ

pinMode ()

функция. За да може да изпраща съобщения, Arduino трябва да отвори нов комуникационен канал с

Serial.begin ()

. Това е все едно да натиснете бутона за повикване на телефона-от този момент отваряте комуникационна линия за разговора. Аргументът казва на Arduino колко бързо да комуникира, например 9600 бита в секунда (известен още като бод).

void loop ()

{// четене на входния щифт buttonState = digitalRead (2); // отпечатва състоянието на бутона Serial.print ("сензор:"); Serial.println (buttonState); забавяне (10); // Забавяме малко, за да подобрим производителността на симулацията}

Кодът вътре в цикъла чете състоянието на входа с digitalRead () и го съхранява в променливата buttonState. След това се извиква функция

Serial.println ()

изпраща данните към монитора (през USB кабел в случай на физическа платка Arduino). Ако сте направили промени в блоковете в програмата в предишната стъпка, ще имате и

Serial.print ()

ред код.

println

изпраща нов ред след съобщението и

печат

не. Използвайте например кавички около текстови етикети

Serial.print ("сензор:");

. Ако искате да направите един ред от сериен изход за отстраняване на грешки, можете да използвате няколко

Serial.print ()

команди, последвани от единично

Serial.println ()

Стъпка 3: Кодът за отстраняване на грешки

Образ
Образ

В Tinkercad Circuits има специална функция, наречена Debugger. Той преминава през кода ви и ви позволява да надникнете във вашите променливи и др.

С отворен редактор на кодове намерете Debugger, като щракнете върху бутона с иконата за грешка.

В режим Блокове + текст (или режим Само за текст, ако предпочитате), щракнете върху номер на ред, за да добавите точка на прекъсване, където дебъгерът ще спира всеки път през цикъла.

Стартирайте симулацията.

Задръжте курсора на мишката върху променливите, докато сте на пауза, за да видите техните стойности.

Стъпка 4: Основни устройства за стартиране на последователни вериги

Основни стартери за последователни вериги
Основни стартери за последователни вериги

Тези схеми се предлагат като стартери. Можете да използвате тези стартери по всяко време, когато искате да прочетете цифров или аналогов вход и да отпечатате състоянието му на серийния монитор.

Вземете стартери за вериги Arduino от панела с компоненти (падащо меню -> Стартери -> Arduino).

Стъпка 5: Графични серийни данни

Графични серийни данни
Графични серийни данни

Tinkercad Circuits също има вградена графика на вашите серийни данни, при условие че в потока няма текст. Това е удобно за визуализиране на промените в показанията на сензора и други входове, както и за проследяване на променливи във вашата програма.

Когато серийният монитор е отворен, щракнете върху бутона за графика, за да отворите панела с графики. Премахнете блока с етикети на сензора, който сте добавили по -рано, или използвайте нов сериен стартер на Arduino, за да създадете сериен поток от данни без текст.

Стартирайте симулацията и взаимодействайте с входа, за да наблюдавате промяната на стойностите на графиката.

Стъпка 6: Опитайте с физическа верига Arduino (по избор)

Образ
Образ

Имате възможност да изградите физическа верига, която да върви заедно с този или уроците по цифров вход или аналогов вход, след което да използвате софтуера Arduino на компютъра си, за да видите серийните данни, идващи през USB кабела. За да програмирате физическия си Arduino Uno, ще трябва да инсталирате безплатния софтуер (или приставка за уеб редактора), след което да го отворите.

Свържете веригата Arduino Uno, като включите компоненти и проводници, за да съответстват на връзките, показани тук в Tinkercad Circuits. За по-задълбочено разглеждане на работата с вашата физическа дъска Arduino Uno, разгледайте безплатния клас Arduino на Instructables (подобна схема е описана в третия урок).

Копирайте кода от прозореца с кодове на Tinkercad Circuits и го поставете в празна скица във вашия софтуер Arduino или щракнете върху бутона за изтегляне (стрелка надолу) и отворете

полученият файл с помощта на Arduino. Можете също да намерите тези примери в софтуера Arduino, като отворите Файл -> Примери -> 03. Аналог -> AnalogInOutSerial или Файл -> Примери -> 02. Digital -> DigitalInputPullup.

Включете USB кабела и изберете дъската и порта в менюто Инструменти на софтуера.

Качете кода на дъската си, след което щракнете върху иконата на лупа в горния десен ъгъл, за да отворите серийния монитор. Проверете отново дали скоростта на предаване съвпада с тази във вашата настройка

Serial.begin (9600)

Натиснете бутона или завъртете копчето и наблюдавайте промяната на числата в прозореца на серийния монитор.

Стъпка 7: След това опитайте …

След това опитайте…
След това опитайте…

Сега, след като сте се научили да отпечатвате на серийния монитор, сте готови да тествате нови видове цифрови и аналогови сензори, а също и да се научите да четете входящи серийни данни (въвеждане на потребителска клавиатура).

Можете ли да съставите една схема и програма, която да отпечатва както аналоговите, така и цифровите входове, показани в този урок?

Ето връзка към изобразената схема и нейния код Arduino:

int int buttonState = 0;

int sensorValue = 0; void setup () {pinMode (2, INPUT); pinMode (A0, INPUT); Serial.begin (9600); } void loop () {// четене на входния щифт buttonState = digitalRead (2); // прочетете входа на аналогов извод 0: sensorValue = analogRead (A0); // отпечатва стойности към серийния монитор Serial.print (buttonState); Serial.print (","); Serial.println (sensorValue); забавяне (10); // Забавяме малко, за да подобрим производителността на симулацията}

Продължете, за да изпробвате нов сензор и комбинирайте входове и изходи, например в урока за LED лентовата диаграма на сензора за температура, урок по PIR сензор за движение или урок с фоторезистор. (очаквайте скоро). Използвайте клавиатурата на компютъра си, за да изпращате серийни данни към вашия Arduino и да ги интерпретирате с

Serial.read ()

(урок скоро).

Можете също така да научите повече електронни умения с безплатните класове по Instructables на Arduino, Основна електроника, LED и осветление, 3D печат и др.

Препоръчано: