10 ошибок, которые не следует совершать начинающим пользователям Arduino
СДЕЛАЙ САМ

10 ошибок, которые не следует совершать начинающим пользователям Arduino

Хотя с Arduino очень легко начать работать, неожиданные проблемы могут стать причиной разочарования. Вот 10 распространенных ошибок, которых следует избегать

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

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

Но сегодня мы рассмотрим несколько ошибок, которые часто совершают новички, и как их избежать

Включайся!

Большинство плат Arduino имеют регулятор питания на борту, что означает, что вы можете питать ее от USB или от источника питания. Хотя каждая плата различается по тому, что именно она может принимать, обычно это 7-12 В через гнездо постоянного тока или через контакт VIN. Это подводит нас к нашей первой ошибке:

1. Внешнее питание платы ‘в обратную сторону’

Этот первый случай постоянно подстерегает людей. Если вы питаете свою плату от батареи или источника питания, вы должны убедиться, что V+ идет на контакт VIN , а провод Ground идет на контакт GND. Если вы сделаете это в обратном порядке, то практически гарантированно поджарите свою плату

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

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

Прежде чем мы погрузимся в эту тему, давайте вкратце рассмотрим теорию, лежащую в основе питания

Текущие дела

Важнейшей частью работы с микроконтроллерами является знание основ электроники. Хотя вам не нужно быть гениальным инженером-электриком, важно понимать Вольт , Ампер , Сопротивление и как они связаны между собой. У Sparkfun есть отличный учебник по электронике, а также несколько видео, объясняющих напряжение , ток (амперы) и закон Ома (сопротивление)

Точное понимание того, сколько энергии потребуется компоненту, является важной частью работы с платами Arduino

2. Подключение компонентов непосредственно к контактам

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

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

Image Credit: http://www.w11stop.com.

Эти маленькие чипы отделяют источник питания от Arduino и позволяют двигателю двигаться в обоих направлениях. Идеально подходят для DIY робототехники или автомобилей с дистанционным управлением. Проще всего использовать эти чипы в качестве части щита для Arduino, которые можно приобрести на Aliexpress по цене менее $2, или, если вы чувствуете себя авантюристом, вы всегда можете сделать свой собственный

Image Credit: ASCAS @ Instructables.com.

Для новичков, использующих моторы с Arduino, Adafruit предлагает учебники, в которых используется как сам чип, так и их разрывной моторный щит

Реле и МОП-транзисторы

Другие электрические компоненты и приборы могут потреблять более предсказуемое количество энергии, но все же не стоит подключать их непосредственно к микроконтроллеру. Даже светодиодные ленты на 5 В могут быть опасны. Хотя подключение нескольких штук непосредственно к плате для тестирования может быть нормальным, обычно лучше использовать внешний источник питания и управлять ими через реле или MOSFET

Хотя между ними есть различия, функционально они одинаковы для многих применений в хобби-электронике. Оба могут действовать как переключатель между источником питания и компонентом, который включается или выключается с помощью Arduino. Реле полностью изолировано от схемы, которая им управляет, и функционирует исключительно как переключатель включения/выключения. У Деяна Неделковского есть хорошее видео введение в использование реле, взятое из его обучающей статьи

https://www.youtube.com/watch?v=LLFQ8sBWc80

MOSFET позволяет пропускать через себя различное количество энергии, используя широтно-импульсную модуляцию (ШИМ) от вывода Arduino. Чтобы узнать больше об использовании MOSFET со светодиодными лентами, ознакомьтесь с нашим руководством по подключению их к Arduino

3. Непонимание хлебных досок

Распространенной ошибкой в начале работы является короткое замыкание. Это происходит, когда части схемы соединяются в местах, где они не должны быть, что позволяет электричеству двигаться по более простому пути. В лучшем случае это приведет к тому, что ваша схема не будет работать так, как должна, а в худшем – к перегоранию компонентов или даже к пожару!

Чтобы избежать этого при использовании макетной платы, важно понять, как она функционирует. Это видео от Science Buddies – отличный способ познакомиться

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

Самый простой способ избежать короткого замыкания на макетной плате – просто проверять свою работу перед подачей питания на устройство. Этот взгляд в последнюю минуту может избавить вас от множества проблем!

4. Ошибки при пайке

Такая же проблема может возникнуть при пайке Arduino или компонентов на плату protoboard, особенно на таких маленьких платах, как Arduino Nano. Достаточно припаять крошечный кусочек припоя между двумя контактами, чтобы произошло короткое замыкание, которое может вывести из строя ваш микроконтроллер. Единственный способ избежать этого – быть бдительным и как можно больше практиковаться в пайке

Когда вы только начинаете, пайка может показаться довольно тонкой и сложной задачей, но со временем она становится намного проще. Наше руководство по проектам для начинающих должно помочь всем, кто переходит от макетной платы в мир прототипирования!

5. Подключение вещей к неправильным контактам

Работа с микроконтроллерами подразумевает работу с контактами. Большинство компонентов и многие платы поставляются со штырьками для подключения их к протобоарду. Знание того, какой контакт что делает, необходимо для того, чтобы убедиться, что все работает так, как вы хотите

Общим примером является ранее упомянутый MOSFET. Три ножки MOSFET называются Gate , Drain и Source. Перепутав их, можно вызвать неправильное направление потока энергии или короткое замыкание. Это может разрушить MOSFET, Arduino, прибор или, если вам очень не повезет, все три!

Image Credit: Adafruit.com.

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

6. Синтаксические ошибки в коде

Если отойти от аппаратной части Arduino, то при кодировании можно допустить множество ошибок. Наиболее типичные ошибки включают:

  • Отсутствие точек с запятой в конце строк.
  • Отсутствие/неправильный тип скобок.
  • Орфографические ошибки.
  • Любая из вышеперечисленных проблем, хотя и незначительная, помешает вашей программе работать так, как она должна. Возьмем, к примеру, скетч Blink. Ниже приведен простой скетч Blink.ino, входящий в состав Arduino IDE, с удаленным текстом справки. На первый взгляд все выглядит более или менее нормально, не так ли?

    void setup() { pinMode(LED_BUILTIN, OUTPUT)}void loop { digitalWrite(LED_BUILTIN, HIGH); delay{1000}; digitalwrite(LED_BUILTIN, LOW); delay(1000);

    Этот код не скомпилируется, и на это есть 5 причин. Давайте рассмотрим их:

    1. Строка 2: Отсутствует точка с запятой.
    2. Строка 5: Отсутствуют функциональные скобки.
    3. Строка 7: Неправильный тип скобок.
    4. Строка 8: Неправильное написание функции DigitalWrite.
    5. Строка 8/9: Отсутствует закрывающая фигурная скобка.

    Вот как должен выглядеть этот код:

    void setup() { pinMode(LED_BUILTIN, OUTPUT);}void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(1000);}

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

    Если программирование Arduino – это ваше первое знакомство с кодированием, добро пожаловать! Это полезное хобби, а учитывая, как востребованы определенные типы программистов, это может стать отличной сменой профессии! Есть хорошие привычки, которые нужно усвоить как кодер, и эти привычки применимы ко всем языкам программирования, поэтому стоит изучить их как можно раньше

    7. Серийная ерунда

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

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

    При инициализации монитора Serial в коде вы также устанавливаете его скорость передачи данных. Это число означает количество битов в секунду, передаваемых на последовательный монитор. В приведенном ниже примере скорость передачи данных в коде установлена на 9 600. Убедитесь, что вы установили такое же значение с помощью выпадающего меню в нижней части последовательного монитора, и все будет отображаться правильно

    В мониторе последовательного интерфейса вы можете заметить, что есть несколько скоростей на выбор. Скорость передачи данных редко приходится менять, если только вы не передаете большие объемы данных. При скорости 9 600 последовательный монитор может печатать почти 1 000 символов в секунду. Если вы можете читать так быстро, поздравляем, вы, несомненно, волшебник

    8. Отсутствующие библиотеки

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

    Вы можете установить библиотеки прямо из IDE, выбрав Sketch > Include Library > Manage Libraries , чтобы открыть браузер библиотек

    После установки библиотек вы можете использовать их в любом проекте, многие из них поставляются с собственными примерами проектов. Здесь есть два возможных подводных камня

  • Использование кода, требующего библиотеки, которой у вас нет.
  • Попытка использовать части библиотеки, которую вы не включили в свой проект.
  • В первом случае, если вы нашли кусок кода, который кажется идеальным для вашего проекта, но он отказывается компилироваться после того, как вы поместили его в IDE, проверьте, не включает ли он библиотеку, которую вы еще не установили. Вы можете проверить это, посмотрев на #include <xxxx> в верхней части кода. Если он включает что-то, что вы еще не установили, он не будет работать!

    Во втором случае вы столкнулись с противоположной проблемой. Если вы используете функции из библиотеки, установленной на вашем компьютере, а код отказывается компилироваться, возможно, вы забыли включить эту библиотеку в скетч, над которым работаете в данный момент. Например, если вы хотите использовать фантастическую библиотеку Fastled со светодиодными лентами Neopixel, вам нужно добавить #include ‘FastLED.h’ в начало вашего кода, чтобы сообщить ему о необходимости поиска библиотеки

    9. Плавающий проход

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

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

    Это видео от AddOhms объясняет проблему и как ее решить

    https://www.youtube.com/watch?v=wxjerCHCEMg

    10. Стрельба по Луне

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

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

    Каждый маленький проект научит вас другому аспекту использования контроллеров Arduino, и вы не успеете оглянуться, как будете использовать эти умные маленькие платы для управления всей своей жизнью!

    Кривая обучения

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

    Теперь, когда вы знаете, каких ошибок следует избегать, почему бы не попробовать собрать свой собственный Arduino – нет лучшего способа узнать, как они работают

    Чтобы узнать больше, посмотрите на кодирование Arduino с помощью VS Code и PlatformIO

    Image Credit: SIphotography/Depositphotos

    Теги

    Об авторе

    Алексей Белоусов

    Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

    Комментировать

    Оставить комментарий