Схема подключения PIR датчика движения к микроконтроллеру Arduino и настройка работы системы

Датчики для самолетов, вертолетов, коптеров, роботов, машинок GY-273 — 3х-осевой компас-магнитометр цифровой [HMC5883L]

image

GY-87 — модуль состоит из следующего набора датчиков: 3х-осевой гироскоп и 3х-осевой датчик ускорения (акселерометр) [MPU6050] + 3х-осевой датчик магнитного поля и 3х-осевой компас [HMC5883L] + датчик давления воздуха (барометр) [bmp180]

image

GY-521 — Этот модуль объединяет: 3х-координатный гироскоп + 3х-координатный акселерометр и 9ти-координатные алгоритмы Motion Fusion. [MPU-6050]

GY-511 — 3х-осевой акселерометр и магнитометр [LSM303DLHC]

GY-45 —

GY-291 —

GY-32 —

GY-61 —

GY-65 —

GY-271 —

GY-651 —

GY-52 —

GY-27 —

GY-51 —

GY-80 —

GY-83 —

GY-85 —

GY-951 —

GY-86 — модуль состоит из следующего набора датчиков: 3х-осевой гироскоп и 3х-осевой датчик ускорения (акселерометр) [MPU6050] + 3х-осевой датчик магнитного поля и 3х-осевой компас [HMC5883L] + датчик давления воздуха (барометр) [MS5611]

GY-302 —

GY-81 —

GY-87 —

MPU-3000 — 3х — осевой гироскоп [MPU-3050]

GY-NEO6mv2 — GPS приёмник GY-NEO6MV2 с активной антенной (uBlox Neo 6M)

GY-63 — Высокоточный датчик атмосферного давления (барометр)[MS5611]

Оригинальную принципиальную схему этого модуля, пока не удалось найти. Есть просто схема включения.

MMA7455L — это 3-осевой датчик ускорения (акселерометр) с цифровым выходом.

Климатические датчики DHT-11 — Датчик температуры и влажности DHT-22 — Датчик температуры и влажности BMP180 — Барометр (I2C) MS5611 — Барометр SHT21 — Датчик температуры и влажности (I2C) DS18B20 — Датчик температуры и влажности (1-Wire, I2C) HTU21D — Датчик температуры и влажности (I2C) BME280 — Универсальный датчик температуры, влажности, давления (I2C,SPI)

Датчики CO2 и загазованности MG811 — датчик CO2 Датчик двуокиси углерода MQ-7 — Датчик газа и дыма MQ135 — Датчик газа MH-Z19 — инфракрасный датчик co2 MH-Z14 — инфракрасный датчик co2 B530 — инфракрасный датчик co2 T6603-5 — инфракрасный датчик co2 MH-711A — инфракрасный датчик co2 LGAQS-HT01 — универсальный датчик обнаруживает: формальдегид, co2, влажность, температура, voc

Ультразвуковые датчики HC-SR04 HY-SRF05 SRF-06 US-020 US-100 LV-MaxSonar-EZ1

Световые датчики KY-008 Laser Sensor Module

Беспроводные датчики HC-06 — Bluetooth модуль

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

DS1307 — модуль реального времени (I2C)

DS3231 — модуль реального времени (I2C)

Цветовые датчики TCS3200 — Датчик определения цвета

Датчики дыма DYP-ME0010-A — Фотоэлектрический детектора дыма

Датчики микроволн HB100 — микроволновый датчик (датчик движения)

Датчики пыли GP2Y1010AU0F — Датчик пыли

LCD ILI9341 — драйвер TFT дисплея

Сенсорные датчики ttp223 — Сенсорный выключатель

Датчики жидкостей XKC‐Y25‐T12V — Бесконтактный датчик воды (Предположительно что это емкостной датчик. Возможно на основе тач-сенсора ttp223) Pin Description

Датчики пульса, ритма сердца, кислорода в крови GY-MAX30100 — сердечный ритм и уровень кислорода в крови. (I2C)

Платформа Arduino является одной из лучших для конструирования различных автоматизированных систем. Более того, во многих университетах и колледжах используют «Ардуино» для внедрения студентов в область робототехники. Действительно, «Ардуино» является очень легкой, но в то же время и мощной платформой для конструирования различных роботов и умных систем. И естественно, чтобы это все занимало меньше времени, продаются уже готовые датчики. В магазинах их огромное количество, поэтому довольно-таки сложно запутаться в выборе правильного. В этой статье рассмотрим некоторые основные датчики «Ардуино», и как они работают.

Где купить

Дело в том, что датчики в наших магазинах стоят немалых денег. И если вы собираетесь начать изучение платформы «Ардуино», то вам просто необходимо знать, где же можно купить их по низкой цене. Ответ прост – китайские магазины. Это может быть Aliexpress, Joom, Pandao и прочие. Практически все магазины покупают датчики именно там и продают их с огромной наценкой, которая достигает до 300 %. Конечно, придется ждать некоторое время, да и в качестве товара вы не можете быть уверены, но платить за тот же датчик в три раза больше тоже не стоит. Пример: на Aliexpress есть набор из 36 датчиков, который стоит 800 рублей. Такой же набор в российском магазине продают за 3,5 тыс. рублей. Поэтому решать вам.

Сервопривод

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

Для подключения сервопривода используется всего три провода: земля, питание, логика. Сигнальный провод (обычно желтый или коричневый) подключаем к любому контакту с поддержкой ШИМ (широко-импульсная модуляция) на Arduino.

Пример кода:

#include  // подключаем библиотеку для работы с сервоприводом  Servo servo1; // объявляем переменную servo типа "servo1"   void setup() // процедура setup   {   servo1.attach(11); // привязываем сервопривод к аналоговому выходу 11   }   void loop() // процедура loop   {   servo1.write(0); // ставим угол поворота под 0  delay(2000); // ждем 2 секунды   servo1.write(90); // ставим угол поворота под 90   delay(2000); // ждем 2 секунды  servo1.write(180); // ставим угол поворота под 180  delay(2000); // ждем 2 секунды   }

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

Цена на Aliexpress: 80–100 рублей.

DHT-11

DHT-11 служит для измерения температуры и влажности. Этот датчик температуры для «Ардуино» является самым популярным из-за его цены и возможностей. Измеряет температуру в диапазоне от 0 до 50 градусов, а влажность от 20 до 80 %. Также в продаже имеется другая версия этого датчика, DHT-22, диапазон измерений у него больше, но и стоит он в несколько раз дороже. Для простых проектов его использование не целесообразно, поэтому все отдают предпочтение DHT-11, который отлично справляется с измерениями. Питание можно подавать от 3.3 до 5V. Вообще, сам датчик имеет 4 контакта подключения, но в продаже имеются модули DHT-11, с ними работать намного удобнее, так как подключение через 3 контакта и не нужно мучиться с резисторами.

Подключение. Подключается этот датчик температуры к «Ардуино» с помощью трех контактов: земля, питание и логика.

Пример кода:

#include "DHT.h"  #define DHTPIN 2 // Тот самый номер пина, о котором упоминалось выше  DHT dht(DHTPIN, DHT11);  void setup() {    Serial.begin(9600);    dht.begin();  }  void loop() {    delay(2000); // 2 секунды задержки    float h = dht.readHumidity(); //Измеряем влажность    float t = dht.readTemperature(); //Измеряем температуру    if (isnan(h) || isnan(t)) {  // Проверка. Если не удается считать показания, выводится «Ошибка считывания», и программа завершает работу      Serial.println("Ошибка считывания");      return;    }    Serial.print("Влажность: ");    Serial.print(h);    Serial.print(" %t");    Serial.print("Температура: ");    Serial.print(t);    Serial.println(" *C "); //Вывод показателей на экран  }

В самом начале, как и при работе с сервоприводом, подключается библиотека. Кстати, насчет библиотеки. Изначально в пакете Arduino ее нет, эту библиотеку нужно скачивать. Есть несколько версий этой библиотеки, в нашем примере используется самая стандартная. Будьте внимательнее при скачивании, так как синтаксис может отличаться, и код не будет работать. Далее так же пишется, к какому контакту подключен датчик и его версию (DHT11 или DHT22). Как и при работе с сервоприводом, работать с этим датчиком для «Ардуино» очень легко, используется всего несколько операторов. Кстати, зачастую сервопривод и dht11 работают вместе, например, при создании автоматических окон, которые будут открываться, если в комнате или теплице слишком жарко.

Цена на Aliexpress: 80–100 рублей.

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

Этот датчик используется при конструировании автоматического полива. С его помощью можно измерить влажность почвы, после чего обработать эти данные и при необходимости полить растение. В продаже имеются множество вариантов этого датчика для «Ардуино», но популярность имеет модель FC-28. Довольно бюджетный вариант, поэтому его все любят и используют в своих проектах. Датчик имеет два зонда, которые проводят электричество через землю. При сухой почве сопротивление больше, а при влажной – меньше. В основном этот датчик применяется лишь в маленьких проектах, связано это с тем, что зонды сделаны из плохого материала и рано или поздно при активной работе они покрываются коррозией, после чего датчик перестает работать. Длительность службы датчика можно увеличить, если активировать его только при снятии данных с почвы, например, раз в 6 часов. Некоторые умельцы и вовсе меняют зонды на более качественные, сделанные своими руками, а то и вовсе с нуля собирают датчик влажности для «Ардуино».

Подключается датчик влажности почвы достаточно просто. Обычно в комплекте с ним идет потенциометр и компаратор для управления чувствительностью датчика. Всего имеет он три контакта: логика, питание и земля. Подключаться может как к цифровым, так и к аналоговым контактам. Кстати, работать в аналоговом режиме удобнее.

Пример кода:

int sensor_pin = A0;   int output_value ;    void setup() {    Serial.begin(9600);    Serial.println("Читаем данные с датчика");    delay(2000);    }    void loop() {    output_value= analogRead(sensor_pin);    output_value = map(output_value,550,0,0,100);    Serial.print("Влажность : ");    Serial.print(output_value);    Serial.println("%");    delay(1000);    }

Первым делом определяем контакты, к которым подключен датчик к «Ардуино». После чего читаем данные с него и выводим их. Так же, как и с другими датчиками, работать с FC-28 достаточно легко. И все благодаря готовым библиотекам и датчикам.

Цена на Aliexpress: 30–50 рублей.

ПИР датчик

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

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

Пример кода:

#define PIN_PIR 2  #define PIN_LED 13    void setup() {    Serial.begin(9600);      pinMode(PIN_PIR, INPUT);    pinMode(PIN_LED, OUTPUT);    }    void loop() {    int pirVal = digitalRead(PIN_PIR);    Serial.println(digitalRead(PIN_PIR));      //Если обнаружили движение    if (pirVal)    {      digitalWrite(PIN_LED, HIGH);      Serial.println("Motion detected");      delay(2000);    }    else    {      //Serial.print("No motion");      digitalWrite(PIN_LED, LOW);    }  }

Определяем контакты, к которым подключен датчик, после чего выполняем проверку наличия движения. Работать с ним очень удобно и легко, но бывают случаи ложного срабатывания.

Цена на Aliexpress: 30–50 рублей.

Делаем выводы

Выше были рассмотрены основные датчики для «Ардуино», которые самыми первыми изучаются начинающими радиолюбителями. Как можно заметить, стоят они достаточно недорого, подключаются легко, а считывание данных и вовсе занимает всего пару строк. Кроме них, еще существует огромное количество других датчиков, даже есть для измерения пульса! Выгоднее всего приобретать их на Aliexpress комплектами, так они обойдутся еще дешевле. Творить легко, главное – помнить три основных правила робототехники!

Cписок сравнения: Каталог Статьи →

Фільтруємо сигнал акселерометру

Величезною технічною проблемою є те, що сигнал, який надходить з будь-якого датчика, є завжди випадковою величиною, яка коливається навколо реального →

Метеостанція XINO ESP8266 IOT

Відмінний контструктор для тих, хто прокинувшись вранці, хоче знати погоду не виглядаючи у вікно. Набір так само сподобається тим, хто хоче вивчити мікроконтролер ESP8266 і його взаємодію з іншими микроконтроллерами в невеликій домашній мережі. Дана →

Реализация маршрутизатора на одноплатном компьютере Orange Pi R1 – Дополнение: настройка DNS адресов

В статье «Реализация маршрутизатора на одноплатном компьютере Orange Pi R1» в качестве операционной системы, была использована Armbian 21.02.3 (Debian-Buster) с ядром Linux 5.10.21-sunxi. Описанная конфигурация в вышеупомянутой статье, основывается на →

Модуль драйвера двигунів на L293D

Сьогодні в центрі уваги опинився простий і водночас загадковий пристрій «Модуль драйвера двигунів на L293D». Коментарі покупців на сторінці продукту та інших Інтернет-ресурсах свідчать, що з драйвером часто виникають проблеми. То двигуни не крутяться, то →

Цифровий сервопривід із аналогового, або як керувати його параметрами

Інколи, при реалізації складного проєкту в якому дуже важлива надійність кожної деталі, виникає питання про якість комплектуючих. Дорогі комплектуючі практично завжди мало чим поступаються дешевим, але інколи існує можливість модифікувати дешевий виріб →

Головна  »  Датчики показати тільки товари “в наявності” Сортувати: Звук, ультразвукОсвітлення, ІЧ, вогонь, ультрафіолетРух, відстаньТемпература, вологістьАкселерометри, гіроскопиНапруга, струмГаз, дим, пил, повітряТискДля рідиниPh, хімічний аналізМеханічний впливІндуктивні датчикиМагнітне полеМедицинаІнше 123456 … 16наст >>
  • Датчик лінії Pololu QTR-1A аналоговий (2 штуки)
    код: USA226 |   голосів: 2 |

    Аналоговый датчик линии Pololu QTR-1A используется для определения границ в диапазоне от 3 до 6 мм. Датчик линии выполнен в виде миниатюрного модуля размером 0,5''х 0,3'' с одной парой ИК-светодиод/фототранзистор, который может быть установлен практически в любом месте и отлично подходит для обнаружения края и следования по линии. Результат измерения выдается в виде аналогового напряжения.

    Додати до порівняння | Додати в “Список бажань” | Докладніше →

    116 грн статус товара: в наявності
  • Лавинный кремниевый фотодиод C30954EH
    код: REL103 |   голосів: 1

    Лавинный кремниевый фотодиод C30954EH – полупроводниковый электронный прибор, выполненный с использованием двухдиффузионной структуры с эффектом прокола базы. Эта структура определяет высокую чувствительность в спектральном диапазоне > 900 нм, а также быстрое время спада и нарастания на всех длинах волн. Этот диод обладает квантовой эффективностью до 40% при 1060 нм. В то же время диод сохраняет характеристики с низким уровнем шума, низкой емкостью и быстрым временем нарастания и спада. C30954EH поставляется в герметичном TO-5 корпусе.

    Додати до порівняння | Додати в “Список бажань” | Докладніше →

    7 620 грн статус товара: в наявності
  • Модуль 8-ми датчиків лінії Pololu QTR-8A аналоговий
    код: USA227 |   голосів: 1 |

    Датчик Pololu QTR-8A состоит из 8 пар “инфракрасный светодиод/фототранзистор”, расположенных с шагом 9,5 мм. Эта особенность делает модуль отличным детектором, например, у колесного робота, для следования по линии. Пары светодиодов подключены последовательно для двукратного снижения тока потребления, так же светодиоды могут быть отключены для добавления чувствительности или для функции энергосбережения. Каждый сенсор имеет отдельный аналоговый выход.

    Додати до порівняння | Додати в “Список бажань” | Докладніше →

    285 грн статус товара: товар закінчується
  • Модуль датчика удару 801S
    код: DAT295 |   голосів: 1

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

    Додати до порівняння | Додати в “Список бажань” | Докладніше →

    73 грн статус товара: в наявності
  • Модуль лазерного датчика відстані 10-180см TOF10120 UART/I2C
    код: DAT307 |   голосів: 3

    Модуль лазерного датчика расстояния TOF10120 обеспечивает точное и повторяемое измерение. В модуле реализована высокоскоростная автоматическая фокусировка, а в режиме сканирования – непрерывный автофокус для мгновенного обнаружения препятствий. Инновационная технология Time-Of-Flight обеспечивает точный результат измерения дальности, повышенную устойчивость к окружающему освещению и оптическим перекрестным помехам на защитном стекле, благодаря специальной конструкции оптики. Датчик изготовлен без применения свинца и соответствует стандарту RoHS.

    Додати до порівняння | Додати в “Список бажань” | Докладніше →

    289 грн статус товара: в наявності
  • Детектор іонізуючого випромінювання для Ардуіно “Лічильник Гейгера”
    код: KIT108 |   Відгуків: 9

    Лічильник Гейгера служить незамінним помічником для захисту себе і оточуючих від шкідливого радіаційного випромінювання. Для оперативного виявлення джерел радіації зовсім не обов'язково мати при собі дороге устаткування. Досить придбати недорогий набір для створення лічильника Гейгера під управлінням контролера Ардуіно. Даний лічильник, мабуть, найпопулярніший і доступний прилад, служить для точного і швидкого розрахунок рівня радіації в побуті і на роботі.

    Додати до порівняння | Додати в “Список бажань” | Докладніше →

    1 182 грн статус товара: товар закінчується
  • Конвертер RTD на MAX31865 для терморезисторів PT100 і PT1000
    код: DAT299 |   Відгуків: 7

    Модуль MAX31865 – перетворювач RTD (Resistance-to-Digital). Призначений для платинових датчиків PT100 і PT1000 від фірми Maxim Integrated. На платі модуля стабілізатор напруги живлення і вся необхідна обв'язка для правильної роботи перетворювача.

    Додати до порівняння | Додати в “Список бажань” | Докладніше →

    144 грн статус товара: в наявності
  • Модуль датчика температури та вологості SHT20 I2C
    код: DAT327 |   голосів: 2

    Модуль цифрового датчика температури та вологості SHT20 відкриває новий рівень в технології вимірювань. Датчик SHT-20 відрізняється великою довговічністю і стабільністю результатів вимірювань, при відмінному співвідношенні ціни і якості. У функціонал датчика входить схема обробки і посилення сигналу, блок пам'яті калібрування, АЦП, енергозберігаюча схема живлення. Даний модуль може використовуватися з різними микроконтроллерами на базі Arduino або Raspberry Pi.

    Додати до порівняння | Додати в “Список бажань” | Докладніше →

    106 грн статус товара: в наявності
  • Датчик витрат води G1/4″
    код: DAT149 |   Відгуків: 11

    Датчик аналогічний датчику потоку рідини діаметр 1/2 дюйма, але з діаметром різьби 1/4 дюйма.

    Додати до порівняння | Додати в “Список бажань” | Докладніше →

    138 грн статус товара: в наявності
  • Датчик витрат води M11x1.25 від Elecrow
    код: DAT322 |   Відгуків: 3 |

    Датчик потоку води складається з пластикового клапана з двома штуцерами з різьбою M11x1.25.

    Додати до порівняння | Додати в “Список бажань” | Докладніше →

    138 грн статус товара: в наявності
  • Датчик витрат води, діаметр 1/2 дюйма від Elecrow
    код: DAT144 |   Відгуків: 12 |

    Датчик потоку води складається з пластикового клапана з двома штуцерами з різьбою 1/2 дюйма, водного ротора і датчика Холла. Коли вода проходить крізь датчик, ротор обертається зі швидкістю пропорційною швидкості потоку води. Датчик Холла фіксує кожен оберт і передає отриманий сигнал.

    Додати до порівняння | Додати в “Список бажань” | Докладніше →

    159 грн статус товара: в наявності
  • Датчик витрат води, діаметр 3/4 дюйма від Elecrow
    код: DAT145 |   Відгуків: 8 |

    Датчик аналогічний Датчику потоку рідини, діаметр 1/2 дюйма, але з діаметром різьби 3/4 дюйма.

    Додати до порівняння | Додати в “Список бажань” | Докладніше →

    195 грн статус товара: в наявності
  • Датчик рівня рідини
    код: DAT141 |   Відгуків: 12

    Датчик вимірювання рівня рідини.

    Додати до порівняння | Додати в “Список бажань” | Докладніше →

    16 грн статус товара: в наявності
  • 3-осьовий акселерометр GY-291 ADXL345
    код: DAT251 |   Відгуків: 2

    Акселерометр ADXL345 – це крихітний мікропотужний трьохосьовий акселерометр з високою роздільною здатністю (13 біт). Діапазоном вимірювання положення коливається до ± 16 g. Результат вимірювання дається у вигляді 16-розрядних чисел в додатковому коді і через цифрові інтерфейси SPI/I2C.

    Додати до порівняння | Додати в “Список бажань” | Докладніше →

    73 грн статус товара: в наявності
  • 3х-осьовий акселерометр ADXL345
    код: DAT117 |   Відгуків: 6

    3-х осьовий цифровий акселерометр на основі чіпа ADXL345 є датчиком, що вимірює проекції прискорення на три просторові осі (x, y, z). Знаючи ці вимірювання і з огляду на величину вільного падіння, можна визначити орієнтацію самого акселерометра в просторі. Цифрові результати вимірювання представляються у вигляді 16-розрядних чисел в додатковому коді і доступні через цифрові інтерфейси SPI (трьох- або чотирьохпровідні) або I2C.

    Додати до порівняння | Додати в “Список бажань” | Докладніше →

    52 грн статус товара: в наявності
  • 3х-осьовий акселерометр MMA8452Q від Sparkfun
    код: ADA101 |   голосів: 6 |

    Плата з розміщеніим на ній чіпом MMA8452Q представляє собою розумний трьохосьовий ємнісний MEMS акселерометр з низьким споживанням і 12-бітовим дозволом. У чіпа є вбудована функція користувальницької конфігурації двох виводів переривань, завдяки чому можна істотно заощадити на споживанні.

    Додати до порівняння | Додати в “Список бажань” | Докладніше →

    266 грн статус товара: товар закінчується
  • GY-801 модуль комбінованих 10-DOF датчиків L3G4200D ADXL345 HMC5883L BMP180
    код: DAT228 |   Відгуків: 2

    GY-801 10DOF гіроскоп + акселерометр + магнітометр + барометр/термометр – це нова версія аналогічного датчика GY-80. В даному модулі об'єднані чотири датчики – трьохосьовий гіроскоп ST Microelectronics L3G4200D, трьохосьовий акселерометр Analog Devices ADXL345, трьохосьовий магнітометр Honeywell HMC5883L і барометр/термометр Bosch BMP180.

    Додати до порівняння | Додати в “Список бажань” | Докладніше →

    449 грн статус товара: в наявності
  • Акселерометр і гіроскоп MPU-6050 модуль 6DOF
    код: DAT135 |   Відгуків: 41

    MPU-6050 GY-521 – компактний та легкий модуль 3-х осьового акселерометра і 3-х осьового гіроскопа, керований по протоколу I2C (TWI). Даний датчик відмінно підходить для визначення положення в просторі.

    Додати до порівняння | Додати в “Список бажань” | Докладніше →

    40 грн статус товара: в наявності

123456 … 16наст >>

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

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

Для этого вам понадобится:

  • Акселерометр ADXL335;
  • Плата Arduino Uno;
  • Дисплей для отображения направления наклона (в данном случае мы используем светодиодный вариант).

Практическая реализация датчика наклона на базе Arduino приведена на рисунке ниже:

Рисунок 1: общий вид датчика

В данном примере рассматривается установка акселерометра ADXL335 выпускаемого компанией Analog Devices который подключается к соответствующим выводам на микроконтроллере Arduino Uno, а от микроконтроллера сигналы переводятся на дисплей. Для сборки такой схемы удобно использовать заводскую макетную плату, хотя датчик наклона отлично сможет функционировать и на любой другой ровной поверхности, которую вы будете использовать в роли базы. Главная задача реализовать основной принцип датчика, который приведен на блок-схеме ниже.

Рис. 2: блок-схема датчика

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

Для реализации датчика наклона Arduino Uno выбран неспроста, он собран на базе микросхемы ATmega328 и включает в себя 14 цифровых выходов, 6 аналоговых, USB разъем для подключения к устройствам программирования, ICSP разъем, вход питания, и оснащается функцией сброса или обнуления данных. Также в данной плате установлен кварцевый генератор на 16МГц, предназначенный для поддержания стабильной работы всего микроконтроллера.

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

Как собрать датчик наклона?

Рис. 3: электрическая схема датчика наклона

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

  • Вывод ST подключается к пину платы Arduino A0;
  • Вывод перемещений по оси Z подключается к пину платы Arduino A1;
  • Вывод перемещений по оси Y подключается к пину платы Arduino A2;
  • Вывод перемещений по оси X подключается к пину платы Arduino A3;
  • Вывод GND подключается к пину платы Arduino A4;
  • Вывод VCC подключается к пину платы Arduino A5.

Затем от микроконтроллера Ардуино производится подключение к дисплею, в данной ситуации состоящего из группы светодиодов. Для подключения от платы берутся выходы с 8 по 12  и пин питания на 5В, которые распределяются по логике схемы следующим образом:

  • Пин 5В является общей точкой подключения;
  • Восьмой подключается к светодиоду, сигнализирующему о наклоне в правую сторону;
  • Девятый подключается к светодиоду, сигнализирующему о стабильном положении датчика по центру (его, для отличия, мы делаем красного цвета, но это не принципиально);
  • Десятый подключается к светодиоду, сигнализирующему о перемещении датчика назад;
  • Одиннадцатый подключается к светодиоду, сигнализирующему о наклоне в левую сторону;
  • Двенадцатый подключается к светодиоду, сигнализирующему о наклоне датчика вперед.

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

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

Рисунок 4: схема для печатной платы

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

Таблица: уровни напряжения в контрольных точках

Точка на рисунке Напряжение  в точке, В
Т0
Т1 5
Т2 Ниже, чем в Т3
Т3 Выше, чем в Т2

Тестирование работоспособности и корректировка параметров

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

  • Подключить микроконтроллер к компьютеру через USB переходник;
  • Загрузить программу (test.ino) с компьютера на Ардуино УНО;
  • Затем на компьютере откройте программную среду Arduino, в которой отображается исходный код от соответствующих выводов акселерометра;
  • Сбросьте данные и отметьте числовые изменения по всем трем осям (X, Y, Z), которые происходят при наклоне датчика влево, вправо.

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

  • Оставаясь в программной среде Arduino, начните наклонять датчик влево, когда угол наклона достигнет той отметки, в которой светодиод должен загораться, отметьте для себя – это будет значение кода «A_max», граница отключения светодиода при возвратном движении датчика будет такой же;
  • Для регулирования угла наклона вправо повторите ту же операцию, наклонив до нужного угла, отметьте для себя цифровое значение – это будет значение кода «A_min», та же величина прекратит горение при возвратном движении к нейтральной позиции датчика;
  • Эти значения нужно изменить в теле программы tiltdetection.ino, для чего запускается Arduino IDE, в строки «A_max» и «A_min» вносятся записанные вами ранее данные (рисунок 5);
    Рис. 5. Снимок экрана программирования Arduino Uno
  • После этого сохраните внесенные изменения и заново загрузите откорректированную программу на микроконтроллер.

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

Что нужно для работы программы?

Так как микроконтроллер программируется на специально разработанной под него платформе Arduino IDE, никаких дополнительных языков программирования и специальных навыков по работе с ними вам иметь не нужно, достаточно просто подключить Arduino к компьютеру. Также стоит отметить, что микросхема  ATmega328 в Arduino Uno изначально содержит предварительно установленный механизм загрузки. Именно он позволяет программировать устройство без каких-либо аппаратных программаторов, а взаимодействие программной среды на компьютере и  микросхеме происходит по протоколу STK500.

Для работы с программным обеспечением микроконтроллера вам понадобиться войти в меню «Инструменты», затем выбрать «Платы» и установить  Arduino Uno (если вы применяете другую модель, установите ее). После этого через Arduino IDE запрограммируйте плату на логику датчика наклона и можете приступать к эксплуатации готового устройства. Также можно программировать Ардуино через протокол ICSP, но этот метод больше подходит искушенным программистам, а не начинающим конструкторам, поэтому куда проще пользоваться стандартным способом.

Исходный код программы: Датчик наклона на базе Arduino

Что такое Arduino

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

В Telegram-канале «Лайфхакер» только лучшие тексты о технологиях, отношениях, спорте, кино и многом другом. Подписывайтесь!

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

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

Вот из чего состоит конструктор Arduino.

Основа

«Мозг» любого конструктора Arduino — это собственно одноимённая плата. На ней есть процессор, модули памяти и порты ввода‑вывода, к которым подключаются другие компоненты.

Самая популярная плата для начинающих — Arduino Uno. На ней 14 цифровых и 6 аналоговых входов, 32 КБ постоянной и 2 КБ оперативной памяти, процессор частотой 16 МГц, порт USB. Не сравнить с современными смартфонами и компьютерами, но для знакомства с конструктором и создания простых систем этого вполне достаточно.

Arduino Nano и Mini — одни из самых компактных в линейке. Nano аналогична Uno по производительности, Mini немного слабее. В Arduino Leonardo установлен новый контроллер (процессор) и вместо USB‑порта используется microUSB.

image
Фото: AlexCorv/Shutterstock

Если же вы заранее знаете, что на простых экспериментах не остановитесь, можно сразу смотреть в сторону плат побольше, например Arduino Mega. Здесь будет уже 54 цифровых выхода и 16 аналоговых, 256 КБ постоянной и 8 КБ оперативной памяти, а также процессор частотой 16 МГц и порт USB.

Конструктор постоянно развивается, появляются новые версии платформы — с более производительными микроконтроллерами, большим объёмом памяти, расширенным набором портов, дополнительными компонентами вроде Bluetooth или Wi‑Fi.

Обратите внимание: блока питания на плате нет, к розетке вы её не подключите. Электроэнергию можно подавать либо через порт USB/microUSB от компьютера или внешнего аккумулятора, либо на разъём Vin или 5V (плюс на Gnd — «земля») на плате (они промаркированы) — например, от батареи или блока питания для ПК.

Дополнительные элементы

image
Фото: Schlyx/Depositphotos

Чтобы платформа Arduino не просто выполняла вычисления, а давала какие‑то наглядные и полезные результаты работы, к ней нужно подключить «обвес». Это могут быть:

  • Датчики. Они принимают информацию и передают её плате, бывают цифровыми и аналоговыми. К примеру, для Arduino есть датчики света, цвета, температуры, давления, влажности, уровня воды и другие. Выпускаются и более сложные сенсоры. Например, датчики препятствия и расстояния часто используют для создания управляемых роботов и машинок.
  • Светодиоды — самые простые элементы, которые покажут результат работы Arduino. Загорелся светодиод — что‑то произошло, например получили определённый сигнал с датчика.
  • Моторы и другие приводы. Они нужны для того, чтобы привести в движение части вашей конструкции: заставить колёса машины крутиться, а робота — шагать.
  • Экраны. Используются для вывода информации. Обычно это небольшие чёрно‑белые LCD‑дисплеи для пары строк текста, но есть и компактные цветные TFT‑экраны разрешением до 240 × 320 точек и диагональю до 3 дюймов.
  • Кнопки и переключатели. Позволяют управлять работой устройства на базе Arduino: включать и выключать его, задавать определённые сценарии поведения.
  • Резисторы. Нужны, чтобы менять яркость свечения светодиодов или создавать особые электрические схемы.
  • Потенциометры — резисторы с переменным сопротивлением. Их обычно используют, чтобы управлять напряжением, яркостью светодиодов, громкостью звуков и так далее.
  • Провода, перемычки и макетная плата. Нужны для простой сборки вашего Arduino без пайки. Достаточно вставлять ножки резисторов, коннекторов, проводников и других деталей в отверстия на плате. Так быстрее, безопаснее и легче — разберётся даже ребёнок.

Платы расширения

image
Фото: Baladapat/Depositphotos

Такие платы, которые иногда называют шилдами (Shield), расширяют возможности Arduino. Они устанавливаются на платформу или друг на друга по принципу бутерброда.

Назначение плат обычно отражено в названии. Например, Ethernet Shield позволяет подключить систему к сети Ethernet, GPRS Shield — к мобильной сети. Для управления мощными моторами выпускается Motor Shield, для работы Arduino от бытовой электросети напряжением 220 вольт — AC/DC Shield.

Почему Arduino — это круто

Существует миф, что Arduino — это дорогая игрушка для гиков, которые умеют держать в руках паяльник и писать километры кода. Но на самом деле даже не слишком подкованному технически человеку этот конструктор принесёт радость и пользу.

Это возможность развить технические навыки

Arduino — конструктор простой и «дружелюбный». Особых знаний и умений вам не потребуется, специального образования — тоже. Повторимся: с макетной платой и коннекторами ничего паять не придётся — собирать гаджеты будет не сложнее LEGO.

Чтобы написать скетч, достаточно освоить лишь азы программирования. Для Arduino используется упрощённый язык, основанный на С++.

Поначалу вы можете использовать готовые схемы и скетчи. Со временем научитесь дорабатывать их или создавать собственные конструкции с нуля. А готовые библиотеки с открытым исходным кодом только расширят ваши возможности.

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

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

Это первый шаг к новой профессии

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

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

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

Это интересное хобби, которое вряд ли надоест

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

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

Это полезное занятие

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

Кроме того, на базе Arduino можно строить рабочие прототипы разных новых гаджетов и систем. Так, вы можете установить везде умные датчики движения и получать на смартфон сообщения о различных событиях: скажем, когда кот вернулся с прогулки или когда у него закончилась еда. Ещё один пример — метеостанция с онлайн‑доступом: позволит предсказывать погоду точнее синоптиков «из телевизора» и видеть результат на экране смартфона.

Что можно сделать из Arduino

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

Мигающий светодиодный куб

Оригинальный светильник выполнен из светодиодной гирлянды. Arduino управляет миганием лампочек, которые имитируют 3D‑эффекты.

Инструкция по созданию куба находится здесь.

Генератор мыльных пузырей

Надоело пускать мыльные пузыри силой собственных лёгких и хочется эффектного шоу? Можно собрать робота, который будет делать это за вас. Гаджет окунает колечко в вазу с мыльным раствором, и в этот момент запускается вентилятор. Результат — много пузырей сразу и никакого мошенничества.

Инструкцию по созданию генератора вы найдёте на этой странице.

Робот

Забавный «КартонБот» создан из Arduino и картона, также включает сервоприводы и ультразвуковой дальномер. Робот умеет вращать головой и смешно двигать руками.

Описание проекта здесь.

Система полива сада

На базе Arduino и шаровых кранов CWX‑15Q можно соорудить умную систему капельного полива для вашего сада. Она умеет определять влажность почвы и следит за уровнем воды в баке.

Описание найдёте на этой странице.

Что нужно для старта работы с Arduino

Оригинальные платы, наборы и компоненты выпускает компания Arduino. С ростом популярности конструктора появились и другие похожие продукты — комплекты с оригинальными платами Arduino или их аналогами.

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

image
Фото: rozdemir/Shutterstock

Но оригинальные платы и другие компоненты Arduino стоят сравнительно дорого. Так, Arduino Uno третьей ревизии на официальном сайте предлагается за 23 доллара. Стартовый набор Arduino Starter Kit на базе Arduino Uno с макетной платой, коннекторами, светодиодами — за 93 доллара. И это без учёта стоимости доставки.

В продаже можно найти конструкторы на базе оригинальных итальянских плат Arduino. Например, есть российская серия «Матрёшка», наборы от издательства «БХВ‑Петербург» и вариант конструктора «Знаток».

image

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

На Ozon продаются комплекты с платами‑аналогами. Например, здесь есть неплохой вариант за 2 990 рублей с учётом скидки. Внутри — копия Arduino Uno, макетная плата, хороший набор датчиков, светодиодов и коннекторов, а также пульт управления, экраны, кнопки и другие компоненты.

Такой же комплект на AliExpress стоит вдвое дешевле — 1 558 рублей. Доставка бесплатная. Больше наборов можно увидеть на этой странице.

Россия выпускает платы — аналоги Arduino под брендом Iskra. Так, Iskra Neo похожа на Arduino Leonardo, на базе неё есть набор «Планета XOD». А Iskra Mini — аналог Arduino Mini.

image

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

Где искать информацию о конструкторе Arduino

  • Официальный сайт проекта Arduino. Здесь же работает интернет‑магазин.
  • На портале российского сообщества Arduino Master можно найти материалы на русском языке. Есть и уроки, которые помогут быстрее освоить конструктор, а также детальная информация о двигателях, датчиках и других компонентах системы.
  • Немало примеров на сайте RoboCraft. Есть даже самодельный робот‑пылесос!
  • На этом сайте выложили хорошую шпаргалку по основным командам для скетчей Arduino. Если держать её перед глазами, сможете писать код быстрее.
  • Саму среду разработки программного обеспечения Arduino IDE можно загрузить отсюда. Если не хотите возиться с установкой, попробуйте онлайн‑редактор кода для конструктора.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий