ГлавнаяРуководства для ПКРуководство для начинающих по Arduino

Руководство для начинающих по Arduino

Светодиодные индикаторы

ли вы ветеринаром по встраиваемым системам, ученым средней школы или любопытным человеком, вам нужно с чего-то начать свои исследования в области электроники. Если руководства недостаточно, ознакомьтесь с руководством по Arduino для начинающих.

Читайте также: 6 лучших альтернатив Raspberry Pi

Что такое Arduino?

Arduino — это бренд микроконтроллерных плат с открытым исходным кодом, разработанный компания Ардуино .

Когда вы говорите об Arduino, обыч

Что такое Arduino?

Arduino особенные, потому что они долговечны. Они предназначены для студентов (или кого-либо еще), кто может что-то испортить или сломать.

Еще одна их особенность — то, что они имеют открытый исходный код. таблицы данных для всех плат и шилдов Arduino доступны в Интернете. Вы можете сделать свою собственную плату Arduino, если у вас есть технические ноу-хау.

Что это значит для меня?

Для новичка это означает:

  1. Для изучения микроконтроллеров не нужно создавать собственные схемы.
  2. Эти доски оснащены функциями безопасности, которые не позволят вам случайно сломать их.
  3. Сообщество разработчиков аппаратного обеспечения с открытым исходным кодом создало множество плат для разных целей – есть даже одна, предназначенная для наклеивание электроники на одежду !

Анатомия платы Arduino

Существует множество видов плат Arduino. Некоторые из них крошечные, как аккумулятор, а другие большие, как цифровая камера, но у всех есть несколько общих частей:

  1. Микроконтроллер
  2. Заголовки
  3. Порты питания и USB
  4. Светодиодные индикаторы

Существуют и другие сторонние платы на б

Что это значит для меня?

ми производителями, но обычно у них есть общие черты.

Микроконтроллер (MCU)

Микроконтроллер, также известный как MCU, считывает и управляет всеми входами и выходами на плате. Он также хранит созданный пользователем код, который заставляет его что-то делать.

Arduino Uno R3 имеет специальный съемный чип MCU. Таким образом, вы сможете заменить эту деталь, если она сломана или изношена. На других платах микросхемы MCU припаяны к самой плате. Недостаток очевиден, но обычно их делают намного меньше и быстрее, чем их непаянные аналоги.

Пины в заголовке

По бокам вы должны увидеть несколько приподнятых кусков пластика с отверстиями сверху. Это штифты с внутренней резьбой. В них следует вставлять провода или перемычки.

Распиновка Ардуино Уно

Анатомия платы Arduino

GPIO и контакты питания. Выводы GPIO позволяют обрабатывать входы и выходы. По умолчанию все контакты Arduino являются входами. С другой стороны, контакты питания предназначены для перемещения электричества по плате. 5 В и 3,3 В всегда излучают столько напряжения, сколько следует из их названия. GND означает «земля», а Vin позволяет подавать питание на плату через этот контакт.

Читайте также: Как сделать мигающие светодиоды с помощью Raspberry Pi

Порты питания и USB

Все платы Arduino обычно имеют

Микроконтроллер (MCU)

илиндрический разъем постоянного тока, но некоторые из них не имеют цилиндрического разъема постоянного тока. Обычно они получают питание либо от порта USB, либо от контактов питания.

Бочковые разъемы постоянного тока обычно имеют размер 2,1 × 5,5 мм, внутренняя часть — положительная, а внешняя — отрицательная. Они рассчитаны на напряжение от 7 до 20 В, но лучше, если это возможно, использовать значение держится на 9 вольтах .

Порты USB различаются в зависимости от модели. Они могут использовать Type-A, Type-B, USBmicro или Type-C. Через них можно подать питание на плату, они также служат портами связи.

Светодиодные индикаторыПины в заголовке

sync" src="https://saintist.ru/wp-content/uploads/2024/05/arduino-leds-with-labels.png" alt="Светодиоды Arduino с этикетками">

Наконец, обычно имеется три светодиодных индикатора, которые позволяют видеть состояние платы.

  1. Прием (получение)
  2. Передача (передача)
  3. L (встроенный светодиод)
  4. ON (питание включено)

Выводы L и ON говорят сами за себя. Один из них имеет значение встроенный светодиод, которым вы можете управлять , а другой включается всякий раз, когда через плату проходит электричество. С другой стороны, первые два включаются всякий раз, когда Arduino получает или передает информацию по последовательной связи.

IDE для Arduino

Новичкам следует начать с Arduino IDE, прежде чем переходить к любой другой программе, например ПлатформаIO , отчасти потому, что она проста и содержит все необходимое. У вас также будет меньше шансов что-то испортить, если вы воспользуетесь этим. В конце концов, он создан для плат Arduino.

Arduino IDE имеет три важные функции:

  1. Редактирование
  2. Здание
  3. Загрузка

Обычно функции создания и загрузки работают рука об руку. Как только вы закончите вводить и редактировать свой код, вы можете его создать, а затем загрузить все прямо на свою доску. Но бывают случаи, когда вам нужно

Порты питания и USB

ружать.

Arduino IDE можно скачать на веб-сайте Arduino.

Читайте также: Как сделать мигающие светодиоды с помощью Raspberry Pi

Способы мигания встроенного светодиода

Мигание встроенного светодиода — это версия сценария «Hello World» для Arduino, а также простой способ проверить, работает ли Arduino. Я демонстрирую различные способы заставить его мигать, в том числе сообщаю компьютеру, что он уже мигает.

Пример 1: обычное моргание

Мы начинаем с базового сценария моргания. Вам просто нужно будет включить встроенный светодиод на 0,5 секунды, а затем выключить его еще на 0,5 секунды.

  1. Откройте среду разработки Arduino.
Новый эскиз Arduino IDE
  1. Как только вы откроете IDE, вас должен встретить новый эскиз. Если нет, нажмите «Файл ->Создать» или нажмите Ctrl+ N.
Новый эскиз файла Arduino Ide
  1. Замените код в IDE следующим кодом:
void setup() {
  // put your setup code here, to run once:
  pinMode(LED_BUILTIN, OUTPUT);
}
 
void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(LED_BUILTIN, HIGH);
  delay(500);
  digitalWrite(LED_BUILTIN, LOW);
  delay(500);
}
  1. Перейдите в «Sketch ->Upload» или нажмите Ctrl+ U, чтобы загрузить свой код в Arduino.
Код загрузки Arduino IDE

Код Arduino обычно делится на две части: setup()и loop().

Когда вы видите setup(), вы должны определить свои выходные и входные данные. В данном случае мы используем pinMode(), чтобы превратить вывод IDE для Arduinoодной.

Пин LED_BUILTIN— это контакт 13, который напрямую подключен к светодиоду L. Он включит его всякий раз, когда получит достаточно электричества, чтобы поднять его на ВЫСОКИЙ уровень. Вы даже можете заменить все экземпляры LED_BUILTINна 13, и это все равно будет работать.

Arduino Raspberry Pi Внутренний светодиод 3

setup()более подробно обсуждается в следующем примере. Здесь все начинается с первой строки в пределах loop(), и Arduino выполняет эту строку, затем вторую, затем третью и так далее, пока не дойдет до последней строки. После этого он вернется на первую строку. Вот почему он называется loop().

В этом примере мы использовали digitalWrite()для преобразования LED_BUILTINв HIGH. Здесь проходит электричество 5 В, тогда delay(500)временно не позволит Arduino читать дополнительный код в течение 500 миллисекунд. После этого Arduino запускает следующую строку, которая сводит LED_BUILTINк LOW.

На самом деле это цикл: включение, ожидание полсекунды, выключение, ожидание еще полсекунды, а затем снова возвращение к стартовой линии. Он продолжает работать, пока подключен к источнику питания.

Читайте также: 10 полезных острот Python, которые вы должны знать

Пример 2: три мигания при запуске

На этот раз мы поэкспериментируем с setup(), чтобы заставить встроен

Способы мигания встроенного светодиода

едленно мигать каждые 0,5 секунды.

  1. В текущем коде переместите курсор на pinMode(LED_BUILTIN, OUTPUT);и создайте новую строку под void setup().
Arduino Ide Three Blinks Новая линия
  1. Вставьте в эту строку следующий код:

Пример 1: обычное моргание

TIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(250); digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(250); digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(250);
  1. Ваш код должен выглядеть следующим образом:
void setup() {
  // put your setup code here, to run once:
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(250);
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(250);
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(250);
}
 
void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(LED_BUILTIN, HIGH);
  delay(500);
  digitalWrite(LED_BUILTIN, LOW);
  delay(500);
}
  1. Загрузите свой код и посмотрите на свой Arduino! Помните, что для отправки кода на доску можно использовать либо «Sketch ->Upload», либо Ctrl+ U.

В предыдущем примере говорилось о loop()и о том, как он работает. Давайте вернемся немного назад и остановимся на setup().

Все, что вы помещаете в setup(), запускается один раз, как и сказано в заранее написанном комментарии. Благодаря этому вы можете заставить свой Arduino что-то сделать, чтобы сообщить вам, что он начнет работать. Если у вас ЖК-экран, OLED- или AMOLED-экран, вы можете даже создать фальшивую анимацию загрузки!

ЖК-дисплей QAPASS, вид спереди и сзади

Здесь также следует запускать специальные команды, например установление связи через последовательный порт.

Пример 3. Использование последовательного соединения

В отличие от параллельной связи, последовательная связь передает данные от источника к месту назначения побитно.

На этот раз Arduino отправит несколько сообщений по последовательному порту, чтобы сообщить вам обновления статуса.

  1. В setup()создайте новую строку перед pinMode(LED_BUILTIN, OUTPUT);и введите Serial.begin(9600);. Создайте новую строку внизу, чтобы выглядеть аккуратнее.
Серийное начало Arduino Ide
  1. Создайте новую строку после pinMode(LED_BUILTIN, OUTPUT);, затем введите Serial.println("Arduino, starting up!");в этой новой строке. Оставьте новую строку между этими двумя.
Последовательная печать Arduino Ide Запуск Arduino
  1. Перейдите к loop(). Создайте новую строку под digitalWrite(LED_BUILTIN, HIGH);и введите Serial.println("LED on");. Сделайте то же самое для digitalWrite(LED_BUILTIN, LOW);, но вместо этого введите Serial.println("LED off");.
Пример 2: три мигания при запускеать Arduino Ide Loop">
  1. (Необязательно) Вы можете оставить новую строку между первыми delay(500)и digitalWrite(LED_BUILTIN, LOW);.
Последовательная печать Arduino Ide Loop (опция)
  1. Полный код должен выглядеть следующим образом:
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
 
  pinMode(LED_BUILTIN, OUTPUT);
 
  Serial.println("Arduino, starting up!");
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(250);
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(250);
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(250);
}
 
void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(LED_BUILTIN, HIGH);
  Serial.println("LED on");
  delay(500);
 
  digitalWrite(LED_BUILTIN, LOW);
  Serial.println("LED off");
  delay(500);
}
  1. Загрузите свой код с помощью «Sketch ->Upload» или Ctrl+ U.
  2. Откройте Serial Monitor, перейдя в «Инструменты ->Serial Monitor» или нажав Ctrl+ Shift+ Mна клавиатуре. На прямоугольном экране должны появиться все последовательные выходы, которые вы запрограммировали на Arduino.
Последовательный монитор Arduino Ide
Выход последовательного монитора Arduino Ide<

Поскольку программное обеспечение использует консоль для отладки, вы должны использовать Serial в аппаратном обеспечении для той же цели.

В setup()вы добавили строку Serial.begin(9600);. Это говорит Arduino открыть канал с компьютером для последовательной связи. Число рядом с ним показывает, насколько быстро он должен отправлять данные.

9600означает 9600 бод. Это означает, что он будет отправлять 9600 бит в секунду. Скорость передачи данных для Arduino IDE варьируется от 300 до более чем 2 миллионов бод. Меньшие тарифы лучше подходят для более длинных проводов (например, телефонные провода для расстояния), а большие — для более коротких проводов. Однако 2 миллиона бод — это перебор. Во многих случаях даже 19 200 бод более чем достаточно даже для самых чувствительных датчиков-любителей.

Снижение скорости передачи данных последовательного монитора Arduino Ide

Покончив с этим, давайте поговорим о Serial.println();. Эта команда означает «печать, новая строка» и создает новую строку после того, как напечатает то, что находится внутри области ().

Serial.println()принимает как строки, так и переменные, содержащие строки. Он ведет себя странно, когда вы добавляете в него числа, особенно если оно начинается с 0.

Выход последовательного монитора Arduino Ide Ноль Ноль Ноль

Если вы посмотрите на результаты монитора последовательного порта, вы также заметите, что он печатает «Arduino, запускается!» только

Пример 3. Использование последовательного соединения

ен» неоднократно распечатываются при каждом мигании. В этом большая разница между setup()и loop().

На самом деле, вы даже можете поместить свой код из setup()в loop(), но обычно это плохая практика. В конечном итоге вы можете превратить входной контакт в выходной, что может привести к поломке микросхемы микроконтроллера.

Читайте также: Цикл while в Python: введение и объяснение

Пример 4: Blink с циклами For

Это очень помогает. Цикл for позволяет выполнить мини-loop(), который заканчивается через заданное количество раз.

Давайте попробуем создать сложные шаблоны мигания с помощью нескольких циклов for. При первой загрузке светодиод должен мигнуть 13 раз, включиться на 500 мс и погаснуть на 250 мс, и только один раз. Затем он должен зациклиться, мигнуть четыре раза, включиться на 1000 мс и выключиться на 1000 мс, затем мигнуть еще два раза, включиться на 500 мс и выключиться на 250 мс.

  1. В setup()удалите блок кода, который превращает LED_BUILTINв HIGHили LOW. Также удалите функции delay().
Arduino Ide Удалить часть
  1. Замените этот код следующим:
for (int i = 0; i < 12; i++) {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(500);
  digitalWrite(LED_BUILTIN, LOW);
  delay(250);
}
  1. На loop()удалите все и замените следующим кодом, который включает светодиод на 1000 мс и выключает его на 1000 мс, каждый раз четыре раза:
for (int i = 0; i < 4; i++) {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  Serial.println("LED on for 1 second");
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
  Serial.println("LED off for 1 second");
}
  1. Создайте новую строку и добавьте следующий код, который включает светодиод на 500 мс и выключает его на 250 мс, каждый раз два раза:
for (int i = 0; i < 2; i++) {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(500);
  Serial.println("LED on for 0.5 seconds");
  digitalWrite(LED_BUILTIN, LOW);
  delay(250);
  Serial.println("LED off for 0.25 seconds");
}
  1. Загрузите свой код, затем откройте последовательный монитор. Прежде чем выполнить два разных мини-цикла, он должен начать отсчитывать до 13 миганий светодиода.
Комплекс последовательного монитора Arduino Ide Blink

Цикл for — это простой, но легкий в освоении инструмент. Он состоит из трех частей: for, (int i = 0; i < x; i++)и всего, что находится внутри { }.

  • forсообщает Arduino IDE, что это функция цикла for. Есть много других, например while, ifи switch.
  • (int i = 0; i < x; i++)— это условие. В нем говорится, что пока целое число i, равное 0, меньше значения x, выполните i++и выполните функцию. i++— это сокращение от i + 1. Вы даже можете заменить его на i + x, где «x» — любое число, или заставить его отсчитываться с помощью оператора «-».
  • { }содержит все, что будет делать цикл. В конце концов, ему не нужен ;. Вы просто оставляете все как есть.

Читайте также: Как управлять Raspberry Pi через Windows через SSH

Заключение

С помощью этого простого руководства по Arduino для начинающих вы сможете создавать собственные световые эффекты или, может быть, необычную рождественскую гирлянду.

Конечно, есть чему поучиться, но лучше учиться по ходу дела. Вы можете опробовать двигатели, датчики, реле и многое другое! Если вы готовы принять вызов, возможно, вы захотите запрограммировать Arduino с помощью Raspberry Pi .

Пример 4: Blink с циклами For

Заключение

ПОХОЖИЕ СТАТЬИ

Популярные записи