Бути девопсом – то, звичайно круто – всі ці клауди, Терраформи, сесуріті і прочі дуже цікаві штуки.
Але я давно хотів спробувати і щось більш “реальне”, щось таке, щоб можна було потримати в руках, і цими ж руками зібрати.
В минулому році, коли думав про чергову підготовку до зими (див. Підготовка до зими 2023-2024: електрохарчування), знов згадав свою ідею мати вдома пожежну сигналізацію – бо на балконі стоять акумулятори. І, звісно, можна купити готові рішення від Ajax Systems, але ж можна і зробити самому!
Аналогічно з системою відеоспостереження – можна купити готові рішення (власне, я так і зробив) – а можна зібрати власний солюшон, і це було б набагато цікавіше.
Тож врешті-решт я таки вирішив почати знайомитись з Arduino. До того ж досвід роботи з мікроконтролерами може знадобитись, якщо доведеться мати справу з дронами (if you know what I mean 😉 ).
Ну і само собою – хіба ж можна займатись такими штуками, і не написати про на RTFM? 🙂 Тож додаю нову рубрику, і сподіваюсь, що буду її періодично оновлювати.
Зміст
Arduino: the very beginning
Раніше я не мав справ ані з мікроконтролерами взагалі (хоча в універі наче були пари по ним), ані з Adruino, тому на самому початку для мене це був досить темний ліс: я знав, що це якась маленька плата, з якою можна робити якісь штуки.
Тож самим першим кроком було загуглити якось на кшталт “adruino що можна зробити” і, чесно кажучи, навіть здивувався – скільки ж всього є під цю платформу.
Тож з того, що можна зробити – і що було б корисно вдома, аби мати більше мотивації:
- система відеоспостереження
- сигналізація пожежі/потопу
- система автополиву квітів
- робот-пилосос
- система управління акваріумом
Та безліч всього іншого, бо датчиків для Arduino – просто море.
Як познайомитись з Arduino?
Знову-таки – я ніколи з ним не мав справу, тож треба було якось почати освоюватись в новому для себе світі.
Мені з цим допомагають два основні матеріали:
- книга Learn Electronics with Arduino: An Illustrated Beginner’s Guide to Physical Computing
- і стартовий набір Super Arduino Starter Kit від Keyestudio – купував на цьому сайті, і взагалі класний сайт з купою всього – і документація, і всякі плати/датчики/корпуси
Взагалі стартових наборів теж дуже багато, я вибирав по принципу “побільше всього відразу”. Враховуючи вартість в 2-3 тисячі гривень – можна собі дозволити брати “максимальний” набір (в мене ще не самий максимальний), бо краще відразу мати під рукою все, аніж почати щось робити, потім зрозуміти, що тобі не вистачає якоїсь деталі, і чекати, поки на пошту прийде замовлення.
Щодо книги – вона дійсно прям дуже зайшла. Розказується як для маленьких, з картинками, досить детально і з самого-самого початку – як раз те, що мені потрібно.
Ще, звісно, є купа матеріалів у всяких блогах, на Youtube тощо – але до них поки не добрався.
Насправді я тільки от сьогодні дістав цей набір із шафи, хоча почав читати книгу і купив набір ще восени, але потім якось те-це, якісь справи-робота, і трохи підзабив на це діло.
Тож час розпаковувати його – і пробувати щось сконектити.
Arduino Starter Kit
Список компонентів в моєму наборі прям дуже широкий:
- 5 * Синій світлодіод
- 5 * Червоний світлодіод
- 5 * Жовтий світлодіод
- 1 * RGB світлодіод
- 8 * Резистор 220 Ом
- 5 * Резистор 10 кОм
- 5 * Резистор 1кОм
- 1 * 10K потенціометр
- 1 * Зумер (активний)
- 1 * Зумер (пасивний)
- 4 * Великий кнопковий перемикач
- 2 * Датчик нахилу
- 3 * Фоторезистор
- 1 * Датчик полум’я
- 1 * Датчик температури LM35
- 1 * Регістр зсуву 74HC595N
- 1 * 7-сегментний світлодіодний 1x модуль
- 1 * 7-сегментний світлодіодний 4х модуль
- 1 * 8 * 8 Світлодіодна матриця
- 1 * 2×16 РК-дисплей
- 1 * ІЧ-приймач
- 1 * ІЧ-пульт дистанційного керування
- 1 * Серводвигун
- 1 * Кроковий модуль драйвера
- 1 * Кроковий двигун
- 1 * Модуль джойстика
- 1 * Релейний модуль
- 1 * Датчик руху PIR
- 1 * Аналоговий датчик газу
- 1 * Модуль акселерометра ADXL345
- 1 * Ультразвуковий датчик HC-SR04
- 1 * Модуль годинника реального часу на DS3231
- 1 * Датчик температури і вологості DHT11
- 1 * Датчик вологості грунту
- 1 * RFID-модуль RC522
- 1 * RFID-карта
- 1 * RFID-ключ
- 40 * Конектор
- 1 * Макетна плата
- 10 * Перемички мама-мама
- 30 * Перемички тато-тато
- 1 * 6-елементна AA акумуляторна батарея
- 1 * Кабель USB
Arduino controller
Власне сама “ардуінка”, контролер – головна плата:
Хоча їх теж є багато і від різних виробників:
Але принципіально вони всі майже однакові:
Або в моєму випадку, з документації:
Головна його частина – мікроконтролер ATmega328P:
Для його програмування є Arduino IDE, але її ми встановимо на Linux та подивимось в наступній частині – Arduino: запуск Arduino IDE на Linux та “Hello, World!”.
Забігаючи наперед – для Arduino використовується Wiring – фреймворк зі спрощеним C++, але начебто можна писати і на самій С++ (буде привід згадати її).
Підключення Arduino до комп’ютера
Ну, що – спробуємо його включити?)
Живлення може бути прямо від USB:
Ваааау!)))
“It works!” (c)
Тепер можна починати щось робити.
Тож в наступній частині ми встановимо IDE на Linux, і заставимо нашу ардуінку блимкати LED.