Первое знакомство

Ответить
Oleg
Сообщения: 186
Зарегистрирован: 12 июл 2023, 12:09
Первое знакомство

Сообщение Oleg »

Первое знакомство
Oleg
Сообщения: 186
Зарегистрирован: 12 июл 2023, 12:09
Беспаечная макетная плата

Сообщение Oleg »

Как правило, подключая к Raspberry Pi или Arduino внешние электронные устройства (те же двигатели), не удается сделать это напрямую требуется задействовать дополнительные электронные компоненты. В любом случае, даже если вы просто зажигаете светодиод, вам нужно его каким-то образом к Raspberry Рі или Arduino подсоединить.

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

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

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

По бокам беспаечной макетной платы такого типа обычно имеются два ряда отверстий. Как правило, один из них маркирован красной линией, а другой - синей. Все отверстия каждого такого ряда электрически соединены между собой перемычками, расположенными на нижней стороне платы. Хотя эти ряды отверстий можно использовать для чего угодно, чаще всего они служат для подачи на схему положительного и отрицательного питания.
Беспаечная макетная плата
Беспаечная макетная плата
Снимок экрана 2023-08-28 152010.jpg (39.39 КБ) 311 просмотров
Основное пространство платы поделено на два блока рядов по пять отверстий в ширину на каждом. В этих рядах любые пять отверстий, расположенные на одном уровне, соединены перемычками, расположенными под платой. Чтобы подключить вывод одного компонента к другому, оба провода от них нужно просто вставить в отверстия, расположенные на макетной плате в одном ряду.

Не разбирайте макетную плату!

Под отверстиями, расположенными на лицевой панели макетной платы, находятся металлические перемычки, снабженные зажимами, способными фиксировать про- вода и выводы компонентов. Не рекомендую разбирать макетную плату (как показано на рисунке), поскольку собрать ее в прежнем виде обычно уже не удается.
Нижняя сторона макетной платы с одной снятой перемычкой
Нижняя сторона макетной платы с одной снятой перемычкой
Снимок экрана 2023-08-28 152937.jpg (24.65 КБ) 311 просмотров
Подключение к макетной плате Arduino

Коннекторы GPIO платы Arduino (которые иногда неправильно называют «пинами») на самом деле представляют собой разъемы. Чтобы соединить такой разъем с одним из отверстий на макетной плате, можно воспользоваться соединительными проводами (монтажными перемычками), имеющими штыревые контакты на обоих концах, - на жаргоне электронщиков их называют «папа-папа».

Полезно иметь хороший запас таких соединителей разной длины, чтобы подключать что угодно к чему угодно. Обзавестись ими несложно - в продаже имеются наборы монтажных перемычек всевозможных размеров и цветов. Имеет смысл сразу приобрести комплект в составе макетной платы с прилагающимися к ней перемычками. Кстати, когда провода разноцветные, лучше видно, какой из них к чему подключен, особенно если ваша плата опутана множеством проводов.
Подключение Arduino к макетной плате
Подключение Arduino к макетной плате
Oleg
Сообщения: 186
Зарегистрирован: 12 июл 2023, 12:09
Эксперимент: управление светодиодом

Сообщение Oleg »

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

Для начала работы - это приятный и простой проект. Нам потребуется подключить к макетной плате всего два компонента: светодиод и резистор. Резистор здесь упомянут потому, что он требуется всем светодиодам для ограничения проходящего через них тока.

Комплектующие

В этом эксперименте для работы понадобятся следующие комплектующие:

Красный светодиод
Резистор 470 Ом 0,25 Вт
400-точечная беспаечная макетная плата
Перемычки <<папа-папа» (только для Arduino)
Перемычки «мама-папа» (только для Рі)

Компоновка макетной платы

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

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

Подключите разъемы Arduino GND и D9, как показано на рисунке. Соединение платы Arduino с платой для макетирования показано на рисунке ниже
Компоновка макетной платы для управления светодиодом с Arduino
Компоновка макетной платы для управления светодиодом с Arduino
Подключение макетной платы для управления светодиодом с Arduino
Подключение макетной платы для управления светодиодом с Arduino
Программа для Arduino

Программа включает светодиод на 5 секунд, потом отключает на 2 секунды, затем весь процесс повторяется. Вот ее полный код:

Код: Выделить всё

const int controlPin = 9; // 1

void setup() {// 2
    pinMode(controlPin, OUTPUT);
}
void loop() { // 3
    digitalWrite(controlPin, HIGH);
    delay(5000);
    digitalWrite(controlPin, LOW);
    delay(2000);
}
1. В первой строке (она обозначена комментарием 1) определяется константа controlPin для контакта 9. Хотя в Arduino Uno имеются как цифровые контакты от 0 до 13, так и аналоговые от 0 до 5, существует соглашение, что когда код Arduino ссылается просто на число как таковое (в нашем случае: 9), это относится к цифровому контакту. Если вы хотите обратиться к одному из шести аналоговых контактов, то должны поставить перед номером контакта букву А.

2. Во второй строке (комментарий 2) функция setup() определяет этот контакт как цифровой вывод, использующий функцию pinMode.
3. В блоке, помеченном комментарием 3, бесконечная функция loop. 11 сначала задает для controlPin (контакт 9) значение HIGH (5 В), чтобы включить светодиод. Затем она делает задержку в 5000 мc (5 секунд) и задает для сontrolPin Значение 0 (0 в), чтобы погасить светодиод. В следующей строке мы делаем задержку еще на 2 секунды, после чего цикл запускается снова.

Загружаем и выполняем программу

Загрузите программу на Arduino. Как только плата Arduino в процессе загрузки перезапустится, на ней станет выполняться ваш код, и светодиод замигает. Если светодиод не мигает, то проверьте все соединения и убедитесь, что светодиод установлен правильно (более длинный вывод светодиода должен идти к верхнему из двух задействованных рядов макетной платы).

Попробуйте поменять числа в функциях delay, чтобы варьировать длительность работы светодиода в каждом цикле. Учтите, что после каждого изменения программы ее потребуется загружать заново.
Oleg
Сообщения: 186
Зарегистрирован: 12 июл 2023, 12:09
Эксперимент: управление электродвигателем

Сообщение Oleg »

Итак, теперь вы знаете, как включать и выключать светодиодный индикатор. Давайте, вооружившись этими знаниями, попробуем запускать и останавливать электродвигатель. Для этого мы воспользуемся теми же программами, что описаны ранее в разд. "Эксперимент: управление светодиодом", но для управления двигателем постоянного тока применим переключатель.

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

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

Комплектующие

В этом эксперименте для работы следующие комплектующие:
  • Составной транзистор (пара Дарлингтона) MPSA14
  • Диод 14001
  • Резистор 470 Ом 0,25 Вт
  • Небольшой двигатель постоянного тока
    с напряжением питания 6 В Батарейный отсек 4 АА (6 В)
  • 400-точечная беспаечная макетная плата
  • Перемычки «папа-папа»
  • Перемычки «мама-папа» (только для Рi)
Напомню, что перемычки «мама-папа» понадобятся только для подключения к макетной плате контактов GPIO Raspberry Pi (если вы планируете провести этот эксперимент с Raspberry Pi тоже).

Компоновка макетной платы

Компоновка макетной платы для этого проекта показана на рисунке. После установки на макетную плату всех компонентов нужно убедиться, что транзистор расположен правильно, его плоская сторона с надписью должна быть ориентирована вправо. Кроме того, надо проверить и расположение диода на одной стороне у него имеется полоска, и эта сторона должна быть направлена к верхней части платы.
Компоновка макетной платы для управления двигателем
Компоновка макетной платы для управления двигателем
Эксперименты без Arduino или Raspberry Pi
Прежде чем подключать макетную плату к Arduino или Raspberry Pi, можно протестировать ее и поэкспериментировать с ней и без такого подключения.
Транзистор действует здесь в качестве переключателя. Соответственно, к плате (Arduino или Raspberry Pi) будут подведены два провода: управляющий и заземление. Заземление (GND) соответствует нулю вольт, как для схемы макетной платы, так и для плат Arduino и Raspberry Pi. Управляющее подключение запускает двигатель, когда он подключен к любому источнику тока с напряжением более 2 В. Когда напряжение окажется ниже этой величины, двигатель выключится.

Потренируйтесь в работе с перемычкой «папа-папа» до того, как приступать к использованию Arduino или Raspberrу Рі. Вставьте один ее конец в отверстие того же ряда, куда вставлен левый выход резистора, а другой конец приложите к верхнему контакту диода, который подключен к плюсовому контакту батарейки, двигатель запустится, но как только вы отведете штырек перемычки от диодного вывода, двигатель остановится.
Проверка схемы перед тем, как подключать к ней Arduino или Raspberry Pi
Проверка схемы перед тем, как подключать к ней Arduino или Raspberry Pi
Подключение Arduino

Теперь, когда вы убедились, что управляющий вывод с макетной платы действительно включает и выключает двигатель, можно подсоединить его к одному из GРІО-контактов Arduino при помощи перемычки «папа-папа». Воспользуйтесь для этого контактом под номером 9. Обратите внимание: мы уже имели дело с этим управляющим контактом ранее (см. разд. «Эксперимент: управление светодиодом»).

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

Если у вас на плату Arduino по-прежнему загружена программа из ранее рассмотренного разд. «Эксперимент: управление светодиодом», то загружать больше ничего не надо. Если этой программы на Arduino уже нет, то вернитесь к тому разделу, чтобы вновь ее загрузить.

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

Ответить