Електронний конструктор: Огляд кращих Shield-плат для Arduino. Найцікавіші шилди для Arduino Зібрати самому універсальний шилд для arduino

Однією з ключових переваг платформи Arduino є популярність. Популярну платформу активно підтримують виробники електронних пристроїв, що випускають спеціальні версії різних плат, що розширюють базову функціональність контролера Такі плати, цілком логічно звані платами розширення (інша назва: arduino shield, шилд), служать до виконання найрізноманітніших завдань й можуть спростити життя ардуинщика. У цій статті ми дізнаємося, що таке платня розширення Arduino і як її можна використовувати для роботи з різноманітними пристроями Arduino: двигунами (шилди драйверів двигунів), LCD-екранами (шилди LCD), SD-картами (data logger), датчиками (sensor shield ) та безліччю інших.

Давайте спочатку розберемося в термінах. Плата розширення Ардуїно – це закінчений пристрій, призначений для виконання певних функційта підключається до основного контролера за допомогою стандартних роз'ємів. Інша популярна назва плати розширення – англомовне Arduino shield або просто шилд. На платі розширення встановлені всі необхідні електронні компоненти, а взаємодія з мікроконтролером та іншими елементами основної плати відбувається через стандартні піни ардуїно. Найчастіше харчування на шилд теж подається з основної плати arduino, хоча у багатьох випадках є можливість запитки з інших джерел. У будь-якому шилді залишаються кілька вільних пінів, які ви можете використати на свій розсуд, підключивши до них будь-які інші компоненти.

Англомовне слово Shield перекладається як щит, екран, ширма. У контексті його слід розуміти як щось, що покриває плату контролера, що створює додатковий шар пристрою, ширму, за якою ховаються різні елементи.

Для чого потрібні шилди arduino?

Все дуже просто: 1) для того, щоб ми заощаджували час, і 2) хтось зміг заробити на цьому. Навіщо витрачати час, проектуючи, розміщуючи, припаюючи та налагоджуючи те, що можна взяти вже у зібраному варіанті, одразу почавши використовувати? Добре продумані та зібрані на якісному обладнанні плати розширення, як правило, більш надійні та займають менше місця у кінцевому пристрої. Це не означає, що потрібно повністю відмовлятися від самостійного складанняі не потрібно знатися на принципі дії тих чи інших елементів. Адже справжній інженер завжди намагається зрозуміти, як працює те, що він використовує. Але ми зможемо робити складніші пристрої, якщо не щоразу винаходити велосипед, а зосередимо свою увагу на тому, що до нас ще мало хто вирішував.

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

Найбільш популярним прикладами шилдів є плати розширення для роботи з датчиками, двигунами, LCD-екранами, SD-картами, мережеві та GPS-шилди, шилди із вбудованими реле для підключення до навантаження.

Підключення Arduino Shields

Для підключення шилда потрібно просто акуратно надіти його на основну плату. Зазвичай контакти шилду типу гребінки (тато) легко вставляються в роз'єм плати ардуіно. У деяких випадках потрібно акуратно підправити штирки, якщо плата спаяна неакуратно. Тут головне діяти акуратно і не додаватися до зайвої сили.

Як правило, шилд призначений для цілком конкретної версії контролера, хоча, наприклад, багато шилд Arduino Unoцілком нормально працюють із платами Arduino Mega. Розпинування контактів на меге виконано так, що перші 14 цифрових контактів і контакти з протилежного боку плати збігаються з розташуванням контактів на UNO, тому легко стає шилд від ардуіно.

Програмування Arduino Shield

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

Читання або запис сигналів шилдів проводиться теж звичайним методом: за допомогою функцій та інших, звичних будь-якому ардуїнщик команд. У деяких випадках можливі колізії, коли ви звикли до цієї схеми з'єднання, а виробник вибрав іншу (наприклад, ви підтягували кнопку до землі, а на шилді – до живлення). Тут слід бути просто уважним.

Як правило, ця плата розширення йде в наборах Ардуїно і тому саме з нею Ардуїнщик зустрічаються найчастіше. Шилд досить простий – його основне завдання надати зручніші варіанти підключення до плати Arduino. Це здійснюється за рахунок додаткових роз'ємів живлення та землі, виведених на плату до кожного з аналогових та цифрових пінів. Також на платі можна знайти роз'єм для підключення зовнішнього джерелаживлення (для перемикання потрібно встановити перемички), світлодіод та кнопка перезапуску. Варіанти шилду та приклади використання можна знайти на ілюстраціях.




Існує кілька версій сенсорної плати розширення. Всі вони відрізняються кількістю та видом роз'ємів. Найбільш популярними сьогодні є версії Sensor Shield v4 та v5.

Цей шилд Ардуїно дуже важливий в робототехнічних проектах, т.к. дозволяє підключати до плати Arduino відразу звичайний і серводвигуни. Основне завдання шилду – забезпечити управління пристроями споживаючими досить високий для звичайної плати ардуїно струм. Додатковими можливостями плати є функція управління потужністю двигуна (за допомогою ШІМ) та зміни напрямку обертання. Існує безліч різновидів плат motor shield. Спільним для них є наявність у схемі потужного транзистора, через який підключається зовнішнє навантаження, тепловідвідних елементів (як правило, радіатора), схеми для підключення зовнішнього живлення, роз'єми для підключення двигунів і піни для підключення до ардуїно.



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




Плати розширення для прототипування

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





Arduino LCD shield та tft shield

Цей тип шилдів використовується для роботи з LCD-екранами в Ардуїно. Як відомо, підключення навіть найпростішого 2-рядкового текстового екрану далеко не тривіальне завдання: потрібно правильно підключити відразу 6 контактів екрану, крім живлення. Набагато простіше вставити готовий модуль у платню ардуїно і просто завантажити відповідний скетч. У популярному LCD Keypad Shield на плату відразу заведені від 4 до 8 кнопок, що дозволяє відразу організувати і зовнішній інтерфейс для користувача пристрою. TFT Shield також допомагає



Arduino Data Logger Shield

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




Коротке резюме

У цій статті ми з вами розглянули лише невелику частину великого асортименту різноманітних пристроїв, що розширюють функціональність Ардуїно. Плати розширення дозволяють зосередитись на найголовнішому – логіці вашої програми. Творці шилдів передбачили правильний та надійний монтаж, необхідний режим живлення. Все, що вам залишається, це знайти потрібну плату, використовуючи заповітне англійське слово shield, підключити її до ардуїно та завантажити скетч. Зазвичай будь-яке програмування шилду полягає у виконанні простих дій з перейменування внутрішніх змінних вже готової програми. У результаті ми отримуємо зручність у використанні та підключенні, а також швидкість збирання готових пристроїв або прототипів.

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

Блимати світлодіодом тощо — це звичайно здорово, але захотілося зробити щось справді більш-менш вартісне, що можна застосувати у побуті. Напевно найпростіше - включати і вимикати потужні споживачі струму - лампочки, нтилятори, насоси, магнітофони тощо. Для цього нам допоможе Реле-Shield. Існують готові рішення, купа схем в інеті. Але приємніше зробити своїми руками.

Ось. Тепер можна приступати до запаювання компонентів. Насамперед перемички і дрібні елементи (резистори, діодне складання, транзистори).

Найклопотливіше - запаювання штирків-конекторів. Але, якось впорався:) Значить і ви зможете. Головне, щоб не було "соплів", "коротунів" і "непропаю" :)
Ось кілька фото готового виробу. Скажімо так, не виставковий варіант, але все ж...
До речі, знизу видно SMD діоди, що стоять паралельно реле обмоткам. Трансформатор закріплений двома дротиками.

І заливаємо тестовий скейтч:

/*
Test Home made rele Shield (Ghost D. 2012)
Використовуємо цифрові висновки № 7 та №8
*/

void setup() (
//
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
}

void loop() (
digitalWrite(7, HIGH); // Включаємо перше реле
delay(2000); // чекаємо
digitalWrite(8, HIGH); //Включаємо друге реле
delay(2000);
digitalWrite(8, LOW); // Вимикаємо друге реле
delay(2000);
digitalWrite(7, LOW); // Вимикаємо перше реле
delay(2000); //
}

Наш новий шилд клацає релюшками. Вуаля!

P.S. У моєму варіанті, під час тестування, досить сильно нагрівається трансформатор. Чи то на БП (звідки я його виколупав) неправильно була вказана інформація (типу 300 мА), чи з ним якась неприємність.

І програмування. Він покликаний замінити громіздкі аналогові пристрої або мікросхеми і ідеально підійде як подарунок усім радіоаматорам.

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

"Ардуїно" є платою на мікроконтролерах з безліччю контактів і власним процесором. Плата є основою, до якої можна підключати досить велику кількість так званих шилдів (від англ. Shield - щит), що розширюють функціональність плати. Використовується вона в системах автоматизації процесів, але може також легко застосовуватися і в робототехніці. Областей діяльності плати "Ардуїно" дуже багато. Але популярність вона здобула серед радіоаматорів саме як недорогий, але простий та дуже багатофункціональний конструктор.

Змусити "Ардуїно" працювати як слід за допомогою програмування. Процес цей легкий, і з ним упорається навіть новачок. А якщо користувач має навички мови С++, то запрограмувати плату вийде дуже просто та швидко.

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

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

Робота з shield-платами (шилдами)

Як мовилося раніше вище, функціональність пристрою підвищується з допомогою спеціальних плат — шилдов. Це готові плати керувати тим чи іншим процесом. Шилди приєднуються за допомогою роз'ємів - пінів. Діапазон процесів, якими можна керувати за допомогою шилдів, дуже великий: від передачі даних по Ethernet до управління електродвигунами. Систему контролю процесів за допомогою шилдів можна зібрати власноруч. " Ардуїно " лише розподіляє прописану у програмі роль тієї чи іншої зовнішнього пристрою, А безпосередньо вже працюють самі плати розширення.

Бувають випадки, коли необхідно записати на згадку деякі дані (наприклад, точки GPS). Сам "Ардуїно" зробити цього не може, тому що в ньому відсутній накопичувач пам'яті. Ось тут і стане в нагоді шилд, що додає можливість використання карт micro-SDоб'ємом до 64 Гбайт.

Як не дивно, але шилди можна навіть створювати самому. Наприклад, простенький LCD-шилд. Взяти екран від калькулятора або старого пейджера та приєднати до пін плати. Звичайно, ще доведеться прописати програму, щоб Ардуїно виводив зображення на екран. І все, саморобний шилд готовий.

Програмування "Ардуїно"

Програми для Ардуіно пишуться мовою Wired. Ця мова багато в чому схожа на С++. Однак навіть якщо у вас немає навичок програмування, то розібратися з Wired все одно не складе труднощів. На форумах, присвячених Ардуїно, програми для нього називаються «скетчами». Навіть якщо самому програмувати лінь або не виходить, можна знайти величезну кількість готових скетчів.

Для кожного скетчу потрібен набір бібліотек. Їх також можна пошукати на форумах по "Ардуїно". Для початківців існує дуже непоганий довідковий посібник з покроковими інструкціяминаписання скетчів для того чи іншого процесу.

Створення шилдів для "Ардуїно" своїми руками

Купувати шилди для Ардуїно зовсім не обов'язково. Скажімо, немає у вас зайвих 30 $, але є купа непотрібних деталей і величезне бажання щось автоматизувати. Не проблема. Головне, щоб у вас вже була основна плата з прошитою ОС та можливістю написання скетчів.

З підручних деталей може вийти схема Ардуїно. Своїми руками залишиться лише спаяти компоненти. Хоча, якщо конструкція передбачається нерухома, то й паяти нічого не треба. Досить просто з'єднати компоненти дроти. Потрібно зауважити, що такий саморобний шилд для "Ардуїно" за собівартістю вийде в рази дешевше за заводський. Наприклад, набір "Ардуїно" для автоматизації роботи електродвигунів обійдеться в 80-90 $. Але якщо зайнятися збиранням самому, можна знизити собівартість до 30 $.

Також існує безліч інших наборів, створених для тих чи інших областей, і в них, крім основної плати, входять всі необхідні деталі. Наприклад, набір для створення «розумного» будинку, відеоспостереження, клімат-контролю чи стереосистем.

Звичайно, не всі шилди можна зробити самому. У деяких випадках просто не можна знайти потрібних деталей. Наприклад, шилд із розширенням для карти пам'яті доведеться купувати.

Для чого можна використовувати "Ардуїно"

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

Наприклад, у вас машина. І вам потрібно, щоб на РК-екрані магнітоли виводилася інформація про швидкість. Як зробити з "Ардуїно" спідометр? Дуже просто. Купуємо плату. Наприклад, Arduino Mega 2560, GPS-модуль Ublox NEO 6m GPS. Після цього шукаємо в мережі готові скетчі для управління, прописуємо все це в Ардуїно, приєднуємо один до одного, і - все готово.

Також легко можна створити цілу систему управління своїми руками. "Ардуїно" дає таку можливість. Головне – запастися потрібними скетчами та деталями.

Використання "Ардуїно" у робототехніці

"Ардуїно" широко використовується у робототехніці. Завдяки тому, що до плати передбачено підключення великої кількості сервоприводів, моторів, датчиків можна отримати цілого робота, зробленого своїми руками. "Ардуїно" також дозволяє запрограмувати його як завгодно. Якщо вас цікавлять повзаючі, що їздять і стрибають залізяки, то "Ардуїно" - безумовно для вас.

Крім того, якщо приєднати пристрій разом з деякими датчиками до квадрокоптера, може вийти непоганий робот-спостерігач. А це вже досить корисна технологія.

Саме в робототехніці можна проявити неабияку фантазію, а за допомогою "Ардуїно" - втілити її в життя. Деякі умільці навіть роблять прототипи з "Футурами", використовуючи саме цей конструктор.

Замість ув'язнення

Плати контролерів "Ардуїно" ідеально підходять для автоматизації будь-яких процесів завдяки гнучкості в налаштуванні. Крім того, проблем із програмуванням плат не виникне ні в кого завдяки багатому довідковому посібнику на цю тему. Якщо щось зламається в процесі роботи, неважко буде відремонтувати це своїми руками. "Ардуїно" дозволяє людині виявити безмежну фантазію. За допомогою цієї плати можна створити майже все, що завгодно, починаючи від системи управління підігрівом підлог через смартфон і закінчуючи роботом.

Якийсь час у мене валялася Arduino Uno. І ось знайшлося їй застосування. Зробив зручний шилд для прошивки ходових контролерів у різних корпусах. Тепер дана налагоджувальна плата активно використовується. Шилд дозволяє прошивати досить багато контролерів від ATMEL, які все ще популярні серед саморобів за багатьма параметрами. Отже, під катом виготовлення шилду для прошивки мікроконтролерів Atmega8 (168/328), Attiny13(45/85), причому, як у DIP корпусах, так і QFP і SOIC, використовуючи адаптери.

Посилання я дав на схожу налагоджувальну плату Arduini Uno, оскільки вже і не пам'ятаю де брав свою. Моя хустка із закосом під оргінал (звичайно це копія - оскільки брав у Китаї):




Власне, тут уже було чимало оглядів на цю плату, тож перейдемо одразу до шилда.
Схема шилда, досить проста:


Конденсатор C4 дозволяє не перезавантажуватись самої Arduino Uno під час прошивки, без нього таке буває і прошити не вдається. На схемі видно два роз'єми для підключення контролерів у корпусах dip28 та dip8. Для dip28 передбачений кварц із конденсаторами С2 та С3. Також на платі передбачений стандартний роз'єм ICSP для підключення, наприклад, своїх плат та їх прошивки. Як і при типовому використанні, висновок Arduino 10 з'єднаний з RESET програмованих контролерів. Висновки 11, 12,13, що представляють ICSP з'єднані з аналогічними на мікроконтролерах, що підключаються. На контролери, що підключаються, подається живлення і земля від Arduino Uno. До висновків Arduino 7,8,9 через струмообмежувальні резистори в 1КОм підключені індикаційні світлодіоди. Наш шилд дозволить прошивати популярні контролери: Atmega8 (168/328), Attiny13(45/85), причому, як у DIP корпусах, так і QFP і SOIC, використовуючи адаптери.

Хустка вийшла така:




Бажаючі можуть завантажити , у форматі Sprint Layout. Також можна завантажити готові для замовлення у Китаї (або на місцевому виробництві).

На платі видно дві версії отворів для dip28 у вузькому та широкому корпусі, це зроблено для підключення адаптера QFP32 до DIP28, огляд якого я робив. Крім того, якщо припаяти роз'єм для вузької версії контролера, то в отвори для широкої версії можна припаяти лінійки штирків і відразу тестувати прошитий контролер. Для dip8 я також передбачив крім адаптера отвори для штирків. Також є дві версії ICSP роз'ємів широкий (10 контактів) і тонкий (6 контактів), та й інші деталі, присутні на схемі. Світлодіоди, резистори та конденсатори (22пФ) я використав SMD 1206. Світлодіоди розподілив так: Зелений – READY, Червоний – ERROR, Жовтий – PROG. Також передбачив штирі для додаткового харчування та землі, які можуть знадобитися при тестуванні контролера, що прошивається.

Плати я замовляв у , швидше за все я б виготовив їх ЛУТ-ом, але даний сервісдозволяє панелізацію, а в мене знайшлося потрібне місце на платі в замовленні, та й поспіху особливого не було. Заводська плата виглядає все-таки краще. Ось так вони виглядають:




Припаювання деталі, я виготовив 2 версії, для широкого dip28:




Тут я не став припаювати штирі та роз'єми, тому що планую цю плату використовувати для прошивки контролерів за допомогою адаптерів у корпусах SOIC та QFP.
Для тонкого dip28:




Як видно з фото, для підключення мікросхем у dip корпусах я використовував цангові роз'єми, вони мені подобаються більше.
Адаптер QFP32 в DIP28 для підключення до широкої версії шилду:


Встає чудово:


Весь бутерброд, включаючи Arduino Uno:




Для тонкої версії з вставленим контролером ATtiny85:


Для прошивки контролерів у SOIC8 корпусі я використовую також адаптер:

Для того, щоб наша конструкція стала програматором, слід без шилда завантажити в Arduino Uno прошивку ArduinoISP, що йде в комплекті з будь-якою версією:

З таким шилдом стало дуже зручно та швидко прошивати та тестувати контролери у різних корпусах, не боячись порушити з'єднання як тут:


Приклад завантаження програми миготіння діодом за допомогою шилду та перевірка його роботи на місці:


На цьому закінчую. Дякуємо всім, хто дочитав до кінця! Сподіваюся, що комусь наведена інформація виявиться корисною. Усіх із дивним святом: Старим Новим Роком! Планую купити +22 Додати в обране Огляд сподобався +81 +123

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

У цій статті розповідається, як зробити власний «шилд»для плати Arduino, використовуючи для цього безпайкову макетну плату.

Необхідні компоненти

  • Маленька безпайкова макетна плата (Digikey 923273-ND)
  • Маленька друкована плата (Radio Shack 276-150)
  • Два простих 8 -контактний гребінець (Jameco 70755 або Digikey AE10048-ND)
  • Два 8 -контактних однорядних гребінців для монтажу накруткою (Jameco 78642 або Digikey S7006-ND)

Кроки

  1. Беремо друковану плату.
  2. Беремо гребінці для монтажу накруткою, вставляємо їх у крайній ряд отворів на друкованій платі та припаюємо.
  3. Вставляємо прості гребінці поруч із гребінцями для монтажу накруткою. Припаюємо їх.
  4. Знімаємо захисний шар із двосторонньою клейкою стрічкою на макетній платі. Клеєм макетну плату до друкованої плати поруч із припаяними гребінцями.
  5. Обережно згинаємо один ряд контактів для монтажу накруткою у бік іншого такого ж ряду. Це потрібно зробити, тому що відстань між двома гребінцями на Arduinoне відповідає кроку 2,54 ммяк на друкованій платі. Да дуже шкода.
  6. Готово! Фінальний продукт виглядає приблизно так:

На друкованій платі два ряди контактів з'єднані один з одним, тому використовувати дроти, щоб з'єднати ці ряди один з одним, не потрібно – досить простого паяння.

На протилежний кут друкованої платиможна нанести трохи клею, щоб він врівноважував гребінці, а платня трималася рівно.

Використання

Зібраний нами "шилд" вийшов одностороннім, тому його можна підключити до плати так, щоб її верхня сторона залишалася відкритою.

Втім, «шилд»можна підключити та традиційним способом, як показано на першій картинці до цієї статті. У такому вигляді доступ до роз'єму для живлення та аналогових контактів особливих проблем не доставляє, але кнопку скидання та ICSP-гребінець дістати вже складніше. О, і все це зайняло у мене приблизно 10 хвилин роботи.