Электронный компонент:Базовый набор комплектующих для Arduino V2: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
 
Строка 508: Строка 508:


<references />
<references />
{{Навигационная таблица/Портал/Arduino}}


[[Категория:Базовый набор комплектующих для Arduino V2]]
[[Категория:Базовый набор комплектующих для Arduino V2]]

Текущая версия от 12:17, 8 июля 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Базовый набор комплектующих для Arduino V2[1]

Этот набор предназначен для использования с Arduino/Seeeduino/Seeeduino ADK/Maple Lilypad и другими микроконтроллерными платами. Он включает в себя распространенные комплектующие, которые могут понадобиться для создания проектов на базе Arduino: макетную плату, провода-перемычки, цветные светодиоды, резисторы, зуммер и т.д. Все компоненты находятся в транспортабельном пластиковом корпусе.

Купить набор можно по этой ссылке.

Содержимое набора

Краткое введение в основы электроники

Сила тока и напряжение

Сила тока (выражается в амперах; «А») – это величина тока, идущего через проводник. Напряжение (выражается в вольтах, «В» или «V») – это движущая электрическая сила; разница потенциалов между двумя точками проводника.

Резисторы

Резисторы – это препятствия для тока, идущего по проводнику. Они используются, чтобы ограничить электроток, идущий к какому-нибудь электронному устройству (вроде лампы). Сопротивление току, идущему по проводнику, выражается в омах («Ω»). Резисторы бывают постоянными и регулируемыми (например, потенциометры).

Подключение резисторов

Резисторы можно подключить двумя способами: параллельно или последовательно (друг за другом):

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

Закон Ома

Отношения между силой тока, напряжением и сопротивлением управляются законом Ома, который гласит, что «сила тока в проводнике (I, амперы) между двумя точками прямо пропорциональна разнице потенциалов (или напряжению) между двумя точками (V, вольты) и обратно пропорциональна сопротивлению между ними (R, омы)».

Отсюда формула: I = V/R. Исходя из этой формулы верно следующее: V = IR и R = V/I.

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

К примеру, чтобы узнать I, нужно поделить V на R.

Макетная плата

Макетная плата (иногда именуется как «бридборд», что является производным от англ. «breadboard») – прототипное устройство для создания электрических цепей. Очень полезна для подключения электронных компонентов и создания цепей без пайки. Состоит из отверстий, которые расположены рядами/столбцами и оснащены металлическими контактами. Макетная плата, идущая в данном наборе, состоит из 4 частей: двух больших рядов (5 х 30 контактов) и двух маленьких рядов (2 х 25 контактов). Все эти контакты подключены друг к другу следующим образом:

Постоянные резисторы

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

  • Первая полоска – это первая цифра в значении сопротивления
  • Вторая полоска – это вторая цифра в значении сопротивления
  • Третья полоска – это множитель
  • Четвертая полоска – это значение допуска

Потенциометр

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

Термисторы

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

Фоторезисторы

Фоторезистор (его также называют «LDR», что является сокращением от «light dependent resistor») – это резистор, который меняет сопротивление в зависимости от интенсивности падающего на него света. его также называют «фотоэлементом». Если на фоторезистор не падает свет, он показывает максимальное сопротивление, а если на него падает очень яркий свет, он показывает минимальное сопротивление. Фоторезисторы делаются из фоточувствительных материалов вроде сульфида кадмия.

Светодиоды

Светодиод (его также называют «LED», что является сокращением от «light emitting diode») – это электрический компонент, который излучает свет и загорается при прямом смещении (т.е. в ситуации, когда через диод проходит ток). Он находится внутри прозрачного корпуса и бывает разных цветов (красного, зеленого и синего). Светодиоды изготавливаются из арсенида-фосфида галлия, и разные цвета достигаются при помощи разных пропорций мышьяка и фосфора. Одноцветные светодиоды оснащены двумя проводами – анодом (+) и катодом (-). Трехцветные светодиоды оснащены четырьмя проводами – одним анодом и тремя катодами (по одному для каждого цвета). Светодиоды используются, к примеру, в дисплейных платах.

Переключатели

Переключатели используются для открытия/закрытия цепей. В данном комплекте имеются переключатели трех типов – нажимная кнопка, передвижной переключатель и датчик наклона.

Нажимная кнопка – это переключатель, который закрывает цепь, пока вы нажимаете на кнопку:

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

Датчик наклона – переключатель, состоящих из двух контактов, подключенных к цепи. Если датчик наклонен горизонтально, это закрывает цепь, а если вертикально – открывает.


Конденсаторы

Конденсаторы – это электрические компоненты, который хранят электрический заряд. В данном комплекте есть конденсаторы двух типов: электролитические и керамические дисковые. Электроемкость конденсаторов выражается в фарадах (Ф).

Конденсатор можно подключить двумя разными способами:

  • Последовательно – в данном случае суммарная электроемкость будет равна сумме обратных величин значений конденсаторов
  • Параллельно – в данном случае суммарная электроемкость будет равна сумме значений конденсаторов

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

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

Зуммер

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

Подключите длинный контакт зуммера к положительному напряжению, а короткий – к отрицательному.

Во-первых, зуммер можно подключить к выходному цифровому контакту (если подать на этот контакт HIGH, зуммер издаст звук). Во-вторых, зуммер моно подключить к выходному аналоговому ШИМ-контакту, и тогда он будет генерировать звуки разных тональностей.

Диод

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

Смещение диода

Подача напряжения на диод называется смещением диода. Диод называется прямо-смещенным, если на его контакты подано положительное напряжение, и он начинает проводить свыше 0.7 вольт (для кремниевого диода) или 0.3 вольт (для германиевого диода). Диод называется обратно-смещенным, если на его контакты подано отрицательное напряжение. Если на обратно-смещенный диод подать напряжение, превышающее безопасный порог, это приведет к его повреждению.

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

Сервомоторы – это моторы постоянного тока (DC-моторы) с механизмом зубчатого сцепления и датчиком обратной связи. Они используются для управления механизмами роботов.

Проекты-уроки

Эта глава расскажет о проектах, которые можно собрать с использованием деталей из набора. Кроме того, для всех проектов понадобится плата Arduino.

Проект-урок 1: Мигание светодиодом

Цепь:

Затем скомпилируйте и загрузите на плату следующий код:

//  Мигание светодиодом, подключенным к 8-ому цифровому контакту
//  через 330-омовый резистор

void setup()   {
    pinMode(8, OUTPUT);  //  выставляем 8-ой цифровой контакт 
                         //  в режим вывода данных
}

void loop()
{
    digitalWrite(8, HIGH);   // включаем светодиод
    delay(500);              // ждем полсекунды
    digitalWrite(8, LOW);    // выключаем светодиод
    delay(500);              // ждем полсекунды
}

Проект-урок 2: Создание маленького светодиодного дисплея

Цепь:

Скомпилируйте и загрузите на плату следующий код:

//  создание светодиодного дисплея из трех светодиодов,
//  подключенных к 9-ому, 10-ому и 11-ому цифровым контактам Arduino 

void setup()
{
    pinMode(9, OUTPUT);   //  выставляем 9-ый цифровой контакт 
                          //  в режим вывода данных
    pinMode(10, OUTPUT);  //  выставляем 10-ый цифровой контакт 
                          //  в режим вывода данных
    pinMode(11, OUTPUT);  //  выставляем 11-ый цифровой контакт 
                          //  в режим вывода данных
}


void loop()
{

    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, HIGH);
    delay(250);              //  ждем четверть секунды
    digitalWrite(9, LOW);
    digitalWrite(10, HIGH);
    digitalWrite(11, LOW);
    delay(250);              //  ждем четверть секунды
    digitalWrite(9, HIGH);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
    delay(250);              //  ждем четверть секунды

}

Проект-урок 3: Коммуникация с Arduino с помощью кнопки

Цепь:

  • Подключите светодиод к 8-ому цифровому контакту Arduino
  • Подключите 330-омовый резистор между светодиодом и 8-ым цифровым контактом
  • Подключите кнопку к Arduino: одну ножку к 12-ому цифровому контакту и GND (через резистор на 10 кОм), а вторую – к контакту 5V (это напряжение +5 вольт)

Скомпилируйте и загрузите на плату следующий код:

//  Кнопочный переключатель

//  Светодиод подключен к 8-ому цифровому контакту,
//  а кнопка – к 12-ому цифровому контакту.
//  При нажатии на кнопку светодиод будет загораться.

char inputButtonState;

void setup()
{
    pinMode(8, OUTPUT);  //  выставляем 8-ой цифровой контакт 
                         //  в режим вывода данных

    pinMode(12, INPUT);   //  выставляем 12-ой цифровой контакт 
                         //  в режим ввода данных

}


void loop()
{
    inputButtonState = digitalRead(12); // считываем состояние кнопки 

    if (inputButtonState == HIGH)
    {
        digitalWrite(8, HIGH);  //  включаем светодиод
    }
    else
    {
        digitalWrite(8, LOW);   //  выключаем светодиод
    }

}

Код выше демонстрирует, как отправить сигнал на Arduino. Но ту же задачу можно выполнить и без Arduino. Просто нажмите на кнопку, чтобы закрыть цепь, а затем переключайтесь между значениями HIGH и LOW, как здесь:

void loop()
{
    inputButtonState = digitalRead(12); // считываем состояние кнопки 

    if (inputButtonState == HIGH)
    {
        digitalWrite(8, LOW);   // считываем состояние кнопки
    }
    else
    {
        digitalWrite(8, HIGH);  //  выключаем светодиод
    }

Теперь, если цепь будет открыта, светодиод будет загораться, а если закрыта – выключаться.

Проект-урок 4: Регулирование яркости светодиода при помощи потенциометра

Цепь:

Скомпилируйте и загрузите на Arduino код ниже:

//  Изменение яркости светодиода с помощью потенциометра

int value=0;
int mval;
void setup()
{
    pinMode(5, OUTPUT);
}
void loop()
{
    value=analogRead(A1);  //  считываем аналоговое значение 
                           //  с входного аналогового контакта A1 
    // ШИМ, передаваемая на светодиод: 
    mval = map(value, 0, 1023, 0, 100);
    analogWrite(5,mval);

}

Проект-урок 5: Управление RGB-светодиодом

В наборе есть RGB-светодиод с общим анодом (это самый длинный проводок). Остальные проводки – это катоды для красного, зеленого и синего светодиодов.

Цепь:

Скомпилируйте и загрузите на плату код ниже:

void setup()  {

}

void loop()  {


    for(int b = 0 ; b <= 255; b=b+5)
    {
        for(int g = 0 ; g <= 255; g=g+5)
        {
            for(int r= 0 ; r <= 255; r=r+5)
            {
                analogWrite(9, b);
                analogWrite(10, g);
                analogWrite(11, r);
                delay(10);

            }
        }
    }

}

Проект-урок 6: Музыка

Цепь:

  • Подключите анод зуммера к 11-ому цифровому контакту
  • Подключите отрицательный вывод зуммера к контакту GND

Скомпилируйте и загрузите на плату следующий код:

#define NOTE_D0 98
#define NOTE_D1 294
#define NOTE_D2 330
#define NOTE_D3 350
#define NOTE_D4 393
#define NOTE_D5 441
#define NOTE_D6 495
#define NOTE_D7 556
#define NOTE_DL1 147
#define NOTE_DL2 165
#define NOTE_DL3 175
#define NOTE_DL4 196
#define NOTE_DL5 221
#define NOTE_DL6 248
#define NOTE_DL7 278
#define NOTE_DH1 589
#define NOTE_DH2 661
#define NOTE_DH3 700
#define NOTE_DH4 786
#define NOTE_DH5 882
#define NOTE_DH6 990
#define NOTE_DH7 112

#define WHOLE 1
#define HALF 0.5
#define QUARTER 0.25
#define EIGHTH 0.125
#define SIXTEENTH 0.625

// ноты мелодии:
int tune[] =
{
    NOTE_D0,NOTE_D1,NOTE_D2,NOTE_D3,NOTE_D4,NOTE_D5,NOTE_D6,NOTE_D7,
    NOTE_DL1,NOTE_DL2,NOTE_DL3,NOTE_DL4,NOTE_DL5,NOTE_DL6,NOTE_DL7,
    NOTE_DH1,NOTE_DH2,NOTE_DH3,NOTE_DH4,NOTE_DH5,NOTE_DH6,NOTE_DH7,
};
/* продолжительность проигрывания ноты: 1 = одна нота*/

float duration[]=
{1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,};
int length;
int tonePin=11;               //  контакт зуммера
void setup()
{ Serial.begin(9600);
    pinMode(tonePin,OUTPUT);  //  переключаем цифровой контакт 
                              //  в режим вывода данных

    length = sizeof(tune)/sizeof(tune[0]);
}
void loop()
{
    for(int x=1;x<length;x++)
    {tone(tonePin,tune[x]);
        //  чтобы сделать ноты различимыми, 
        //  задаем минимальный интервал между ними:
        delay(400*duration[(x%100)]); 

        noTone(tonePin); // останавливаем проигрывание ноты
    }
}

Проект-урок 7: Управление маленьким сервомотором

Цепь:

Скомпилируйте и загрузите на плату следующий код:

//  Управление позицией сервомотора при помощи потенциометра.

//  Создал Микал Ринотт (Michal Rinott),
//  веб-адрес - http://people.interaction-ivrea.it/m.rinott 

#include <Servo.h>

Servo myservo;   // создаем объект Servo для управления сервомотором 

int potpin = 1;  // аналоговый контакт для потенциометра
int val;         // переменная для считывания данных
                 // с аналогового контакта

void setup()
{
    myservo.attach(5);    //  подключает 5-ый контакт к сервомотору 
    Serial.begin(19200);  //  некоторые сервомоторы 
                          //  не работают без Serial 
}

void loop()
{
    val = analogRead(potpin);    //  считываем значение потенциометра 
                                 //  (значение в диапазоне 0-1023)
    val = map(val, 0, 1023, 0, 179);   //  подгоняем считанное 
                                       //  значение под диапазон 
                                       //  сервомотора (0-180)
    myservo.write(val);   //  задаем позицию сервомотора 
                          //  согласно адаптированному значению
    delay(15);  //  ждем, пока сервомотор станет на заданную позицию
}

Полезные ссылки

См.также

Внешние ссылки