Материалы к набору «Я у мамы программист» 10 проектов

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

А если вы только планируете приобрести данный набор, то его можно приобрести в жёлтом, синем, зелёном и бирюзовом цветах.

Материалы к набору Я у мамы программист v2.0 — 10 уроков

Драйвер для Arduino-совместимой UNO CH340G

driver_ch340_341_arduino

Утилита Processing для Проекта 2: Радар

  1. Утилита Processing master
  2. Утилита Рrocessing 3.5.4 для Win32
  3. Утилита Рrocessing 3.5.4 для Win64
  4. Утилита Processing master

Библиотеки

  1. Библиотека RFID
  2. Библиотека LCD дисплея

Файлы .ino

Код для набора Я у мамы программист 10 уроков — общий .zip

Файлы .ino — примеры кода отдельными файлами

  1. Подключение светодиода
  2. Управление яркостью светодиода
  3. Мини-светофор
  4. Имитация работы светофора через циклы
  5. Бегущая волна
  6. Фоторезистор 5516
  7. Фоторезиистор и светодиод
  8. Серводвигатель SG90
  9. Подключение двух серводвигателей SG90
  10. Зуммер
  11. Мелодия с помощью зуммера
  12. Датчик дождя
  13. Датчик уровня воды
  14. Датчик уровня воды с индикацией
  15. Датчик влажности почвы
  16. Датчик влажности почвы с оповещение через зуммер
  17. Лазерный передатчик
  18. Плавное включение и выключение лазерного передатчика
  19. Датчик вибрации
  20. Датчик движения HC-SR501
  21. Включение светодиода при срабатывании датчика движения
  22. Цифровой датчик температуры
  23. Датчик огня
  24. Датчик препятствия
  25. Дисплей
  26. Ультразвуковой дальномер
  27. Клавиатура мембранная
  28. Выведение данных матричной клавиатуры на дисплей
  29. Выведение данных дальномера на дисплей
  30. Выведение датчика уровня воды на дисплей
  31. Выведение датчика дождя на дисплей

Проекты

  1. Электронный кубик
  2. Радар
    1. Радар (часть 1)
    2. Радар (часть 2)
  3. RFID-замок
  4. Часы
  5. Автоматическое открывание крышки
  6. Таймер на Arduino
  7. Калькулятор
  8. Контроль доступа
  9. Управление лазером с джойстика
  10. Игра Змейка

Схема подключения к проекту 10 (Игра Змейка)

 

 

 

А чуть ниже представлена подробная информация о каждом датчике и модуле, входящем в набор, со схемой подключения.

Плата Arduino-совместимая UNO R3

Arduino-совместимые платы линейки UNO R3 – одни из самых популярных плат для быстрого старта программирования на открытой платформе Arduino. В большинстве случаев именно на их основе создаются самые первые проекты устройств.

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

Классическая Arduino-совместимая плата на Uno R3 обладает следующими характеристиками:

ХарактеристикаЗначение
МикроконтроллерATMega328P
Напряжение питания, В7-12 В (рекомендуемое); 6-20 В (предельное)
Рабочее напряжение, В5
ОЗУ2 Кб
Флеш-память32 Кб из которых 0.5 Кб используются для загрузчика
EEPROM1 Кб
Входы/Выходы Цифровые Входы/Выходы 14 (6 из которых могут использоваться как выходы ШИМ); Аналоговые входы 6

На Arduino-совместимой плате UNO R3 расположены 14 цифровых входов/выходов, часть из которых могут использоваться как выходы ШИМ, а также 6 аналоговых выходов. Также возможно подключение устройств по шине I2C.

Контроллер может быть запитан как от USB порта компьютера, так и от других источников питания (аккумуляторы, батарейки, блоки питания) через DC-разъем. На выходы платы подается напряжение 5В или 3.3В.

Распиновка UNO

Знакогенерирующий дисплей LCD 1602A IIC/I2C

Знаконегерирующий ЖК дисплей с разрешением 16х2, синей подсветкой и встроенным адаптером IIC/I2C.

Этот дисплей наиболее часто используется в проектах Arduino, так как адаптер IIC/I2C позволяет использовать только 4 пина платы контроллера и значительно упрощает как процесс подключения дисплея, так и управление им.

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

Дисплей

UNO

GND GND
VCC 5V
SDA А4
SCL А5

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

Схема подключения знакогенерирующего дисплея LCD 1602A IIC/I2C

На изображении ниже представлена схема подключения знакогенерирующего дисплея 1602A.

ма подключения дисплея
Схема подключения дисплея

Код для подключения знакогенерирующего дисплея LCD 1602A IIC/I2C

В примере ниже показано, как подключить дисплей к контроллеру и вывести на нем надпись «Hello, world!». Для корректной работы кода нужно загрузить библиотеки Wire.h и LiquidCrystal_I2C.h.

Библиотека LiquidCrystal_I2C.h: Библиотека LCD дисплея


#include <Wire.h> // подключение библиотеки
#include <LiquidCrystal_I2C.h> // подключение библиотеки

// назначьте адрес для дисплея по шине i2c - 0x3f
LiquidCrystal_I2C lcd(0x3f, 16, 2);

void setup()
{
lcd.begin(); // инициализация дисплея
lcd.backlight(); // включение подсветки
lcd.print("Hello, world!"); // вывод надписи
}

void loop()
{
}

ВНИМАНИЕ! В зависимости от установленной версии Arduino IDE могут работать или не работать некоторые библиотеки. Адрес шины дисплея может быть 0х27, 0х20 или 0х3F.

Скачать файл с кодом, формат .INO: Дисплей

Зуммер 5В 12 * 9мм, 2500 Гц

Пьезоэлектрический излучатель звука, или зуммер, предназначается для воспроизведения звука определенной частоты, в рамках которой работает излучатель. Данный зуммер — активного типа, то есть он будет излучать звук, как только на него подадут питание; длинная ножка — анод (+).

ВНИМАНИЕ! Соблюдайте осторожность при подключении устройств подобного типа, т.к. они могут издавать достаточно громкий звук.

Данная модель способна издавать звуки уровнем ~85 дБ, поэтому не стоит подносить ее близко к ушам.

Частота звучания регулируется изменением частоты издаваемого звука в Герцах. Таким образом, можно также регулировать тональность звучания.

Схема подключения зуммера 5В 12 * 9мм, 2500 Гц

На схеме ниже представлен один из вариантов подключения зуммера к плате управления.

Подключение зуммера
Подключение зуммера

Код для подключения зуммера 5В 12 * 9мм, 2500 Гц

В примере ниже показано, как подключить зуммер к плате и запрограммировать его на включение и выключение звукового сигнала.

#define BUZZER_PIN 9; // подключение зуммера на пин 9  
  
void setup() {  
  pinMode(BUZZER_PIN, OUTPUT); // определяем пин как выход  
}  
void loop() {  
  
  tone(BUZZER_PIN, 500); // включение на 500 Гц  
  delay(1000); // задержка 1 секунда  
  tone(BUZZER_PIN, 1000); // включение на 1000 Гц  
  delay(1000); // задержка 1 секунда  
} 

Скачать файл с кодом, формат .INO: Зуммер

Клавиатура мембранная 4*4

Мембранная клавиатура на 16 кнопок с цифрами от 0 до 9, буквами A, B, C, D и знаками «*» и «#».

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

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

Основные характеристики:

  1. рабочее напряжение: до 12 В;
  2. допустимая влажность: 90-95 % на протяжении 240 часов.

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

Схема подключения мембранной клавиатуры 4*4

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

Подключение мембранной клавиатуры 4х4
Подключение мембранной клавиатуры 4х4

Код для подключения мембранной клавиатуры 4*4

В примере ниже показано, как подключить мембранную клавиатуру к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).

Для корректной работы кода нужно установить библиотеку Keypad. Скачайте ее по пути Инструменты/Управлять библиотеками. Вбейте в поисковой строке «keypad», найдите в списке keypad by Mark Stanley, Alexander Brevig и нажмите кнопку установки; после этого код будет готов к работе.

#include <Keypad.h> // подключение библиотеки
  
const byte ROWS = 4; // четыре ряда  
const byte COLS = 4; // четыре колонки  
// определение значений каждой кнопки  
char keys[ROWS][COLS] = {  
  {'1','2','3','A'},  
  {'4','5','6','B'},  
  {'7','8','9','C'},  
  {'*','0','#','D'}  
};  
byte rowPins[ROWS] = {11, 10, 9, 8}; // подключение рядов   
byte colPins[COLS] = {7, 6, 5, 4}; // подключение колонок  
// определение клавиатуры как матрицы 4х4  
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );  
  
void setup(){  
  Serial.begin(9600); // выведение данных в монитор порта  
}  
    
void loop(){  
  // выведение значения, которое привязано к кнопке, при    нажатии в монитор порта  
  char key = keypad.getKey();  
  if (key){  
    Serial.println(key);  
  }  
}  

 Скачать файл с кодом, формат .INO: Клавиатура мембранная

 

 

Кнопка тактовая 6 * 6 * 5 мм

Кнопки часто используются в макетировании на Arduino, т.к. позволяют привнести в проект новый и полезный функционал.

Слово «тактовая» в названии кнопки означает, что при её использовании чувствуется тактильный отклик, что она была нажата. Тактовые кнопки бывают с фиксацией и без нее — кнопка без фиксации после нажатия возвращается в исходное положение.

Схема подключения кнопки тактовой 6 * 6 * 5 мм

На схеме показано подключение тактовой кнопки к контроллеру через подтягивающий резистор.

Подключение тактовой кнопки
Подключение тактовой кнопки

Код для подключения кнопки тактовой 6 * 6 * 5 мм

Ниже представлен код, с помощью которого можно вывести информацию о нажатии кнопки в монитор порта среды Arduino IDE.

const int PIN_BUTTON = 2;

void setup() {
  Serial.begin(9600);
  pinMode(PIN_LED, OUTPUT);
}

void loop() {
  // Получаем состояние кнопки и выводим в мониторе порта
  int buttonState = digitalRead(PIN_BUTTON);
  Serial.println(buttonState);
  delay(50);
}

Скачать файл с кодом, формат .INO: Тактовая кнопка

Модуль RFID RC-522 13,56 МГц

RFID (от англ. Radio Frequency IDentification, радиочастотная идентификация) – это метод идентификации, который подразумевает запись и считывание радиосигналов, которые хранятся на RFID-метках. Устройство RFID всегда двухчастное – сама RFID-метка и считывающее устройство.

Схема подключения модуля RFID RC-522 13,56 МГц

На изображении ниже представлена схема подключения модуля RFID RC-522 13,56 МГц.

Подключение RFID
Подключение RFID

Код для подключения модуля RFID RC-522 13,56 МГц

В примере ниже показано, как подключить модуль RFID к контроллеру.

// Подключение библиотек
#include <SPI.h>
#include <MFRC522.h>
// константы подключения контактов SS и RST
#define RST_PIN 9
#define SS_PIN 10
// Инициализация MFRC522
MFRC522 mfrc522(SS_PIN, RST_PIN); 
void setup()
{
  Serial.begin(9600); // инициализация последовательного порта
  SPI.begin(); // инициализация SPI
  mfrc522.PCD_Init(); // инициализация MFRC522
}
void loop()
{
  if ( ! mfrc522.PICC_IsNewCardPresent())
    return;
  // чтение карты
  if ( ! mfrc522.PICC_ReadCardSerial())
    return;
  // показать результат чтения UID и тип метки
  Serial.print(F("Card UID:"));
  dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
  Serial.println();
  Serial.print(F("PICC type: "));
  byte piccType = mfrc522.PICC_GetType(mfrc522.uid.sak);
  Serial.println(mfrc522.PICC_GetTypeName(piccType));
  delay(2000);
}
// Вывод результата чтения данных в HEX-виде
void dump_byte_array(byte *buffer, byte bufferSize)
{
  for (byte i = 0; i < bufferSize; i++)
  {
    Serial.print(buffer[i] < 0x10 ? " 0" : " ");
    Serial.print(buffer[i], HEX);
  }
}


Скачать файл с кодом, формат .INO: RFID

Модуль часов реального времени DS1302

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

Микросхема DS1302, расположенная на модуле, отличается низким энергопотреблением и позволяет отсчитывать время с точностью до секунд. Подключение ds1302 осуществляется с помощью пяти контактов. Выводы VCC и Gnd отвечают за питание модуля. Контакты CLK,DAT и RESX подключают к цифровым пинам микроконтроллера.

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

 

Схема подключения модуля часов реального времени DS1302

На схеме представлено подключение часов реального времени к контроллеру.

Подключение часов реального времени
Подключение часов реального времени

Код для подключения модуля часов реального времени DS1302

Далее представлен код для программирования модуля часов реального времени. Для корректной работы с кодом нужно дополнительно скачать библиотеку DS1302 и добавить ее в среду Arduino IDE.

#include <DS1302.h>

DS1302 rtc(45, 46, 47);


void setup()
{
    Serial.begin(9600);
}

void loop()
{
    Time t = rtc.time();
    Serial.println(t.yr);
    Serial.println(t.hr);
    Serial.println(t.min);
    Serial.println(t.sec);
    Serial.println(t.mon);
    Serial.println(t.date);
    Serial.println(t.day);

    delay(1000);
}

 

Скачать файл с кодом, формат .INO: Модуль часов реального времениds1302

Скачать библиотеку для DS1302, формат .ZIP: arduino-ds1302-master
 

Провода DuPont мама-мама 20 см

Провода вида «мама-мама» (также могут называться проводами F-F (female-female) с гнездами на концах используются для подключения датчиков и плат, ответной частью которых являются штырьки.

Гнездо на разъеме провода плотно соединяется со штырьком, тем самым обеспечивая хороший контакт.

Провода DuPont папа-папа 10 см

Чаще всего для подключения модулей и датчиков используются провода вида «папа-папа» (также могут называться проводами М-М (male-male)) со штырьками на концах. Такая форма контактов популярна из-за того, что на макетных платах и на платах контроллеров размещены гнезда, в которые и должны быть вставлены контактные штырьки.

 

Разъем для батарейки Крона 9V с проводами

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

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

Крона подсоединяется к контактам разъема, зеркально повторяющим ее контакты. Провод красного цвета — это провод питания, черный — заземления.

Резисторы

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

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

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

Название в набореСопротивлениеМощностьРабочее напряжение, max
Резистор 150 Ом150 Ом0.25 Вт250 В
Резистор 220 Ом220 Ом0.25 Вт250 В
Резистор 1 кОм1 кОм0.25 Вт250 В
Резистор 4.7 кОм4.7 кОм0.25 Вт250 В
Резистор 10 кОм10 кОм0.25 Вт250 В

 

Схема подключения резистора

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

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

Светодиод RGB 5мм

Светодиоды RGB немного сложнее в подключении по сравнению с одноцветными светодиодами.

В RGB светодиодах содержатся три кристалла разных цветов в одном корпусе. Такие светодиоды имеют не два контакта, а четыре — один общий (анод или катод имеет самый длинный вывод) и три цветовых вывода. Каждая

RGB светодиоды объединяют три кристалла разных цветов в одном корпусе. RGB LED имеет 4 вывода — один общий (анод или катод имеет самый длинный вывод) и три цветовых вывода. К каждому цветовому выходу следует подключать резистор.

Схема подключения RGB светодиода

Ниже представлена схема подключения RGB светодиода с общим катодом, таким образом, ножка катода подключается к GND контроллера.

Подключение RGB светодиода
Подключение RGB светодиода

Код для подключения светодиода RGB

Ниже представлен простейший скетч для управления миганием RGB светодиода разными цветами.

 

#define RED 11  // присваиваем имя RED для пина 11
#define GRN 12 // присваиваем имя GRN для пина 12
#define BLU 13  // присваиваем имя BLU для пина 13
 
void setup() {
   pinMode(RED, OUTPUT);  // используем Pin11 для вывода
   pinMode(GRN, OUTPUT); // используем Pin12 для вывода
   pinMode(BLU, OUTPUT);  // используем Pin13 для вывода
}
 
void loop() {
 
   digitalWrite(RED, HIGH); // включаем красный свет
   digitalWrite(GRN, LOW);
   digitalWrite(BLU, LOW);
 
   delay(1000); // устанавливаем паузу для эффекта
 
   digitalWrite(RED, LOW);
   digitalWrite(GRN, HIGH); // включаем зеленый свет
   digitalWrite(BLU, LOW);
 
   delay(1000); // устанавливаем паузу для эффекта
 
   digitalWrite(RED, LOW);
   digitalWrite(GRN, LOW);
   digitalWrite(BLU, HIGH); // включаем синий свет
 
  delay(1000); // устанавливаем паузу для эффекта
}

Скачать файл с кодом, формат .INO: Светодиод RGB

Светодиоды

Самыми простыми проектами для Arduino являются проекты подключения светодиодов.

Светодиоды бывают различных видов:

  • Индикаторные с выводными контактами
  • Яркие светодиоды для выводного монтажа
  • Индикаторные и осветительные светодиоды для поверхностного монтажа (SMD)
  • Светодиоды «Пиранья»
  • Осветительные светодиоды COB
  • Светодиоды filament (в форме нити накала) и др.

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

Одноцветные светодиоды имеют две ножки, длинная – это анод «+», к ней подключается питание. Светодиоды всегда подключаются через резистор.

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

Схема подключения светодиода

На схеме ниже представлена простейшая схема подключения нескольких светодиодов. Подключение каждого светодиода на ней идентично.

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

Код для подключения светодиодов

Ниже представлен код для демонстрации работы одного светодиода.

void setup() {               
  pinMode(13, OUTPUT); // светодиод подключен на пин 13 и определен как выход
}
void loop() {
  digitalWrite(13, HIGH); // подача высокого сигнала на пин, светодиод зажигается
  delay(1000);  // задержка 1 секунда
}

Скачать файл с кодом, формат .INO: Подключение светодиода

Светодиодная матрица 8×8, общий анод

Светодиодная матрица — еще одно устройство, которое может выполнять функцию индикации, а в некоторых случаях и функцию дисплея.

Светодиодная матрица может отображать информацию как в статичном режиме, так и в режиме каскадного переливания. Главная особенность такого матричного дисплея – возможность объединения с такими же дисплеями с целью сборки большого табло.

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

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

Схема подключения светодиодной матрицы 8×8, общий анод

Ниже представлена схема подключения светдиодной матрицы к контроллеру через сдвиговые регистры.

Код для подключения светодиодной матрицы 8×8, общий анод

С помощью кода, представленного ниже, можно подключить светодиодную матрицу к контроллеру.

#define data_pin 2     //data_pin 1-го регистра
#define st_pin 3      //latch_pin общий
#define sh_pin 4     //clock_pin 1-го регистра
#define data_pin2 5 //data_pin 2-го регистра
#define sh_pin2 6  //clock_pin 2-го регистра

byte pic0[8] {
  0b01111111,
  0b10111111,
  0b11011111,
  0b11101111,
  0b11110111,
  0b11111011,
  0b11111101,
  0b11111110
};
//массив pic0 не трогаем, по нему отключаются логические единицы на сроках

byte pic[8] {
  0b10111011,
  0b11101110,
  0b00000000,
  0b10111011,
  0b11101110,
  0b00000000,
  0b10111011,
  0b11101110
};
//в этом массиве создаем картинку построчно, единицы обозначают зажженные светодиоды, нули - погашенные

byte cifra[10][8] {
  { B00001110,
    B00011011,
    B00011011,
    B00011011,
    B00011011,
    B00011011,
    B00001110,
    B00000000
  },
  { B00000010,
    B00000110,
    B00001110,
    B00000110,
    B00000110,
    B00000110,
    B00000110,
    B00000000
  },
  {
    B00001110,
    B00011011,
    B00000011,
    B00000110,
    B00001100,
    B00011000,
    B00011111,
    B00000000
  },
  {
    B00001110,
    B00011011,
    B00000011,
    B00001110,
    B00000011,
    B00011011,
    B00001110,
    B00000000
  },
  {
    B00000011,
    B00000111,
    B00001111,
    B00011011,
    B00011111,
    B00000011,
    B00000011,
    B00000000
  },
  {
    B00011111,
    B00011000,
    B00011110,
    B00000011,
    B00000011,
    B00011011,
    B00001110,
    B00000000
  },
  {
    B00001110,
    B00011011,
    B00011000,
    B00011110,
    B00011011,
    B00011011,
    B00001110,
    B00000000
  },
  {
    B00011111,
    B00000011,
    B00000110,
    B00001100,
    B00001100,
    B00001100,
    B00001100,
    B00000000
  },
  {
    B00001110,
    B00011011,
    B00011011,
    B00001110,
    B00011011,
    B00011011,
    B00001110,
    B00000000
  },
  {
    B00001110,
    B00011011,
    B00011011,
    B00001111,
    B00000011,
    B00011011,
    B00001110,
    B00000000
  },
};
//в этом массиве хранятся изображния цифр

void setup() {
  //включаем передачу данных по последовательному порту
  Serial.begin(9600);
  //задаем режим OUTPUT ( выход )
  for ( int i = 2; i < 7; i++) {
    pinMode(i, OUTPUT);
  }
}

void loop() {
  //output(массив с изображением);
  if (Serial.available() > 0) {     //ожидание доступных данных в com порте
    int cif = Serial.read() - '0'; //считывние данных из com порта 
      output(cifra[cif]);         //вывод цифры
  }
  obnulenie();
}

void obnulenie() {
  //в этом блоке гаснет вся матрица, при необходимости - использовать
  digitalWrite(st_pin, 0);
  shiftOut(data_pin, sh_pin, MSBFIRST, 0b11111111);
  shiftOut(data_pin2, sh_pin2, MSBFIRST, 0b00000000);
  digitalWrite(st_pin, 1);
}

void output(byte picture[8]) {
  //в этом блоке осуществляется вывод изображения на экран длительностью в 1 секунду (125*8мс)
  for (int kadr = 0; kadr < 125; kadr++) {
    for (int i = 7; i > -1; i--) {
      //в этом цикле осуществляется вывод изображения, хранящегося в массиве ( выводится в обратном порядке чтобы изображение было в нормальной ориентации, при необходимости поменять на for (int i=0; i<8; i++))
      digitalWrite(st_pin, 0);
      shiftOut(data_pin, sh_pin, MSBFIRST, pic0[i]);
      shiftOut(data_pin2, sh_pin2, MSBFIRST, picture[i]);
      digitalWrite(st_pin, 1);
      delay(1);
    }
  }
}

Скачать файл с кодом, формат .INO: Матрица 8×8

Сдвиговый регистр SN74HC595N

Регистр это устройство, выполненное на триггерах для выполнения ряда действий с двоичными числами. Сдвиговый регистр 74hc595 обычно используется для управления семисегментными индикаторами и светодиодами.

Чтобы понять принцип работы микросхемы 74hc595, следует рассмотреть распиновку сдвигового регистра.

  • Контакты DS, ST_CP и SH_CP — служат для управления и подключаются к любым выходам платы Arduino.
  • Контакты Q0Q7 — это выходы (разряды) сдвигового регистра. С помощью отправки байта с контроллера можно менять состояние разряда (HIGH или LOW).
  • Контакты VCC и GND — это питание регистра
  • Контакт MR — сброс (не активен)
  • Контакт OE подключается к GND
  • Контакт Q7` предназначен для последовательного соединения регистров.

Схема подключения сдвигового регистра SN74HC595N

На изображении ниже представлена схема подключения сдвигового регистра со светодиодами.

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

Код для подключения сдвигового регистра SN74HC595N

Ниже представлен код подключения сдвигового регистра SN74HC595N.

#define clock 13
#define data 12
#define latch 10

boolean states[8];

void setup() {
  pinMode(clock, OUTPUT);
  pinMode(data, OUTPUT);
  pinMode(latch, OUTPUT);
  digitalWrite(latch, HIGH);
  cleanreg();

}

void loop() {
  sendbyte(1);
}


void sendbyte(byte value){
  digitalWrite(latch, LOW);
  shiftOut(data, clock, LSBFIRST, value);
  digitalWrite(latch, HIGH);
}

void sendpin(int pin, boolean state){
  pin--;
  states[pin]=state;
  
  byte value = 0;
  byte add = 1;
  for(int i=0; i<8; i++){
    if(states[i]==HIGH) value+=add;
    add*=2;
  }
  digitalWrite(latch, LOW);
  shiftOut(data, clock, LSBFIRST, value);
  digitalWrite(latch, HIGH);
}

void cleanreg(){
  for(int i=0; i<8; i++) states[i]=LOW;
  digitalWrite(latch, LOW);
  shiftOut(data, clock, LSBFIRST, 0);
  digitalWrite(latch, HIGH);
}

Скачать файл с кодом, формат .INO: Сдвиговый регистр

Серводвигатель SG90 (180 град)

Серводвигатель или сервомотор может поворачиваться на определенный угол относительно 0°. Некоторые серво могут совершать полный оборот в 360°. Серво в наборе рассчитаны на поворот максимум 180°.

Основные характеристики:

  1. напряжение питания: 5 В;
  2. крутящий момент: 1.6 кг/см;
  3. время поворота на 60°: 0.1 сек.

В комплекте к серводвигателю идут три качалки и три винта для их крепежа. На качалках предусмотрены специальные отверстия для крепления приводимых в движение деталей.

 

Схема подключения серводвигателя SG90 (180 градусов)

На схеме ниже представлен пример подключения серводвигателя SG90.

Цвета проводов серводвигателя: GND – коричневый, сигнал – оранжевый, питание 5В – красный.

Подключение сервопривода
Подключение сервопривода

Код для подключения серводвигателя SG90 (180 градусов)

В примере ниже показано, как подключить серводвигатель SG90, а также продемонстрировать движение крыльчаток.

Для того, чтобы подключить встроенную библиотеку Servo через ARDUINO IDE, нужно использовать путь Скетч/Подключить библиотеку/Servo.

#include <Servo.h> // подключена библиотека серво
  
Servo servo; // даем название серво 
void setup() {  
  servo.attach(3); // серво на пине 3  
  servo.write(0);  // начальное положение в градусах   
}  
  
void loop() {  
  servo.write(90); // поворот на 90 градусов  
  delay(1000); // задержка 1 секунда  
  servo.write(180); // поворот на 180 градусов  
  delay(1000);  
  servo.write(90);  
  delay(1000);  
  servo.write(0);  
  delay(1000);          
} 

 

Скачать файл с кодом, формат .INO: Серводвигатель SG90

Беспаячные макетные платы

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

На макетной плате расположены рельсы питания, а также контакты для размещения компонентов и радиодеталей (группированы по 5).

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

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

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

 

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

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

Ультразвуковой дальномер HC-SR04

Ультразвуковой дальномер (датчик расстояния) HC-SR04. Генерирует звуковые импульсы на частоте 40 кГц, и по отраженному сигналу определяет расстояние до объекта. Программно сравнивая показания датчика, можем определить, перемещается ли объект, скорость и направление движения.

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

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

Угол измерения 30°, наиболее эффективный — 15°. Прозрачность объекта не имеет значения.

Дальномер

UNO

Trig

Цифровой вход 3

Echo

Цифровой вход 2

GND

GND

VCC

5 V

Схема подключения ультразвукового дальномера HC-SR04

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

Подключение УЗ дальномера
Подключение УЗ дальномера

Код для подключения ультразвукового дальномера HC-SR04

В примере ниже показано, как подключить вывод ультразвукового дальномера HC-SR04 к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).

 int echoPin = 2; // назначение цифрового вывода для Echo
int trigPin = 3; // назначение цифрового вывода для Trig

void setup() {
Serial.begin (9600); // подключение монитора порта для выведения данных
pinMode(trigPin, OUTPUT); // генерируется импульс для измерения расстояния
pinMode(echoPin, INPUT); // завершение импульса, считывание дистанции
}

void loop() {
int duration, cm; // назначение меры длины в см
digitalWrite(trigPin, LOW); // подача низкого сигнала на пин trigPin
delayMicroseconds(2); // пауза 2 микросекунды
digitalWrite(trigPin, HIGH); // подача высокого сигнала на пин trigPin
delayMicroseconds(10); // пауза 10 микросекунд
digitalWrite(trigPin, LOW); // подача низкого сигнала на пин trigPin

duration = pulseIn(echoPin, HIGH); // pulseIn - длина положительного импульса на пине echoPin в микросекундах
cm = duration / 58; // формула для выведения корректных данных в см
Serial.print(cm); // выведение данных в монитор порта в см
Serial.println(" cm"); // условия выведения надписи в монитор порта, добавление к значению меры длины
delay(1000); // пауза между измерениями 1 секунда
} 

Скачать файл с кодом, формат .INO: Ультразвуковой дальномер

Датчик вибрации пороговый

Пороговый датчик вибрации представляет собой датчик SW-18010P, установленный на плате с компаратором. На плате предусмотрены цифровой и аналоговый выводы для упрощения подключения.

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

На плате датчика есть два индикаторных светодиода: красный – питание; зеленый – обнаружение вибрации. Напряжение питания: 5 В.

Схема подключения датчика вибрации порогового

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

Подключение модуля с датчиком вибрации
Подключение модуля с датчиком вибрации

Код для подключения датчика вибрации порогового

В примере ниже показано, как подключить вывод датчика вибрации порогового к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).

 #define VIBRATION_SENSOR A0 // датчик на пине А0

void setup() {
Serial.begin(9600); // включение монитора порта
}

void loop() {
int sensorValue = analogRead(VIBRATION_SENSOR);
Serial.print("Analog value:");
Serial.println(sensorValue); // данные в мониторе порта
delay(500); // задержка 0.5 секунд
}

Скачать файл с кодом, формат .INO: Датчик вибрации

Датчик влажности почвы

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

Датчик влажности почвы

Модуль датчика состоит из двух частей:  контактного щупа и датчика, в комплекте идут провода для подключения.. Между двумя электродами щупа создаётся небольшое напряжение. Если почва сухая, сопротивление велико и ток будет меньше. Если земля влажная — сопротивление меньше, ток — чуть больше. По итоговому аналоговому сигналу можно судить о степени влажности. Щуп соединен с датчиком по двум проводам. Кроме контактов соединения с щупом,  датчик имеет четыре контакта для подключения к контроллеру.

  • Vcc – питание датчика;
  • GND – земля;
  • A0 — аналоговое значение;
  • D0 – цифровое значение уровня влажности.

Датчик построен на основе компаратора, который выдает напряжение на выход D0 по принципу: влажная почва – низкий логический уровень, сухая почва – высокий логический уровень. Уровень определяется пороговым значением, которое можно регулировать с помощью потенциометра. На вывод A0 подается аналоговое значение, которое можно передавать в контроллер для дальнейшей обработки, анализа и принятия решений. Датчик YL-38 имеет два светодиода, сигнализирующих о наличие поступающего на датчик питания и уровня цифрового сигналы на выходе D0. Наличие цифрового вывода D0 и светодиода уровня D0 позволяет использовать модуль автономно, без подключения к контроллеру.

Схема подключения датчика влажности почвы

Подключение датчика влажности почвы
Подключение датчика влажности почвы

Код для подключения датчика влажности почвы

В данном примере показано, как считать код с датчика влажности почвы через Arduino и вывести информацию в последовательный порт (вывод будет виден в мониторе порта Arduino IDE).

#define SOILMOISTURE_SENSOR A0 // подключение к пину А0
void setup() { 
    Serial.begin(9600); // вывод данных в монитор порта
}

void loop() {
    int sensorValue = analogRead(SOILMOISTURE_SENSOR); // считывание данных с аналогового порта А0
    Serial.print("Analog value: "); // фраза, выводимая перед показаниями датчика
    Serial.println(sensorValue); // данные в монитор порта
    delay(1000); // задержка 1 секунда
}

Скачать файл с кодом, формат .INO: Датчик влажности почвы

Датчик движения HC-SR501

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

Работает на расстоянии до 7 метров, угол обнаружения – до 120°. Для эффективной работы датчик должен располагаться вдали от прямых источников света и ветра.

Схема подключения датчика движения HC-SR501

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

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

Подключение датчика движения
Подключение датчика движения

Код для подключения датчика движения HC-SR501

В примере ниже показано, как подключить вывод датчика движения HC-SR501 к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).


#define PIR 3 // датчик на пин 3

void setup() {
pinMode(PIR, INPUT); // определяем пин как вход
Serial.begin(9600); // подключение монитора порта
}

void loop() {
int pirValue = digitalRead(PIR); // считываение цифровых данных
Serial.println(pirValue); // данные в мониторе порта
delay(100); // задержка 0.1 секунда
}

Скачать файл с кодом, формат .INO: Датчик движения HC-SR501

Датчик дождя

Датчик дождя с компаратором и соединительными проводами в комплекте. Плата датчика представляет собой большой резистор, который изменяет свое сопротивление по мере попадания на него воды. На плате с компаратором предусмотрены аналоговый и цифровой выводы. Напряжение питания датчика 3.3 – 5 В.

Когда капля попадает на чувствительную к влаге пластину, информация об этом подается на плату датчика, а далее фиксируется на Arduino.

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

Схема подключения датчика дождя

На изображении ниже представлена схема подключения датчика дождя к плате Arduino Uno.

Подключение датчика дождя
Подключение датчика дождя

Код для подключения датчика дождя

В примере ниже показано, как подключить вывод датчика дождя к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).

#define ANALOG_RAINSENSOR A0 // датчик на аналоговом пине A0
#define DIGITAL_RAINSENSOR 3 // датчик на цифровом пине 3

void setup() {
    Serial.begin(9600); // подключение монитора порта
}

void loop() {
 // аналоговый пин А0 - выведение данных
 int analogValue = analogRead(ANALOG_RAINSENSOR); // считываем аналоговые данные датчика
 Serial.print("Analog value:"); // фраза перед значением данных
 Serial.println(analogValue); // выведение данных в монитор порта
 delay(1000); // задержка 1 секунда

 // цифровой пин 3 - выведение данных
 int digitalValue = digitalRead(DIGITAL_RAINSENSOR); // данные считываются с цифрового порта
 Serial.print("Digital value:"); // фраза перед значением данных
 Serial.println(digitalValue); // данные в мониторе порта
 delay(1000); // задержка 1 секунда
}

Скачать файл с кодом, формат .INO: Датчик дождя

Датчик пламени пороговый

Инфракрасный датчик огня (пламени) используется в проектах пожарной сигнализации. Датчик представляет собой плату с компаратором и инфракрасным диодом, который реагирует на длину волны в диапазоне 760-1100 нм.

Основные характеристики:

  1. расстояние срабатывания: до 1 м;
  2. угол обнаружения: до 60°;
  3. напряжение питания: 3.3 – 5 В.

Схема подключения датчика пламени порогового

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

Подключение датчика пламени
Подключение датчика пламени

Код для подключения датчика пламени порогового

В примере ниже показано, как подключить вывод датчика пламени порогового к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).

#define DIGITAL_FIRE_SENSOR 2 // цифровой пин 2  
#define ANALOG_FIRE_SENSOR A0 // аналоговый пин на А0  
  
void setup() {  
 pinMode(DIGITAL_FIRE_SENSOR, INPUT); // определяем пины как входы 
 pinMode(ANALOG_FIRE_SENSOR, INPUT);  
 Serial.begin(9600); // подключение монитора порта 
}  
  
void loop() {  
  int digitalValue = digitalRead(DIGITAL_FIRE_SENSOR); // получение данных 
  Serial.println(digitalValue); // данные в монитор порта 
  delay(100); // задержка 0.1 секунда   
  
  int analogValue = analogRead(ANALOG_FIRE_SENSOR);  
  Serial.println(analogValue);  
  delay(100);  
}  

Скачать файл с кодом, формат .INO: Датчик огня

Датчик препятствия пороговый

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

Основные характеристики:
1. дистанция обнаружения: 2-30 см;
2. угол обнаружения: 35°;
3. напряжение питания: 3.3 – 5 В.

Схема подключения датчика препятствий порогового

Ниже на изображении представлена схема подключения датчика препятствий.

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

Код для подключения датчика препятствий порогового

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

 #define LINE 2 // датчик на пине 2

void setup() {
Serial.begin(9600); // подключение монитора порта
pinMode(LINE, INPUT); // пин LINE - вход
}

void loop() {
int barrier = digitalRead(LINE); // получение данных
Serial.println(barrier); // данные в монитор порта
delay(100); // задержка 0.1 секунда
}

Скачать файл с кодом, формат .INO: Датчик препятствия

Датчик уровня воды

Датчик уровня воды может быть использован в проектах, где важно следить за колебанием уровня воды около конкретной отметки. Сигнал датчика обрабатывается через аналоговый вывод S. Датчик работает по принципу изменения сопротивления в зависимости от того, насколько глубоко он опущен в воду. Напряжение питания датчика 3.3 – 5 В.

С помощью представленного ниже кода можно вывести в монитор порта показания датчика. Данные снимаются в реальном времени, диапазон от 0 до 1023, где 0 – сухой датчик. Чем выше значение показания датчика, тем выше уровень воды.

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

Схема подключения датчика уровня воды

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

Подключение датчика уровня воды
Подключение датчика уровня воды

Код для подключения датчика уровня воды

В примере ниже показано, как подключить вывод датчика уровня воды к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE)

 #define ANALOG_WATERSENSOR A0 // датчик на аналоговом пине А0

void setup() {
Serial.begin(9600); // подключение монитора порта
}

void loop() {
int sensorValue = analogRead(ANALOG_WATERSENSOR); // данные считываются с аналогового порта А0
Serial.print("Analog value: "); // фраза, выводимая перед показаниями датчика
Serial.println(sensorValue); // данные в мониторе порта
delay(1000); // задержка 1 секунда
} 

Скачать файл с кодом, формат .INO: Датчик уровня воды

Джойстик 5 каналов

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

Модуль двухосевого джойстика состоит из двух потенциометров на 10 кОм, определяющие положение осей X и Y изменение сопротивления осуществляется рычагом. Средняя нога каждого потенциометра выведена на разъем (контакты VRX и VRY), а вторая и третья нога подключена к питанию и массе. Дополнительно установлена тактовая кнопка, показания снимаются с контакта SW, так же предусмотрено посадочное место для подтягивающего резистора (R5).

Схема подключения джойстика 5 каналов

На изображении ниже представлена схема подключения джойстика.

Подключение джойстика
Подключение джойстика

Код для подключения джойстика 5 каналов

В примере ниже показано, как подключить вывод джойстика 5 каналов к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).

 
const int Y_PIN = 2; // подключение оси Y джойстика к аналоговому пину 2
const int X_PIN = 1; // подключение оси X джойстика к аналоговому пину 1
const int BUTTON_PIN = 8; // подключение кнопки к цифровому пину 8
float stepSize = 180 / 1024; // вычисление шага: деление градусов на градацию
// Угол поворота джойстика равен 180 градусов, АЦП (аналого цифровой преобразователь)выдает значения от 0 до 1023, всего 1024 градации

void setup()
{
  Serial.begin(9600); // инициализация монитора порта
}

void loop()
{
  int yVal = analogRead(Y_PIN); // введение переменной yVal для считывания показаний аналогового значения по оси Y
  int xVal = analogRead(X_PIN); // введение переменной xVal для считывания показаний аналогового значения по оси Х
  float yAngle = yVal * stepSize; // конвертирование выходных данных yVal в угол наклона джойстика (от 0 до 180 градусов)
  float xAngle = xVal * stepSize; // конвертирование выходных данных yVal в угол наклона джойстика (от 0 до 180 градусов)
  boolean isNotClicked = digitalRead(BUTTON_PIN); // считывание информации о клике на джойстик
  Serial.print("Горизонтальный угол = "); // вывод текста
  Serial.println(xAngle); // значение угла по оси X
  Serial.print("Вертикальный угол = ");
  Serial.println(yAngle); // значение угла по оси Y
  if (!isNotClicked)  // если происходит нажатие на джойстик, то выводить текст в монитор порта
  {
    Serial.println("Нажатие джойстика");
  }
  delay(1000); // задержка 1 секунда
}

Скачать файл с кодом, формат .INO: Джойстик

Кронштейн вращающийся

Поворотный кронштейн обеспечивает двухосевое вращение закрепленной на нем камеры или другого оборудования. Обычно такой кронштейн используется с небольшими сервоприводами SG90, MG90, T1211.

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

В наборе для сборки кронштейна также находится комплект крепежа.

Кронштейн в сборе на примере сервоприводов SG90.

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

Лазерный передатчик KY-008

Модуль с лазерным диодом может использоваться в проектах сигнализации, охранных систем и барьеров. Есть возможность изменения яркости свечения лазера. Не допускается питание модуля свыше 5В – это приведет к постепенному выходу лазера из строя.

ВНИМАНИЕ!

Нельзя направлять прямой или отраженный лазерный луч в глаза во избежание получения травм!

Схема подключения лазерного передатчика KY-008

На изображении ниже представлена схема подключения лазерного передатчика.

Подключение лазерного модуля
Подключение лазерного модуля

Код для подключения лазерного передатчика KY-008

В примере ниже показано, как подключить вывод датчика движения HC-SR501 к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).

 #define LASER_MODULE_MODULE 3 // лазер на пин 3

void setup() {
pinMode(LASER_MODULE, OUTPUT); // пин 3 - выход
}

void loop() {
// цикл - мигание 5 раз подряд
for (int i=1; i<=5; i++)
{
digitalWrite(LASER_MODULE, HIGH);
delay(500);
digitalWrite(LASER_MODULE, LOW);
delay(500);
}
delay(3000); // задержка 3 секунды
} 

Скачать файл с кодом, формат .INO: Лазерный передатчик

Плата датчика температуры пороговый

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

В отличие от аналогового датчика, который показывает данные в реальном времени, цифровой выводит в качестве результата 0 или 1, где 1 – это температура ниже пороговой.

Как только установленный порог превышен, на плате датчика загорается индикаторный светодиод.

Схема подключения платы датчика температуры пороговый

На изображении ниже представлена схема подключения платы датчика температуры пороговый.

Подключение порогового датчика температуры
Подключение порогового датчика температуры

Код для подключения платы датчика температуры пороговый

В примере ниже показано, как подключить вывод платы датчика температуры пороговый к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).


#define TEMP 3 // датчик на пин 3

void setup() {
pinMode(TEMP, INPUT); // TEMP пин - вход
Serial.begin(9600); // подключение монитора порта
}

void loop() {
int tempValue = digitalRead(TEMP); // считывание цифровых данных
Serial.println(tempValue); // данные в монитор порта
delay(100); // задержка 0.1 секунда
}

Скачать файл с кодом, формат .INO: Цифровой датчик температуры

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

Фоторезистор 5516 может использоваться в проектах, где регистрируется уровень освещения. Позволяет осуществлять проекты по контролю яркости ламп при определенном уровне освещенности. Максимальное напряжение питания фоторезистора 5516 – 150 В (DC), сопротивление 5-10 кОм.

Фоторезистор и резистор можно подключать к питанию любой ножкой, главное – соблюдать последовательность подключения.

Интерпретация показаний датчика в мониторе порта:

  1. 0-200 – сильное освещение;
  2. 200-500 – приглушенное освещение;
  3. 500-800 – сумерки;
  4. 800-1023 – темнота.

Схема подключения фоторезистора

Фоторезистор прост в подключении, ниже представлен рисунок со схемой подсоединения к контроллеру, в схеме должен присутствовать резистор.

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

Код подключения для фоторезистора

В примере ниже показано, как подключить вывод фоторезистора к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).


#define PIN_PHOTORESISTOR A0 // определяем пин подключения фоторезистора

void setup() {
Serial.begin(9600); // выведение данных в монитор порта
}

void loop() {
int value = analogRead(PIN_PHOTORESISTOR); // введение переменной с названием value (значение), которое равно значению, получаемому при чтении показаний фоторезистора на пине А0. Нужно, чтобы не использовать выражение с дополнительными скобками в уже существующих скобках.
Serial.println(value); // отображение показаний в мониторе порта
delay(1000); // задержка 1 секунда
}

Скачать файл с кодом, формат .INO: Фоторезистор 5516

Коробка пластиковая (цветная, съёмные перегородки)

Бокс для хранения модулей и компонентов — это полезная и удобная составляющая нашего набора.

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

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

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

Яркий цвет коробочки привлекает внимание, а в комплекте с компонентами весь набор станет отличным подарком.

Габариты бокса: 280х185х50 мм