Андрей Смирнов
Время чтения: ~25 мин.
Просмотров: 59

Ардуино интересные и полезные шилды и модули. часть 1: проводная связь и хранение данных

Миниатюрные системы для сетевого доступа и беспроводной доступ по GSM

Шилд W5100 довольно громоздкий, и в связке с миниатюрными pro mini и nano выглядит нелепо, да и далеко не всегда нужна на шилде карта памяти.

Вы можете обратить свое внимание на модель arduino Ethernet модуля W5500, тоже на базе чипа WIZnet, как и предыдущий вариант

Связь с микроконтроллером осуществляется по тому же SPI интерфейсу, а сам чип построен на Cortex M0. Чип W5500 меньше греется и имеет большую мощность, нежели у W5100 (значительно сильнее грелся).

В отличие от младших чипов, добавлен режим параллельной 8 битной шины. Но и ток потребления 160 мА при работе на полной скорости – 100 м/бит.

Другой вариант миниатюрного шилда – это arduino enc28j60. Главное его преимущество – это то, что он дешевле в 2-3 раза, чем W5500, например.

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

28J60 отлично подойдёт для интернета, для простейших мелких задач, типа Ethernet термометра. Микросхема произведена компанией Microchip, работает по тому же SPI интерфейсу, что и предыдущие. Библиотеки для работы с ней отлично подходят для Ардуино на 168/328 ATmega, в их числе Uno, Nano, Pro Mini. Для Mega нужно правильно назначить пины.

Но еще более интересный вопрос – это беспроводная связь с Ардуино. Это стало возможно благодаря GSM модулям, а с помощью w5500 вы можете осуществлять связь только по сети. В шилд или модуль для Ардуино вставляешь sim-карту, и вы можете управлять своей автоматизацией с помощью SMS или вызова.

Рассмотрим модуль Neoway M590E, рассчитанный на два диапазона (900/1800 мГц) – голосовую связь он не поддерживает. Работает в сети GPRS с максимальной скоростью в 48 кбит/с, способен принимать и передавать SMS сообщения. Модуль стоит около 1-2х долларов. Для своей цены он более чем универсален.

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

Питание M590E может осуществляться от li-ion аккумулятора или любого другого источника на 3,3 — 4,8 В с током порядка 1 ампера (номинальным 0.6 А).

Шилд своими руками

В качестве примера создадим свой собственный LCD-шилд. Схема подключения популярного алфавитно-цифрового ЖКИдисплея 1602 на контроллере HD44780 возможна в двух вариантах — восьмибитной шиной или четырехбитной. Самое время открыть стратегию шилдостроения Arduino: пинов много не бывает! Стараемся использовать их по минимуму и поэтому выбираем четырехбитную схему (на наше счастье, поддержка такой схемы входит в дистрибутив ArduinoIDE, в виде библиотеки LiquidCrystal).

Используем для построения нашего шилда специальную заготовку — протошилд, который представляет собой макетную плату с небольшими изысками. Самая главная его ценность — это правильно расставленные отверстия для пинов, для идеальной стыковки с Arduino. Так уж получилось, что все колодки пинов расположены на сетке с шагом 2,54 мм, кроме одной (если бы не этот досадный факт, можно было бы взять любой кусочек «дырчатой макетки» и впаять в него стыковочные вилки PLS)

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

Это важно! Если забить на это, при правильной в остальном схеме и скетче ничего видно не будет. Подойдет любой на 10-20 кОм, а конкретно на этом протошилде он уже и так предусмотрен — правда подключен ко входу analog0, поэтому придется припаять лишний проводок

Подойдет любой на 10-20 кОм, а конкретно на этом протошилде он уже и так предусмотрен — правда подключен ко входу analog0, поэтому придется припаять лишний проводок.

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

Как подключить Motor Shield к Ардуино

Для занятия нам понадобятся следующие детали:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • Motor Shield L293D;
  • сервомотор;
  • двигатели постоянного тока;
  • шаговый двигатель;
  • провода «папа-мама», «папа-папа».

К Ардуино шилд подключается очень просто — он устанавливается на плату UNO прямо сверху

Обратите внимание, что без подключения внешнего источника питания к Motor Shield, логика и двигатели будут работать от 5 Вольт, что не всегда бывает достаточно. Поэтому скорость вращения моторов постоянного тока при подключении платы Ардуино от компьютера и блока питания будет значительно отличаться


Мотор Шилд Ардуино схема подключения

Обратите внимание, что даже если вы задали одинаковую скорость вращения в скетче, моторы в реальности могут вращаться с разной скоростью — на это оказывает влияние скорость самого двигателя, качество изготовления редуктора и колес. После подключения двигателей, как на схеме выше, загрузите следующий скетч (скачать библиотеку AFMotor и скетч можно здесь) для тестирования работы шилда:

Скетч для Motor Shield L293D Ардуино и моторов

#include <AFMotor.h>     // подключаем библиотеку для шилда
AF_DCMotor motor1(1); // подключаем мотор к клеммникам M1
AF_DCMotor motor2(2); // подключаем мотор к клеммникам M2

void setup() {
  motor1.setSpeed(255); // задаем максимальную скорость мотора
  motor1.run(RELEASE);   // останавливаем мотор
  motor2.setSpeed(255); // задаем максимальную скорость мотора
  motor2.run(RELEASE);   // останавливаем мотор
}

void loop() {
  motor1.run(FORWARD);  // задаем движение вперед
  motor2.run(FORWARD);  // задаем движение вперед
  motor1.setSpeed(255);   // задаем скорость движения
  motor2.setSpeed(255);   // задаем скорость движения

  delay(2000);          // указываем время движения

  motor1.run(RELEASE);  // останавливаем мотор M1
  motor2.run(RELEASE);  // останавливаем мотор M2

  motor1.run(BACKWARD); // задаем движение назад
  motor2.run(BACKWARD); // задаем движение назад
  motor1.setSpeed(255);   // задаем скорость движения
  motor2.setSpeed(255);   // задаем скорость движения

  delay(2000);          // указываем время движения

  motor1.run(RELEASE);  // останавливаем мотор M1
  motor2.run(RELEASE);  // останавливаем мотор M2
}

Пояснения к коду:

  1. Для каждого мотора следует присваивать свое имя ;
  2. Максимальная скорость вращения  равна 255;
  3. Без команды  мотор продолжит вращаться.

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

Для управления сервоприводами используется стандартная библиотека Servo.h, сами сервоприводы подключаются к цифровым выходам 9 и 10 через штырьки на краю платы. К шилду можно подключить только два сервопривода и два шаговых двигателя. Первый шаговый двигатель подключается к клеммам M1 и M2, а второй к клеммам M3 и M4. Схема подключения двигателей к Motor Shield L293D изображена далее.


Подключение шаговых двигателей к Motor Shield L293D

После подключения Stepper Motor к шилду загрузите в плату следующий скетч:

#include <AFMotor.h>  // подключаем библиотеку для шилда
int i; // вводим переменную

// подключаем шаговый двигатель к порту 1 - M1, M2
// 48 - количество шагов для полного оборота
AF_Stepper stepper(48, 1);

void setup() {
}

void loop() {
  
  // делаем 48 шагов в одном направлении, DOUBLE - тип шага
  for (i = 0; i <= 48; i++) {
    stepper.step(1, FORWARD, DOUBLE);
    delay(30);
  }
  
  // делаем 48 шагов в обратном направлении (BACKWARD)
  for (i = 48; i >= 0; i--) {
    stepper.step(1, BACKWARD, DOUBLE);
    delay(30);
  }
  
}

Ethernet Shield

Официальный шилд от создателей Arduino. Ethernet shield — это отличный вариант, чтобы обеспечить независимость вашего проекта от вашего персонального компьютера, так как он дает возможность наладить связь Arduino с интернет. Интересная особенность данного шилда — наличие на нем слота для MicroSD карты. Так что если в вашем проекте обрабатывается большой объем информации, например — mp3 файлы или видео; или вам надо хранить большие массивы данных для таких проектов как, например, светодиодный куб, хранить данные вы можете именно на SD карте.

Можно обеспечить работу хостинга для веб-сервера с использованием Ethernet шилда.

Перед тем как вы кинулись покупать Ethernet Shield, предупреждаю из личного опыта: Ethernet шилды зависимы от версий. Сначала я купил шилд v3 т оказалось, он не подходить к моему Arduino Uno v2, так как на версии платы v3 добавлено два пина. Кстати, Ethernet Shield стоит дороже чем сам контроллер Arduino, так что пришлось купить новую Arduino, а старую версию оставить для других проектов.

Так что проверяйте версию вашей платы и Ethernet шилда, который вы собираетесь покупать.

Элементы платы

Тройка-контакты

На плате расширения расположены несколько групп Troyka-пинов.

Troyka-контакты «S-V-G»

Пины для подключения модулей и сенсоров с рабочей линией питания:

  • S — сигнальный пин. Контакт соединён с соответствующим цифровым или аналоговым пином.
  • V — питание. Контакт соединён с рабочим напряжением управляющей платформы.
  • G — земля. Контакты соединён с землёй управляющей платформы.

Troyka-контакты «S-V2-G»

Пины для подключения модулей и сенсоров с альтернативной линией питания:

  • S — сигнальный пин. Контакт соединён с соответствующим цифровым или аналоговым пином.
  • V — питание. Контакт соединён с рабочим напряжением управляющей платформы или пином 5 Вольт.
  • G — земля. Контакты соединён с землёй управляющей платформы.

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

Джампер выбора питания

На есть возможность выбора питания путём установкой джампера.

При коммуникации с управляющими платами с 5 вольтовой логикой, например Arduino Uno или Iskra Neo, состояния джаммпера роли не играет: на линии питания будет всегда 5 вольт.

  • При коммуникации с управляющими платами с 3,3 вольтовой логикой, например Arduino M0 Pro или Iskra JS:
    • — на линии будет присутствовать рабочее напряжение платы 3,3 вольта. Режим полезен при подключении аналоговых сенсоров, например потенциометр или датчик освещённости.
    • — на линии будет присутствовать в любом случае 5 вольт. Это удобно при подключении модулей с минимальным рабочим напряжением 5 вольт, например микросервопривод или ультразвуковой дальномер.

Светодиодная индикация

Имя светодиода Назначение
ON Индикатор питания. Горит при подаче питания на управляющую плату, не горит – при отключённом питании.
L Пользовательский светодиод подключенный к 13 пину. Горит при подаче высокого логического уровня на 13 пин, не горит — при подаче низкого уровня.

Монтажная площадка

Площадка с луженными отверстиями для прототипирования выводных компонентов с помощью пайки.
Размеры площадки позволяют установить на Troyka Shield макетную плату Breadboard mini, которую легко закрепить с помощью своей самоклеящейся основы.

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

Кнопка RESET

Кнопка подключена к пину RESET и служит для сброса микроконтроллера на управляющей плате, на которую будет установлен Troyka Shiled.

Troyka Shield пробрасывает сигналы ICSP-разъёма управляющей платформы. Это необходимо, так как некоторые платы расширения используют для коммуникации сигнальные пины разъёма ICSP.

Работа с AT-командами

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

Введение

С внешним миром модуль общается посредством AT-команд. Все команды делятся на базовые, так называемые S-команды, и расширенные, добавленные в стандартах GSM07.05–07.07. Практически все команды работают в 3 режимах — тестовом, чтения и записи.

  • В тестовом режиме возвращается , если команда поддерживается или возможные значения данных в параметре команды. Тестовый режим определяется окончанием команды в виде

  • В режиме чтения возвращаются текущие значения параметра, отличается от тестового наличием в конце просто символа

  • В режиме записи после идут новые значения параметров.

Настройки порта

По умолчанию модуль настроен на 9600 8N1:

  • 9600 – скорость;
  • 8 – бит в посылки;
  • N – нет контроля чётности;
  • 1 – стоп бит.

Для проверки поддерживаются AT-команды:

Команда Ответ Описание
AT+IPR? +IPR: 0
OK
Скорость порта:
0 – автоматически
1200
2400
4800
9600
19200
38400
57600
115200
AT+ICF? +ICF: 3,3
OK
Настройки передачи.
Первый параметр:
Бит в посылке
чётность/стоп бит
1 – 8/0/2
2 – 8/1/1
3 – 8/0/1
4 – 7/0/2
5 – 7/1/1
6 – 7/0/1
Второй параметр – чётность:
0 – нечётный
1 – чётный
3 – нет
AT+IFC? +IFC: 0,0
OK
Контроль передачи данных.
Первый параметр – терминалом от модуля
Второй параметр – модулем от терминала
0 – нет контроля
1 – программный
2 – аппаратный

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

Информация о модуле и состояние

Команда Ответ Описание
AT+GCAP +GCAP: +CGSM
OK
Возможности модуля
AT+GMM SIMCOM_SIM800C
OK
Идентификатор модуля
AT+GMR Revision:1418B08SIM800C32_BT_EAT
OK
Ревизия
AT+GSN 8683450321ХХХХХ
OK
IMEI

В документе с перечнем AT-команд можно найти документацию на все поддерживаемые команды.

Пример скетча для работы с использованием AT-команд

GPRSATСommands.ino
// библиотека для работы с GPRS устройством
#include <GPRS_Shield_Arduino.h>
 
// создаём объект класса GPRS и передаём в него объект Serial1 
GPRS gprs(Serial1);
// можно указать дополнительные параметры — пины PK и ST
// по умолчанию: PK = 2, ST = 3
// GPRS gprs(Serial1, 2, 3);
 
void setup()
{ 
  // открываем последовательный порт для мониторинга действий в программе
  Serial.begin(9600);
  // ждём, пока не откроется монитор последовательного порта
  // для того, чтобы отследить все события в программе
  while (!Serial) {
  }
  Serial.print("Serial init OK\r\n");
  // открываем Serial-соединение с GPRS Shield
  Serial1.begin(9600);
  // включаем GPRS шилд
  gprs.powerOn();
  // проверяем есть ли связь с GPRS устройством
  while (!gprs.init()) {
    // если связи нет, ждём 1 секунду
    // и выводим сообщение об ошибке
    // процесс повторяется в цикле
    // пока не появится ответ от GPRS устройства
    Serial.print("GPRS Init error\r\n");
    delay(3000);
  }
  // выводим сообщение об удачной инициализации GPRS Shield
  Serial.println("GPRS init success");
}
 
void loop()
{
  // считываем данные с компьютера и записываем их в GPRS Shield
  serialPCread();
  // считываем данные с GPRS Shield и выводим их в Serial-порт
  serialGPRSread();
}
 
void serialPCread()
{
  if (Serial.available() > ) {
    // если приходят данные по USB
    while (Serial.available() > ) {
      // записываем их в GPRS Shield
      Serial1.write(Serial.read());
    }
  }
}
 
void serialGPRSread()
{
    if (Serial1.available() > ) {
      // если приходят данные с GPRS Shield
      while (Serial1.available() > ) {
        // передаём их в USB
        Serial.write(Serial1.read());
    }
  }
}

History[edit]

During an interview, Jeb says that «shields for the left arm» might be added.
Java Edition
1.9 15w33c Added shields.
Shields replace the blocking functionality of swords, although blocking more damage.
The current crafting recipe of shields includes wool, producing 16 possible colored shields. There currently isn’t a blank, uncolored shield.
Recipe
Ingredients Crafting recipe
Matching Wool +Any Planks +Iron Ingot
Any of the colored base shields can be crafted with a banner of the same base color, to produce a patterned shield.
15w34c When an attack is blocked by a shield, the attacker now may be knocked back.
Being attacked with an axe now may disable shield use for 5 seconds.
15w37a The crafting recipe of shields has been changed to 6 planks and 1 iron ingot.
Recipe
Ingredients Crafting recipe
Any Planks +Iron Ingot
Crafting a shield now produces a base wooden shield that can be crafted together with any banner.
The cooldown of shields has been reduced from 0.5s to 0.25s.
Blocking with shields now prevents some side effects.[verify]
Arrows now ricochet off shields.
15w44a Shields can now be repaired by combining with other shields. This removes any banner that had been applied.
15w45a Crafting a banner onto a shield now consumes the banner.
15w47b Added shield blocking sounds.
16w07a Added more variation of shield blocking sounds.
pre1 The durability of shields has been increased from 181 to 337.
1.11 16w33a Crafting a shield with a banner no longer changes the durability, nor does it remove enchantments from it.
16w35a Shields now block 100% of damage/knockback/debuffs dealt in melee combat.
1.13 17w47a Prior to The Flattening, this item’s numeral ID was 442.
1.14 18w43a The texture of shields has been changed.
19w11a Shields can now be bought from armorer villagers.
19w12b Shields no longer knockback attackers when they block due to a rework of the blocking mechanic with the introduction of the Ravager
1.14.3 Pre-Release 3 Shields blocking flaming arrows no longer put the player on fire.
Combat Tests 1.14.3 — Combat Test Critical hits now bypass shields.
The warm-up delay has been removed from shields.
When in the off-hand, shields now activate when sneaking.
Combat Test 2 Shields now protect against critical attacks again.
Combat Test 3 A «Shield Indicator» option that displays when the shield is active, similar to the attack indicator, has been added.
An option to hide shields when active has been added.
The arc of available protection of shields has been decreased to 100 degrees instead of 180 degrees.
Combat Test 4 An option to disable shields being activating by pressing crouch has been added.
The option to hide the shield has been removed.
Combat Test 6 Shields now protect up to 5 damage for melee attacks (still 100% against projectiles).
Shields now recover faster after an attack.
Combat Test 7c Shields now add a 50% knockback resistance when active.
Shields are now always instant.
Shields now protect against 100% explosion damage.
Combat Test 8c The knockback calculations for shields have been fixed.[more information needed]
Crouch-shielding while jumping has been disabled.
Shields with banners are now temporarily stronger than normal shields (10 absorption instead of 5, and better knockback resistance) to test different shield types.
Bedrock Edition
1.10.0 beta 1.10.0.3 Added shields.
Shields cannot be customized with banners.
Shields are activated by crouching or mounting mobs.
1.11.0 beta 1.11.0.4 Shields can now be bought from armorer villagers.
PlayStation 4 Edition
1.90 Added shields.
Shields do not have banner application features.

Технические характеристики Ethernet шилда

Ethernet Shield основан на чипе W51000, который имеет внутренний буфер на 16К. Скорость подключения достигает 10/100Мб. Это не самое быстрое соединение, но этого вполне достаточно, поверьте.

Шилд работает с использованием библиотеки Arduino Ethernet library, которая по умолчанию интегрирована в оболочку Arduino IDE.

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

Кроме того, можно запитывать Arduino с помощью Ethernet соединения. Для этого надо использовать Power over Ethernet (PoE) модуль, место для установки есть на Ethernet шилде.

Сводный список технических характеристик Ethernet шилда:

  • Для работы необходима плата Arduino
  • Рабочее питание – 5 В (питается от платы Arduino)
  • Ethernet контроллер: W5100 с буфером 16Kб
  • Скорость подключения: 10/100Мб
  • Подключается к Arduino через SPI порт

4. Детальное описание

4.1. Встроенный микроконтроллер ATmega48PA

Multiservo Shield является интеллектуальным устройством — на плате размещён микроконтроллер, который принимает команды по интерфейсу I²C от Arduino Uno и исполняет их.

4.2. Избавление от дрожания сервоприводов

Встроенный микроконтроллер использует прерывания для работы с сервами. Команды он принимает только в фоновом режиме, т.ч. если в процессе принятия команды пришло время выдать импульс для сервоприводов, то передача команды обрывается. Поэтому сервоприводы, подключённые к Multiservo, не дрожат в состоянии покоя как это происходит в случае подключения их к Arduino. Дрожь вызвана флуктуациями длительности импульсов, выдаваемых Arduino; флуктуация возникает из-за наличия сторонних прерываний, которые конкурируют с прерываниями, по которым управляются сервоприводы. В Multiservo Shield в ATmega28PA не используются никакие прерывания, кроме тех, что нужны сервоприводам, поэтому этот модуль лишён флуктуаций сигнала.

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

Multiservo serv;
serv.setSendAttempts(4);// Пытаться посылать команду 4 раза

4.3. Библиотека Multiservo

Для того, чтобы работа с Multiservo Shield как можно меньше отличалась от работы с сервами напрямую, поставляется библиотека Multiservo. Интерфейс класса Multiservo ничем не отличается от интерфейса стандартного класса Servo. При этом номера выводов, которые передаются в функцию attach, являются номерами выводов на плате Multiservo Shield, а не Arduino.

4.4. Дополнительные 6 выводов для серв, трёхпроводных датчиков и модулей

На плате есть 6 разъемов для подключения по трёхпроводному интерфейсу, управляющие линии для которых выведены напрямую от Arduino. Эти разъемы обозначены как «Dn». Каждому управляющему выводу на разъёме «Dn» соответствует вывод «n» на плате Arduino (например, «D3» → «3»).

Программирование Arduino Shield

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

Чтение или запись сигналов шилдов производится тоже обычным методом: с помощью функций analogRead (), digitalRead (), digitalWrite () и других, привычных любому ардуинщику команд. В некоторых случаях возможны коллизии, когда вы привыкли к оной схеме соединения, а производитель выбрал другую (например, вы подтягивали кнопку к земле, а на шилде – к питанию). Тут нужно быть просто внимательным.

4 Relay Shield

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

4 Relay Shield (шилд на 4 реле) предоставляет вам все необходимые контакты для подключения 4-х периферийных устройств. Каждое реле дает возможность подключать оборудование которое работает с силой тока до 3 ампер. Конечно, можно использовать реле шилд и для маломощных электрических цепей. В таком формате их часто используют для замены переключателей.

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

Arduino: высокотехнологичный конструктор

«Ардуино» представляет собой плату на микроконтроллерах с множеством контактов и собственным процессором. Плата является основой, к которой можно подключать довольно большое количество так называемых шилдов (от англ. shield — щит), расширяющих функциональность платы. Используется она в системах автоматизации процессов, но может также запросто применяться и в робототехнике. Областей деятельности платы «Ардуино» очень много. Но популярность она получила среди радиолюбителей именно как недорогой, но простой и очень многофункциональный конструктор.

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

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

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

Отличие от других плат

Сегодня на рынке можно встретить множество вариантов плат ардуино. Самыми популярными конкурентами Уно являются платы Nano и Mega. Первая пойдет для проектов, в которых важен размер.  Вторая – для проектов, где у схема довольно сложна и требуется множество выходов.

Отличия Arduino Uno от Arduino Nano

Современные платы Arduino Uno и Arduino Nano версии R3 имеют, как правило, на борту общий микроконтроллер: ATmega328. Ключевым отличием является размер платы и тип контактных площадок. Габариты Arduino Uno: 6,8 см x 5,3 см. Габариты Arduino Nano: 4,2 см x 1,85 см. В Arduino UNO используются коннекторы типа «мама», в Nano – «гребень» из ножек, причем у некоторых моделей контактные площадки вообще не припаяны.  Естественно, больший размер UNO по сравнению с Nano в некоторых случаях является преимуществом, а в некоторых – недостатком. С платой большого размера гораздо удобнее производить монтаж, но она неудобна в реальных проектах, т.к. сильно увеличивает габариты конечного устройства.

На платах Arduino Uno традиционно используется разъем TYPE-B (широко применяется также для подключения принтеров и МФУ). В некоторых случаях можно встретить вариант с разъемом Micro USB. В платах Arduino Nano стандартом является Mini или Micro USB.

Естественно, различия есть и в разъеме питания. В плате Uno есть встроенный разъем DC, в Nano ему просто не нашлось места.

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

Отличия от Arduino Mega

Плата Mega в полном соответствии со своим названием является на сегодняшний день самым большим по размеру и количеству пинов контроллеров Arduino. По сравнению с ней в Uno гораздо меньше пинов и памяти. Вот список основных отличий:

  • Плата Mega использует иной микроконтроллер: ATMega 2560. Но тактовая частота его равна 16МГц, так же как и в Уно.
  • В плате Mega большее количество цифровых пинов – 54 вместо 14 у платы Uno. И аналоговых – 16 / 6.
  • У платы Mega больше контактов, поддерживающих аппаратные прерывания: 6 против 2. Больше Serial портов – 4 против 1.
  • По объему памяти Uno тоже существенно уступает Megа. Flash -память 32/256, SRAM –  2/8, EEPROM – 4/1.

Исходя из всего этого можно сделать вывод, что для больших сложных проектов с программами большого размера и активным использованием различных коммуникационных портов лучше выбирать Mega. Но эти платы дороже Uno и занимают больше места, поэтому для небольших проектов, не использующих все дополнительные возможности Mega, вполне сойдет Uno – существенного прироста скорости при переходе на “старшего” брата вы не получите.

Trivia

  • The Shield from A Link to the Past is the first shield to feature a bird design.
  • There is a recurring pattern in the designs of shields in Skyward Sword. Basic shields have a bird’s foot in their design. Improved shields have stylized bird silhouettes with spread wings. Final-stage shields have swirling wind patterns.
  • Ocarina of Time, Twilight Princess, and Skyward Sword are the only games in which more than one shield can be kept in the inventory and in which it is possible to use a shield other than the «best» one Link currently possesses. Of these, Ocarina of Time is the only game to feature the Mirror Shield, making it the only game in the series where the Mirror Shield can be carried unequipped.
  • Originally, in games where the Hylian Shield is the highest-level shield (Twilight Princess and Skyward Sword), Like Likes did not appear, while they (or Pikits, in the case of A Link to the Past) appeared in all other games that feature the Hylian Shield. As Like Likes are able to eat Hylian Shields in games where they appear, their absence in these titles may be related to there being no superior, inedible shield present. However, A Link Between Worlds provides an exception: Both the Hylian Shield and Like Likes are present, and Like Likes are unable to eat it.

Как работает Ethernet

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

Сегодня Ethernet – ключевая и наиболее распространенная наряду с WiFi технология организации локальных сетей. В стандартной модели OSI она находится на канальном и физическом уровне, определяя подуровни управления доступом к среде и управления логическим каналом. Создателем Ethernet стала компания Xerox, ее инженер Роберт Метклаф создал технологию как инструмент подключения многих компьютеров к общим ресурсам в локальной сети. Официальным стандартом технология стала в 1982 году после появления спецификации IEEE802.3.

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

  • Ethernet. Скорость до 10Mb/s. Любые типы проводов (коаксиал, витая пара, оптоволокно).
  • Fast Ethernet. Скорость до 100Mb/s. Только витая пара или оптика.
  • Gigabit Ethernet. Скорость до 1Gb/s. . Только витая пара и оптика.
  • 10G Ethernet. Скорость до 10Gb/s. Естественно, тоже без коаксиала.

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


Возможная схема Ethernet-сети

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

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

  • Кабель. Как правило, это витая пара, реже – оптоволокно (ее подключить к арудино простым способом не получится).
  • Разъемом для подключения кабеля – RJ-45. На самом деле, стандарт для штекеров носит совсем другое название (8P8C), но “в народе” принято называть стандартный Ethernet разъем именно как RJ45. Следует отметить, что есть и другие стандарты – RJ-25, RJ-14 и т.п. Для подключения к ардуино через стандартные модули они не подойдут.
  • Сетевой Ethernet MAC-адрес. Это уникальный шестибайтовый идентификатор устройства в сети, который обычно прошивается в само устройство, но в некоторых случаях может быть изменен программно. Всего может быть задано 2 в 48 степени адресов, это триллионы разных вариантов (точнее, 281 474 976 710 656), так что пока их с головой хватает для создания действительно уникальных идентификаторов.

В подавляющем большинстве задач проект с Ардуино будет подключен к уже существующей Ethernet сети через стандартное оборудование. Т.е. вы просто берете модуль Ethernet, подключаете его к Ардуино, а затем вставляете сетевой кабель в этот самый модуль.  Все, что вам понадобится – правильно настроить в своем скетче ваш MAC адрес (его можно менять!) и прописать IP адрес устройств, к которым вы будете подключаться. Мы рассмотрим пример в разделе, посвященным программированию.

Характеристики

  • Поддержка частот GSM 850/900/1800/1900 МГц
  • Класс передачи данных GPRS multi-slot class 12
  • Соответствие стандарту GSM фазы 2/2+
  • Bluetooth стандарта 3.0 + EDR
  • Встроенный стек TCP/IP, UDP/IP
  • Поддержка протоколов HTTP и FTP

  • Полное управление при помощи АТ-команд:
    • Стандартный набор – GSM 07.07 & 07.05
    • Расширенный набор – SIMCOM AT
  • Возможность подключения аудио гарнитуры и микрофона
  • Интерфейс UART 1200–115200 (9600 по умолчанию) бит/с
  • Разъём для сим-карты
  • Энергопотребление:в зависимости от текущего режима работы и может колебаться от 20-30мА до 500мА. Также возможны кратковременные скачки до 2-3А, особенно в процессе поиска сети или при приеме/передачи данных. В спящем режиме: 1.5 мА.
  • Выполнен в форм-факторе Arduino
  • Напряжение питания Vin: 7—12 В
  • Температурный диапазон: -40 °C…+85 °C

Управление моторами

Если необходимо управлять моторами, смело используй шилд Motorshield, созданный талантливым американским инженером Лимором Фридом aka ladyada (ladyada.net/make/mshield/).

Главное преимущество шилда заключается в его универсальности, поскольку он поддерживает до четырех моторов прямого тока, до двух шаговых двигателей и двух серво-приводов. Можно комбинировать: например, один шаговый и два двигателя постоянного тока. Основу шилда обеспечивают две микросхемы счетверенного H-моста L293D, способные выдавать ток до 600 мА на канал и работать напряжениями от 4,5 до 36 В. Запараллелив входы одной микросхемы, можно отодвинуть ограничение по току до 1,2 А.

С помощью этого шилда можно, например, управлять одновременно моторами и рулевой тягой модели гоночного автомобиля, шаговыми двигателями координатного стола. Для более мощных нагрузок можно использовать Ardumoto с чипом L298 от фирмы Sparkfun (два канала с токами нагрузки до 2 А) или ее более продвинутую версию Monster Moto Shield (sparkfun.com/products/10182) на двух чипах VNH2SP30, способную отдавать уже до 30 А с предельным напряжением 41 В. Если дело дойдет до последнего варианта, не забудь посоветоваться со знающими спецами: все-таки нагрузки довольно приличные, возможно придется обзавестись дополнительным радиатором, чтобы не обжечься.

Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации