Проект, який відмінно впишеться в інтер'єр вашого DIY кута, кімнати, гаража або офісу, в якому ви збираєте роботів і всякі гіковскіе автоматизовані проекти на Arduino. На виході проекту ви отримаєте в межах одного модуля такі фічі:
  • Годинники !;
  • Відображення дати і часу на LCD екрані;
  • Вбудований лічильник часу (для того, щоб засікати час, витрачений на один проект);
  • Будильник (щоб нагадувати про те, що ви засиділися і пора влаштувати собі розминку);
  • Відстеження руху (зберігає заряд акумулятора, відключаючи LCD екран, коли вас немає поруч);
  • Відмінно впишеться в ваш інтер'єр Arduino-розробника!

Необхідні матеріали для проекту

  • Arduino Uno;
  • LCD Keypad Shield (LCD Шилд з кнопками) для Arduino (в даному випадку - від виробника DFRobot)
  • Годинник реального часу (RTC) DS1307 (від Adafruit);
  • Закривається бокс (можна знайти в радіомагазині або замовити у китайців);
  • Зумер (Piezo Buzzer);
  • PIR (Пасивний інфрачервоний датчик руху);
  • Провідники мама / мама;
  • Джек 2.1 мм;
  • Перехідник для батарейки 9 В 5.5 мм / 2.1 мм;
  • Крона 9 В.
Фото деталей і вузлів для проекту
Arduino Uno
LCD шилд
Модуль годин реального часу
Коробка
зумер
Датчик руху
Коннектори
Джек
Перехідник для батарейки
Блок живлення

Збірка модуля годин реального часу

Часом модуль годин реального часу (наприклад, від компанії Adafruit DS1307), поставляється у вигляді окремих компонентів. Збірка не повинна викликати проблем. Тим більше, є відмінна інструкція по використанню і збірці модуля годин реального часу . Як правило, батарейка йде в комплектації модуля. Працювати від однієї батарейки він буде не менше трьох років.

Конектор для харчування

Для того, щоб не виникало проблем з підключенням Arduino, використовується джек на 2.1 мм, до якого припав контакти. У боксі зроблено отвір, джек посаджений на клей. Тепер підключення Arduino не складає проблем.
Батарейка (крона) на 9 В просто встановлюється на задню частину боксу.
живленняхарчування 2 Якщо ви звернули увагу, в боксі є ще один отвір. Це була перша невдала спроба. Джек в цей отвір не помістився.

Під'єднуємо дроти до всіх елементів

Дуже рекомендую закупити різнокольорові провідники типу мама / мама. Коштують вони недорого, а процес складання полегшують дуже сильно. Підключаємо провідники до модуля годин реального часу, ПІР датчику руху , зумер, щоб в подальшому підключити їх до LCD Шілд.
Фото деталей підключених вузлів
Годинник реального часу з коннекторами
ПІР датчик руху з коннекторами
Зумер з коннекторами
Вся обв'язка коннекторами

Підключаємо все до LCD Шілд

На LCD Шілд 5 рядів контактів, які відповідають пінам 1-5 на платі Arduino. Є контакт для 5v, GND і сигнал. Ці контакти і використовувалися для підключення. Для обміну даними з годинником реального часу, датчиком і зумером використовувалися аналогові Піни на Arduino. Природно, датчик і годинник реального часу підключаються до харчування і землі.
LCD шилдLCD Шилд і сенсориLCD Шилд і все обв'язування

Установка в коробку

Наступний крок - упаковка нашого чуда в окремий бокс. Спочатку покладіть в коробку кабелі, які тягнуться від LCD Шілд.
Arduino кріпиться гвинтом до правої нижньої частини боксу. Одного гвинта в принципі достатньо, щоб утримати плату. Крім того, даному конкретному випадку, ребра жорсткості в коробці розташовуються якраз в місці, де на платі передбачено отвір для другого і третього гвинтів.
Після цього встановлюємо на Arduino наш LCD Шилд. Кабелі огинають плату з правого боку (дивіться на фото нижче).
Модуль годин реального часу відмінно встановлюється в лівому нижньому кутку коробки. Для кріплення теж використовувався один гвинт. Подібна установка дає можливість підключити 2.1 мм джек до Arduino.
Датчик руху (PIR) встановлено таким чином, щоб його можна було легко і швидко зняти, так як він заважає підключенню USB кабелю до Arduino.
фото установки
Установка в коробку 1
Установка в коробку 2
Установка в коробку 3
Установка в коробку 4
Установка в коробку 5
Установка в коробку 6
Установка в коробку 5
Установка в коробку 6

програмуємо годинник

Як було зазначено в першій частині статті, крім відображення часу і дати, нам необхідно реалізувати таймер і будильник.
На LCD Шілд передбачено 5 програмованих кнопок. Вони використовуються для установки різних режимів роботи годин. Зумер відпрацьовує кожен раз, коли ви натискаєте кнопки. Коли спрацьовує будильник, зумер подає кілька сигналів.

Скетч для Arduino

За основу програми було взято скетч від Adafruit, який розроблений для модуля годин реального часу. У цьому скетчі використовується їх же бібліотека RTClib. Цей скетч ви можете знайти на GitHub .
Після цього доданий шматок коду з скетчу від DFRobot для LCD Шілд (включаючи опцію управління кнопками). Цей скетч можна скачати тут .
Ну і, звичайно ж, доданий шматок коду безпосередньо під наш проект годин-будильника. Остаточна версія скетчу доступна по посиланню .
На фотографіях нижче показані різні режими роботи наших годин з LCD Шілд.
Фото різних режимів роботи
Фото різних режимів роботи 1
Фото різних режимів роботи 2
Фото різних режимів роботи 3
Фото різних режимів роботи 4
Фото різних режимів роботи 5
Фото різних режимів роботи 6
Фото різних режимів роботи 7
Фото різних режимів роботи 8
Фото різних режимів роботи 9

функції кнопок

На LCD Шілд кнопки підписані (дивіться на фото). Перші п'ять з шести доступних кнопок (button) були запрограмовані таким чином:
Кнопки на LCD Шілд Кнопка # 1 (підписана SELECT) - це кнопка Menu. Ця кнопка відповідає за відображення гортає список доступних функцій (таймер, установка будильника).
Кнопка # 2 (підписана LEFT) - кнопка Select. Служить для вибору функції. Примітка: також використовується для інкремента на 10, коли обрані години, хвилини і т.п.
Кнопки # 3 і 4 (підписані UP і DOWN) - кнопки Increment і Decrement (інкремент і декремент). Використовуються для зменшення і збільшення годин і хвилин при налаштуванні таймера або будильника. Використовуються також для перемикання між часом доби AM і PM.
Кнопка # 5 (підписана RIGHT) - GO! Використовується для прийняття цього значення (наприклад, налаштованих хвилин або годин).
Кнопка # 6 (відзначена RST) - Reset, яка перезавантажує наш Arduino.

LCD годинник, сигналізація і таймер з детектором руху на Arduino


Ми пропонуємо вам побудувати вашого власного чотириногого робота, керованого від сервомотора.

Увага: цей робот - версія класичного чотириногого ходить робота BEAM. Вона дуже проста і не вимагає програмування.

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

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

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

Крок 1. Зберіть матеріали і створіть план дій :

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

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

Список деталей:
  • 2 сервомотори Tower Hobbies TS-53
  • 20-дюймів мідного дроту: 12 - для передніх ніг, 8 - для задніх.
  • Батарея - 3.6v NiMH
  • Мікроконтролер - AVR ATMega 8
  • Рамка Sintra - пластикова пенопластіна, яка згинається при підвищенні температури і набуває будь-яку форму.
Інші запчастини:
  • Шматок картону для проектування
  • Колектор для сервомотора і батареї
  • 28-контактний роз'єм для ATMega чіпа
  • Супер клей
  • Паяльник, припій і дріт
  • Кілька крихітних болтів для кріплення двигунів
  • матовий ніж

Крок 2. Створіть рамку, закріпіть сервомотори:

Спочатку потрібно зробити отвори по кутах для двигуна, а потім заміряти уздовж краю лінійки відстань від отвору до отвору з матовою ножем. Можливо, знадобиться близько 20 проходів ножем, щоб розрізати картонку.

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

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

отвір в картонці

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

Крок 3. Зігніть рамку, додайте двигуни:

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

Рамку потрібно зігнути, але для початку її потрібно:
  • прокип'ятити в невеликій ємності
  • рамка повинна побути в воді протягом хвилини
  • витягнути з води і тримати під прямим кутом, поки вона не висохне.
Передні ноги повинні бути зігнуті під кутом 30 градусів. Потім потрібно прикріпити сервомотори до отворів.

Крок 4. Прикріпити ноги до зіркоподібним моторам:

Візьміть 12 і 8-дюймові відрізки мідного дроту, зробіть з них передні і задні ноги. Зігнувши їх під потрібні кутом, надішліть листа з серводвигун. Зайві уривки дроту можна відрізати або загнути.

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

для розрізу дроту використовуйте плоскогубці

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

подразнень і закручені

Крок 5. З'єднайте ноги з тілом робота, зігнувши їх як годиться:

Прикріпіть «сервозвезди» з ногами до двигунів, а потім зігніть їх.

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

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

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

виглядає відмінно!

Крок 6. Плата з мозком:

Налаштувати плату з мозком дуже просто. Тому що робот використовує сервоприводи, тому немає необхідності в складних драйвери для руху. Просто підключіть 3,6 вольт (прямо від батареї), щоб запустити двигуни, і зарядіть їх з широтно-імпульсною модуляцією сигналу від мікроконтролера, щоб вказати роботу, куди слідувати.

Також вам знадобляться два 3-контактних роз'єми для серводвігателя, один 2-контактний роз'єм для батареї, один 5-контактний роз'єм, а також 28-контактний роз'єм для ATMega 8 чіпа.
Після того як всі розетки і сегменти будуть приклеєні, потрібно припаяти їх. Велика частина проводки знаходиться на нижньому боці плати і має кілька проводів.

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

5-ти раз'емнік, задній сегмент для сервомотора, стрічка з'єднання двох половин пристрої, «мозок», свитч, передній сегмент для сервомотора, роз'єм живлення для батарей.

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

Крок 7. Запрограмуйте чіп:

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

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

Не використовуйте кабель для програмування з іншими пристроями з напругою вище 5В. Напруга може працювати з кабелем і перегріти паралельний порт вашого комп'ютера, що може пошкодити ваш комп'ютер. Більш елегантний дизайн мають граничні резистори або діоди. Для цього проекту підійдуть гетто. Вони мають всього лише 3,6 У батарейки.

Щоб змусити двигуни рухатися вперед і назад, можна використовувати код, який додається нижче (http://www.instructables.com/files/orig/FT1/X0CA/JWNEUHSVJ9M/FT1X0CAJWNEUHSVJ9M.c).

Код використовує вбудований 16-бітний генератор імпульсів для сигналу з затримкою в 20 мс, і дає мікросекундних дозвіл на граничній швидкості. Дозвіл сервоприводу займає 5-10 мікросекунд, так що 16-біт цілком достатньо.

Крок 8. Ваш робот робить перші кроки:

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

Дивіться на відео, як робот крокує, згинаючи передні ноги під кутом близько 40 градусів, а задні близько 20 градусів. Зверніть увагу на те, в чому полягає перевага 2-ух секундної затримки при натисканні на кнопку скидання. Дуже зручно при повторному програмуванні, щоб він просто був в стаціонарному положенні протягом декількох секунд при включеному харчуванні. Дивіться на відео також те, як піднімаються передні ноги за рахунок повороту задніх ніг. Спостерігайте за центром ваги, який також впливає на рух робота.

Крок 9. Тонке налаштування:

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

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

Крок 10. Яку висоту може осилити робот ?:

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

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

DIY, Робот среднего уровня сложности, beam-робот - Схемы роботов на микроконтроллерах - Robotics

Поки що важко, можна навіть сказати, неможливо змусити робота переступити перешкоду вище 1-1 / 2 дюйма. Можливо, тут допоможе зниження швидкості повороту ніг, або зниження кута опускання тіла на землю.

Класичний чотириногий beam-робот. Покрокова інструкція по створенню

- Copyright © Основи мікроелектроніки в школі