Giter VIP home page Giter VIP logo

mpr-01's Introduction

MПР-01

Малий Побутовий Робот - 01

MPR01
Відео-демонстрація роботи приладу за посиланням.

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

До технічних складових робота відносяться:

Arduino Due

Розробка апаратного забезпечення (Вербовський І.)

Arduino Due створений основі Atmega SAM3X8E процесор ARM Cortex-м3. Це перший Arduino на основі мікроконтролера 32-бітних ARM ядер. Вона має 54 цифрових вводу-виводу (з яких 12 можуть бути використані під ШІМ-виходи), 12 аналогових входів, 4 апаратні послідовні порти, 84 МГц частоти генератор, посилання USB OTG включений, 2 КСР (цифрово-аналоговий конвертер) 2, ТВІ, SPI роз'єм живлення, роз'єм JTAG сполучну лінію, кнопка скидання. Програмування мікроконтролера та створення алгоритму відбувалось за допомогою мови програмування С та команд Arduino. Для зручного введення, середовище – Arduino IDE, що дозволяє не тільки створити програмний код, а й виконати компіляцію для мікроконтролера у форматі .ino, яка буде зашита в мікроконтролер за допомогою програматора. Для коректної автономної роботи робота був розроблений алгоритм та відтворений спочатку у вигляді блок-схеми. а потім реалізований у коді. Коректність досягається застосуванням псевдо-паралельних процесів. Мікропроцесор може виконувати алгоритмічні дії майже без затримки, але щоб не було некоректних проблем між тактами роботи є пауза у 1 секунду. Кожне завдання виконується за таймером, за кожен так відбувається перевірка всіх тактів та якщо час завдання підійшов до виконання то воно виконується, а таймер переводиться на відповідний час уперед. «Зором» робота є ультразвуковий сенсор, що здійснює аналіз ситуації перед роботом, та приймає рішення згідно алгоритму. Інфрачервоні датчики перевіряють «сліпі» зони робота та допомагають у орієнтації у просторі. Додаткові інфрачервоні датчики предмету перевіряють зміну висоти підлоги на можливе знаходження предмету під роботом. Керування роботом може відбуватись у двох головних режимах: ручному та автономному. Вибір режиму та дані з сенсорів можна отримати використовуючи додаток на будь якій платформі користувача.

Керування за допомогою кросплатформенного застосунку

Для написання серверу мною використовувався шаблон дизайну програмного забезпечення під назвою Модель-вигляд-контролер (зазвичай відомий як MVC), який зазвичай використовується для розробки користувацького інтерфейсу, що розділяє відповідну логіку програми на три взаємопов'язані елементи. Для зберігання даних користувача мною використовувались два варіанти реляційних систем керування базами даних, а саме SQLite (на локальному комп’ютері) і PostgreSQL (на сервері). Використання БД пояснюється можливістю авторизації користувача перед входом на сервер, а також необхідністю приховати від звичайного користувача певні дані. Всі важливі дані користувача типу паролів зашифровуються асиметричними ключами за допомогою технології SHA256 і не зберігаються в БД у вигляді простого тексту. Сам сервер використовує захищене з’єднання HTTPS. Також було втілено до серверу захист від різних типів атак, в основному це стосується захисту від CSRF-атак. Як відомо, міжсайтова підробка запиту (Cross-site request forgery) – тип веб-атаки, що призводить до виконання певних дій від імені користувача на веб-сторінці де останній аутентифікований. Сторінка проекту нашої групи оформленна за допомогою фреймворку Angular, оскільки він містить вбудовані можливості для створення достатньо прогресивного графічного інтерфейсу та анімації. Дана сторінка може відображати карту приміщення з місцезнаходженням робота, її швидкість і дистанцію, також має відповідні індикатори. Є можливість змінювати розмір карти приміщення і додавати рамку до карти (для кращого вигляду).

web_app

Android-версія (Мамотенко Б.)

Мовою програмування для мобільної розробки на операційній системі Android послугувала Java (об’єктно – орієнтована мова програмування). Створення додатку було здійснене у декілька етапів:

  1. Проект в Android Studio
  2. Створення інтерфейсу користувача
  3. Впровадження активностей, навігації і дій
  4. Тест кінцевого додатку

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

android_app2

iOS-версія (Полюхович А.)

Для керування малим побутовим роботом було розроблено спеціальні додатки для операційної системи IOS (для мобільних телефонів компанії Apple – iPhone), які підходять для будь-якої версії IOS. Додаток, побудований за допомогою програми Xcode 12, використано мову Swift, а для побудови візуальної частини програми - SwiftUI. Основний принцип його роботи - це використання WebView.

ios_app1

end

mpr-01's People

Contributors

illyaverb avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.