Блоки кода новые
Уроки
Проекты
+ : Создать проект
Изменение названия схемы на электрическую схему 1: Схема серии
Выберите Имя файла по умолчанию в левом верхнем углу
ППП
4-ППШ
Потрясающая электрическая схема Albar-Bombul
QUE 1: Схема серии
НИИ ЗЕ1И
Добавление электрических компонентов. TinkerCAD - это интерфейс перетаскивания
Переименовать файл > TinkerCAD Electrical 3: Arduino 1
Arduino: это аппаратное и программное обеспечение с открытым исходным кодом, которое позволяет пользователям подключать цепь с помощью резисторов, кнопок, датчиков и т. Д. И писать программу, которая может принимать и передавать данные для управления схемой.
Arduino имеет собственное программное обеспечение IDE, где пользовательские программы затем загружаются на плату Arduino. TinkerCAD
предлагает моделирование, которое позволяет пользователю создатьсмоделированную плату Arduino и ее схему, а затем пользователь может написать программу для приема и / или передачи данных для управления указанной схемой.
Arduino использует язык программирования на основе C++. Синтаксис программирования Arduino очень похож на C++, поэтому такие вещи, как comparison (IF/THEN Statement), математические вычисления, циклы (FOR, DO, DO/WHILE), окончание строковых операторов ( ; ) и т. Д., Пишутся одинаково. Что отличается, так это то, как данные INPUT/OUTPUT различаются.
Общие команды кодирования см. в справочном документе: Общий синтаксис Arduino на веб-сайте класса.
Цель: Первый учебник предназначен для того, чтобы просто подключить один светодиод, а затем запрограммировать его использование.
Набор инструментов для электрических компонентов > найти Arduino Uno > Перетащите Arduino Uno на экран
Прокрутите вниз в базовой категории
2. Обзор платы Arduino
Цифровые контакты ввода/вывода 0-13: работают в режиме включения/выключения. Это означает, что то, что управляется в этих портах, либо включено, либо выключено. Примером может быть кнопка: она либо нажата, либо нет, между ними нет промежуточного состояния.
Пауэр Коrd to Компьютер. Шнур питания займет место аккумулятора. При запуске моделирования шнур питания автоматически подключается к плате Arduino.
Analog In Pins 0-5: Работа в диапазоне значений, что позволяет пользователю вводить данные, которыепостоянно изменяются. Пример: Термопара (термометр) постоянно измеряет температуру и имеет диапазон значений, в которые она попадает.
Подключите следующую схему (измените номинальные значения электрических компонентов и цвет провода, как показано на рисунке)
Start Digital Pin 7: Цифровые контакты действуют как переключатель для включения / выключения потока электроэнергии в цепь. На плате Arduino находится порт 5 В и 3,3 В, который можно использовать для подачи прямого электричества в цепь без
Перетащите проволоку в + ряд на макете
Поместить резистор = 220 Q от + ряд на макете до соседнего ряда
Примечание: Конец резистора не касается красного провода от Arduino. Как только провод находится в ряду +, либо в - весь ряд заряжается электричеством.
Поместите светодиод со штифтами вдифференциальные колонны. ПРИМЕЧАНИЕ: Анод (изогнутый провод) должен быть на стороне резистора, а катод (прямой провод) должен вести в сторону - на плате.
Примечание: Конец резистора не касается конца светодиода. Как только провод помещается в колонну a-e или f-j, вся колонна (вертикально) заряжается электричеством.
Перетащите провод со стороны катода светодиода на - Ряд на макете
Перетащите проволоку из - ряда на макете в GND (Ground) на Arduino (ПРИМЕЧАНИЕ: Arduino Board имеет 3
GND (наземные порты). Неимеет значения, в каком из этих портов пользователь размещает провод.
Нажмите кнопку «Код» в правой верхней части экрана > выпадающее меню «Выбрать» (по умолчанию в блоках) > «Изменить текст > всплывающее сообщение появится > нажмите «Продолжить»
TinkerCAD позволяет пользователю программировать 1 из 2 способов
Блок: Который разработан с блоками предварительно собранного кода и связан вместе, как кусочки головоломки. Похоже на Scratch или Snap. Блок является более простой формой программирования и является хорошим местом для начала, но естьгибкость при выполнении сложных вычислений, управлении несколькими двигателями / датчиками и т. Д.
Текст: язык программирования на основе C++. Пользователь введет код для работы со схемой. Текст предлагает пользователю более широкий диапазон и гибкость опций припрофессиональной граммовке
5. Выделите весь код и удалите
Программа: Моргание
Объективный:
Включите/выключите светодиод
Использование переменных в коде Arduino
Управление количеством включений/выключений светодиода
Вывод текста с помощью последовательного монитора
ПРИМЕЧАНИЕ: всякий раз, когда пользователи // перед любым текстом; текст, который
следует за этой строкой, становится комментарием, который программное обеспечение не будет читать как команду и пропускать его. Чтобы закомментировать большие разделы за раз, используйте /* в начале и */ и в конце, этопозволяет пользователю комментировать большие части кода за раз.
Цель 1: Включение/выключение светодиода
Введите следующий код (ПРИМЕЧАНИЕ: не беспокойтесь о цветовом кодировании. Исходный код программируется в IDE Arduino, которая кодирует команды цветов. TinkerCAD кодирует только некоторые команды.) > Выберите Отладка, чтобы проверить, есть ли какие-либо ошибки > Исправить ошибки как needed
установка пустоты ()
{
Любой код, введенный в функции void setup(),будет удален один раз
pinMode (7, ВЫХОД); // Объявляет, что контакт 7 может выводить только данные (т.е. включать/выключать свет)
digitalWrite (7, HIGH); // Посылает сигнал на контакт 7 для открытия потока электричества в цепь включения светодиода с задержкой (1000); Позволяет подавать питание на контакт 7 в течение 1000 миллисекунд (Is)
digitalWrite (7, LOW); // Выключает питание на контакте 7; выключение светодиода
}
пустота петли()
{
Любой код, набранный в функции void loop(), будет выдержан бесконечное количество времени.
Примечание: Нет никакого способа разорвать пустой цикл() он бесконечен
Выполнение кода. Нажмите Начать моделирование > Обратите внимание на следующее:
Шнур питания подключается к Arduino , обеспечивая электричество на плате
Светодиод включается на 1000 мс или 1 с, а затем выключается.
Моделирование продолжает выполняться до тех пор, пока пользователь не нажмет кнопку Остановить моделирование. Теоретически программа продолжает выполняться, потому что void loop() небьющийся, но поскольку в этой функции ничего не находится, кажется, что ничего не происходит.
Отрегулируйте код, как показано ниже
void setup()
{
Любой код, введенный в функции void setup(),будет
удален один раз
pinMode (7, ВЫХОД); // Объявляет, что контакт 7 может выводить только данные (т.е. включать/выключать свет void loop() {
Любой код, набранный в функции void loop(), будет выдержан бесконечное количество времени.
Примечание: Нет никакого способаразорвать пустой цикл() он бесконечен
digitalWrite (7,HIGH ); // Посылает сигнал на контакт 7, чтобы открыть поток электричества в цепь включения светодиода
задержка (1000); Допускает подачу питания на контакт 7 в течение 1000 миллисекунд (Is)
digitalWrite (7,LOW ); // Выключает питание на контакте 7; выключение светодиода
задержка (2000 год); // Поддерживает выключение питания на контакте 7 в течение 2000 мс (2 с) перед возвращением в верхнюю часть пустого контура()
Который снова включает светодиод (HIGH State) |
Выполнение кода. Нажмите Начать моделирование > Обратите внимание на следующее:
Шнур питания подключается к Arduino, обеспечивая электричество для board ii. Светодиод включается на 1000 мс или 1 с
Светодиод выключается на 2000 мс или 2 с
Затем void loop() повторяется
Цель 2: Переменные в коде Arduino
В коде Arduino используются те же типы переменных, что и в C++
int = целое число
double или float = вещественное число
char = символ
string = 286 последовательных символов
среди прочих
Одна проблема, с которой мы можем столкнуться при программировании и проводке схем, если нам нужно перемещать провода для разных контактов, то в нашем коде нам придется изменить номера контактов, скорее всего, не хватает одного. Итак, что мы будем делать, так это
использовать имя переменной, чтобы действовать как наш пин.
Есть три четыре места, где переменная может быть объявлена
перед void setup(): это позволяет использовать переменную во всей программе (void setup(), void loop(), любые другие функции, которые могут использоваться
в void setup(): это позволяет использовать переменную только в функции void setup()
выше void loop(): это позволяет использовать переменную любыми функциями после объявления
в цикле void(): это позволяет использовать переменную только в he void loop()
В зависимости от того, что вы хотите сделать, переменная будет зависеть от того, где она объявлена; Я предпочитаю вариант 1, поэтому мне нужно искать только в одном месте. Имейте в виду, что это зависит от программы, чем сложнее программа, тем более вероятно, что объявления будут размещены по всей программе.
Настройте код следующим образом.
Поскольку контакт, который мы используем, является числом 7, а число 7 - целым числом, мы объявим переменную с именем redled (мой светодиод - красный цвет) как целое число и присвоим ей value из 7 > затем настроим наш код туда, где когда-либо число 7 кажется красным
int redled = 7;
void setup()
{
Любой код, введенный в функции void setup(),будет удален один раз
pinMode (redled, OUTPUT); // Объявляет, что redled может выводить только данные (т.е. включать/выключать свет)
пустота петли()
{
Любой код, набранный в функции void loop(), будет выдержан бесконечное количество времени.
Примечание: Нет никакого способа разорвать пустой цикл() он бесконечен
digitalWrite (redled, HIGH); // Посылает сигнал в редлед для открытия потока электричества в цепь включения светодиода задержки (1000); Позволяет подавать энергию в течение 1000 миллисекунд (Is)
digitalWrite (redled, LOW);
Выключает питание на redled; выключение светодиода
задержка (2000 год); Поддерживает выключенное питание в течение 2000 мс (2 с) перед возвращением в верхнюю часть пустотной петли()
Который снова включает светодиод (ВЫСОКОЕ состояние)
a. Запустите симуляцию > Обратите внимание, что программа работает так же, как и предыдущая
Цель 3: Контроль количества включений /выключений светодиода
Теперь код будет настроен на включение / выключение светодиода несколько раз, а затем создавать иллюзию, что программа закончилась
Добавьте следующий код
int redled = 7;
void setup()
Я
Любой код, введенный в функции void setup(),будет удален один раз
pinMode (redled, OUTPUT); // Объявляет, что redled может только выводить данные (т.е. включать/выключать свет пустого контура ()
Я
Любой код, набранный в функции void loop(), будет выдержан бесконечное количество времени.
Примечание: НЕТ способа разорвать пустой цикл() он бесконечен для (int x = 1 ; x < = 3; x++) { digitalWrite (redled, HIGH); // Посылает сигнал в редлированный, чтобы открыть поток электричества в цепь включения светодиода задержки (1000); Позволяет подавать энергию в течение 1000 миллисекунд (Is)
digitalWrite (redled, LOW); Выключает питание на redled; выключение светодиода
задержка (2000 год); Поддерживает выключенное питание в течение 2000 мс (2 с) перед возвращением в верхнюю часть пустотной петли()
Который снова включает светодиод (ВЫСОКОЕ состояние)
Запуск симуляции
Обратите внимание, что код выполняется, и светодиод всегда мигает. Причина этого заключается в том, что цикл FOR работает 3 раза, включая / выключая светодиод, а затем сбрасывается после того, как он выпадает из цикла в3-й раз. Таким образом, у нас все еще есть бесконечный цикл.
Тест показывает, что цикл FOR заканчивается, а цикл void () — нет.
Добавьте оператор задержки после цикла FOR 3000 мс (3 с), > Обратите внимание, что индикатор мигает быстро, тогда есть длительная задержка для сброса.
int redled = 7;
void setup()
{
Любой код, введенный в функции void setup{), будет удален один раз
pinMode (redled, OUTPUT); // Объявляет, что redled может выводить только данные (т.е. включать/выключать свет)
пустота петли()
Я
Любой код, набранный в функции void loop(), будет выдержан бесконечное количество времени.
Примечание: Нет никакого способа сломать пустоту LoopO она бесконечна для (int x - 1 ; х
<- 3; x++) {
Учебное пособие По электрическим схемам серии TinkerCAD 1
Автор: Мэтью Журден 1
Брайтонская средняя школа 1
Брайтон, Мичиган 1
НИИ ЗЕ1И 2
Цель 1: Включение/выключение светодиода 7
Цель 2: Переменные в коде Arduino 9
Цель 3: Контроль количества включений /выключений светодиода 10
Цель 4: Добавление текстового вывода 13
< 14 { ' 15
и 17 15
Я 15
Который снова включает светодиод (ВЫСОКОЕ состояние) }
задержка (3000); // оператор delay показывает, что цикл FOR выходит, а затем сбрасывается
}
Теперь мы поймаем пользователя в ловушку в цикле, который ничего не делает, чтобы создать иллюзию, что программа закончилась с помощью цикла while.
Измените код следующим образом
int redled =7;
int счетчик = 1;
void setup() (
Любой код, введенный в функции void setup(),будет удален один раз
pinMode (redled, OUTPUT); Объявляет, что redled может выводить только данные (т.е. включить/выключить свет void loopO {
Любой код, набранный в функции void loopO, будет выдержан бесконечное количество времени
Примечание: Нет никакого способа разорвать пустой циклO он бесконечен
Учебное пособие По электрическим схемам серии TinkerCAD 1
Автор: Мэтью Журден 1
Брайтонская средняя школа 1
Брайтон, Мичиган 1
НИИ ЗЕ1И 2
Цель 1: Включение/выключение светодиода 7
Цель 2: Переменные в коде Arduino 9
Цель 3: Контроль количества включений /выключений светодиода 10
Цель 4: Добавление текстового вывода 13
< 14 { ' 15
и 17 15
Я 15
11 Который снова включает светодиод (ВЫСОКОЕ состояние)
counter++;
if (counter =4) // использование переменной счетчика позволяет программе проверять
каждый раз через цикл, чтобы увидеть, сколько раз через цикл
как только счетчик = 4, то светодиод перестанет мигать, а nested while loop будет захватывать пользователя
{ digitalWrite (redled, LOW); в то время как (верно) (
оставить, пока цикл пуст; пользователь будет пойман в ловушку здесь, но не будет знать об этом
}
Запустите уведомление о > моделирования
Индикатор мигает ВКЛ/ВЫКЛ 3 раза, проверяя каждый раз с помощью счетчика IF/THEN, если счетчик равен 4
Как только счетчик равен 4 , свет выключается
Цель 4: Добавление текстового вывода
Добавление текста в программу для вывода/ввода информации Arduino использует serial Monitor. Последовательный монитор расположен влевом нижнем углу экрана программирования
Именно здесь программирование Arduino отличается от программирования на C++ при работе с Input/Output.
Подключение к последовательному монитору и вывод на последовательный монитор
В void setup() поместите следующую строку кода
серийный. Бегин (9600); Этот код задает скорость передачи данных между ПК и
совет Ардуино. 9600 - это число Златовласки для передачи английских данных charaters.
int redled = 7;
int счетчик = 1;
void setup() (
Любой код, введенный в функции void setup О, будет удален один раз
pinMode (redled, OUTPUT); // Объявляет, что redled может выводить только данные (т.е. включать/выключать свет)
i Серийный. начало (9600);
II Устанавливает скорость передачи данных; скорость передачи данных между ПК и платой Arduino
}
В void loop() поместите следующий код
Два варианта печати элементов на последовательном мониторе
Вариант 1: Serial.print («ВВЕДИТЕ ИНФОРМАЦИЮ ДЛЯ ВЫВОДА); или Serial.print (имя переменной места ); Оба варианта будут удерживать курсор на одной строке при выводе
13 ваити гагара (}
<
14 { '
j 15 // Любой код, введенный в функции void loop(), будет удален
16 // Примечание: Нет никакого способа разорвать пустоту () она бесконечна
и
17
Я
19 digitalWrite (redled, HIGH); Посылает сигнал на redled to op
задержка (1000); Позволяет подавать энергию в редле
digitalWrite (redled, DOW); // Выключает питание на redled; tin
задержка (2100); Поддерживает выключенное питание до понижения
2 3 // Который поворачивает светодиод назад. ВКЛ (f
, 24 Последовательный. печать («МИР АДА»);
Текст остается на той же строке
используя переменную счетчика al // один раз счетчик = 4, то светодиод