- Вимоги:
- Завантаження та встановлення програмного забезпечення:
- Апаратна частина Arduino та принципова схема:
- Частина програмного забезпечення Arduino:
- Мобільний додаток Android для ультразвукового радара:
- Робоче пояснення:
Це цікавий проект, в якому ми досліджуємо потужність Arduino та Android для створення пристрою відеоспостереження, який використовує Arduino та Ultra Sonic Sensor для передачі інформації в мобільний додаток (Android) за допомогою Bluetooth.
Безпека та безпека - це наша головна проблема з віків. Встановлення охоронної камери, яка має нічний режим з можливістю нахилу та панорамування, призведе до спалення великої діри на наших кишенях. Отже, давайте зробимо економічний пристрій, який робить майже те саме, але без будь-яких відеофункцій.
Цей пристрій розпізнає предмети за допомогою ультразвукового датчика і, отже, може працювати навіть у нічний час. Також ми монтуємо американський датчик (Ultra Sonic) над сервомотором, цей сервомотор може бути налаштований на автоматичний оберт для сканування області або може обертатися вручну за допомогою нашого мобільного додатка, щоб ми могли сфокусувати ультразвуковий датчик наш потрібний напрямок і відчути об’єкти, що присутні там. Вся інформація, сприйнята американським датчиком, буде передана на наш смарт-телефон за допомогою модуля Bluetooth (HC-05). Тож він буде працювати як гідролокатор чи радар.
Цікаво правильно ??…. Давайте подивимося, що нам знадобиться для виконання цього проекту.
Вимоги:
Обладнання:
- Блок живлення + 5 В (я використовую свою плату Arduino (іншу) для живлення)
- Arduino Mega (Ви можете використовувати що завгодно, від pro mini до Yun)
- Сервомотор (будь-який рейтинг)
- Модуль Bluetooth (HC-05)
- Ультразвуковий датчик (HC-SR04)
- Макет (не обов’язковий)
- Підключення проводів
- Android для мобільних пристроїв
- Комп’ютер для програмування
Програмне забезпечення:
- Програмне забезпечення Arduino
- Android SDK
- Обробка Android (для створення мобільного додатка)
Коли ми готові з нашими матеріалами, давайте почнемо будувати обладнання. Я розділив цей підручник на Arduino Part і Processing Part для зручності розуміння. Людям, які не знайомі з обробкою, не потрібно сильно боятися, оскільки повний код наведено в кінці підручника, який можна використовувати як такий.
Завантаження та встановлення програмного забезпечення:
Arduino IDE можна встановити тут. Завантажте програмне забезпечення відповідно до вашої ОС та встановіть його. Для IDE Arduino потрібен драйвер для зв’язку з вашим обладнанням Arduino. Цей драйвер повинен встановлюватися автоматично після підключення плати до комп’ютера. Спробуйте завантажити програму блимання з прикладів, щоб переконатися, що ви працюєте з Arduino.
Processing IDE можна встановити тут. Обробка - відмінна програма з відкритим кодом, яку можна використовувати для багатьох речей, вона має різні режими. У режимі «Java» ми можемо створювати комп’ютерні програми для Windows (файли.EXE), а в «режимі Android» - мобільні програми для Android (файли.APK), а також інші режими, такі як «Режим Python», де ви можете писати вам програми на python. Цей підручник не охоплюватиме основ обробки, отже, якщо ви хочете навчитися програмуванню чи обробці Java на цьому чудовому каналі YouTube тут.
Апаратна частина Arduino та принципова схема:
Цей проект включає багато компонентів, таких як сервомотор, модуль Bluetooth, ультразвуковий датчик тощо. Отже, якщо ви абсолютно новачок, рекомендується почати з якогось основного підручника, який включає ці компоненти, а потім повернутися сюди. Ознайомтеся з різними проектами з сервомотора, модуля Bluetooth та ультразвукового датчика тут.
Всі компоненти не живляться самим Arduino, оскільки серводвигун, модуль Bluetooth і американський датчик в цілому витрачають багато струму, який Arduino не зможе отримати. Тому строго рекомендується використовувати будь-який зовнішній джерело +5 В. Якщо у вас немає зовнішнього джерела живлення + 5 В, ви можете поділити компоненти між двома платами Arduino, як я це зробив. Я підключив силові рейки Servos до іншої плати Arduino (червоний колір) і підключив модуль Bluetooth HC-05 та ультразвуковий датчик HC-SR04 до Arduino mega. ПОПЕРЕДЖЕННЯ. Увімкнення всіх цих модулів за допомогою однієї плати Arduino призведе до смаження регулятора напруги Arduino.
Схема підключення цього проекту на основі Arduino Sonar наведена нижче:
Після підключення встановіть американський датчик на сервомотор, як показано нижче:
Для кріплення датчика я використав невеликий пластиковий шматок, який був у моєму смітті, і подвійну бічну стрічку. Ви можете придумати власну ідею зробити те саме. На ринку також є сервовласники, які можна використовувати з тією ж метою.
Після того, як сервопривід змонтовано і підключення надано, він повинен виглядати приблизно так.
Слідуйте схемам зверху, якщо помилки з’єднані. Тепер почнемо програмувати Arduino Mega за допомогою IDE Arduino.
Частина програмного забезпечення Arduino:
Ми повинні написати свій код, щоб ми могли розрахувати відстань між об’єктом та датчиком Ultra Sonic та надіслати його до нашого мобільного додатку. Ми також повинні написати код для нашого сервомотора для розгортки, а також контролювати дані, отримані модулем Bluetooth. Але не хвилюйтеся, програма набагато простіша, ніж ви можете уявити, завдяки Arduino та його бібліотекам. Повний код наведено нижче в розділі коду.
Функція, наведена нижче, використовується для автоматичного перемикання сервомотора зліва направо (від 170 до 10) і знову справа наліво (від 10 до 170). Два для петлі використовуються для досягнення того ж. Функція us () називається всередині обох функцій для обчислення відстані між датчиком та об'єктом та передачі його на Bluetooth. Дається затримка 50 мс, щоб сервопривід повільно обертався. Що повільніше обертається двигун, точнішими стають ваші показники.
// ** Функція сервоприводу для розгортки ** // void servofun () {Serial.println ("Sweeping"); // для налагодження для (posc = 10; posc <= 170; posc ++) // Використання від 10 до 170 градусів безпечно, ніж від 0 до 180, оскільки деякий сервопривід може не працювати в екстремальних ангелах {servo.write (posc); // встановити положення затримки сервомотора (50); нас(); // вимірюємо відстань об'єктів, що заспівають датчик США} for (posc = 170; posc> = 10; posc--) {servo.write (posc); затримка (50); нас(); // виміряти відстань об'єктів, заспівати американський датчик} Serial.println ("Сканування завершено"); // для прапорця налагодження = 0; } // ** Кінець сервоприводної функції підмітання ** //
Як вже було сказано раніше, сервомотором також можна керувати вручну зі смартфона. Ви просто проводите пальцем праворуч, щоб двигун рухався праворуч, а пальцем вліво - двигун рухається ліворуч. Вищевказана функція використовується для досягнення того ж. Ангел сервомотора буде безпосередньо прийнятий модулем Bluetooth і збережений у змінній BluetoothData , тоді сервопривід буде розташуватися в цьому конкретному ангелі за допомогою рядка servo.write (BluetoothData).
// ** Функція управління сервоприводом вручну ** // void manualservo () {us (); // Отримати значення від користувача та керувати сервоприводом, якщо (Blueboy.available ()) {BluetoothData = Blueboy.read (); Serial.println (BluetoothData); servo.write (BluetoothData); Serial.println ("Написано"); якщо (BluetoothData == 'p') {прапор = 0; }}} // __ Кінець функції ручного управління __ //
Відстань присутній до об'єкта буде розраховуватися нижче функції. Це працює з простими формулами, що швидкість = відстань / час. Оскільки ми знаємо швидкість американської хвилі та час, який потрібно, відстань можна розрахувати за наведеними формулами.
// ** Функція вимірювання відстані ** // void us () {int duration, distance; digitalWrite (trigPin, HIGH); delayMicroseconds (1000); digitalWrite (trigPin, LOW); тривалість = pulseIn (echoPin, HIGH); відстань = (тривалість / 2) / 29,1; // Обчислює відстань від датчика if (відстань <200 && відстань> 0) Blueboy.write (відстань); } // __ Функція вимірювання кінця відстані __ //
Якщо у вас є якісь сумніви в програмі, сміливо використовуйте розділ коментарів для своїх побажань. Отже, як тільки ми готові з нашим кодом, ми можемо негайно скинути код у наше обладнання. Але пристрій спостереження не запрацює, поки його не буде підключено до програми Android. Також перевірте Відео в кінці на повну роботу.
Мобільний додаток Android для ультразвукового радара:
Якщо ви не хочете створювати власну програму, а натомість просто хочете встановити ту саму програму, яка використовується в цьому посібнику, ви можете виконати наведені нижче дії.
1. Ви можете безпосередньо завантажити файл APK за посиланням нижче. Цей файл APK створений для Android версії 4.4.2 і вище (Kitkat вище). Витягніть файл.apk із zip-файлу.
Додаток Android для ультразвукового радара
2. Перенесіть файл.Apk з комп’ютера на мобільний телефон.
3. Увімкніть установку програми з невідомих джерел у налаштуваннях Android.
4. Встановіть програму.
У разі успішного встановлення ви знайдете програму з назвою «Zelobt», встановлену на вашому телефоні, як показано нижче:
Якщо ви встановили цей файл.apk, тоді ви можете пропустити нижченаведену частину та перейти до наступного розділу.
Програмування власного додатка за допомогою обробки:
Або ви можете використовувати файл.APK, наведений вище, або ви можете створити власний додаток за допомогою обробки, як описано тут. Маючи незначні знання з програмування, також дуже легко написати власний код для програми для Android. Однак якщо ви тільки починаєте, не бажано починати з цього коду, оскільки він трохи перевищує рівень початківця.
Ця програма використовує дві бібліотеки, а саме “бібліотеку Ketai” та “бібліотеку ControlP5” . Бібліотека ketai використовується для управління всім обладнанням, що знаходиться в нашому мобільному телефоні. Ця бібліотека може легко отримати доступ до таких елементів, як рівень заряду акумулятора, значення датчика наближення, значення датчика акселерометра, параметри керування Bluetooth тощо. У цій програмі ми використовуємо цю бібліотеку для встановлення зв'язку між телефонами Bluetooth та Arduino Bluetooth (HC-05). «ControlP5 бібліотека» використовується для побудови графіків для нашої радіолокаційної системи.
Повна андроїда програма додається, ви можете завантажити його тут.
ПОПЕРЕДЖЕННЯ. Не забудьте встановити вищезазначені бібліотеки та не копіюйте вставте частину коду самостійно, оскільки код імпортує зображення з папки даних, які в цілому наведені у вкладеному вище файлі. Отже, завантажуйте та використовуйте лише це.
Після того, як ви закінчите з частиною кодування та успішно скомпілюєте її, ви можете безпосередньо підключити свій мобільний телефон до комп’ютера за допомогою кабелю передачі даних та натиснути кнопку відтворення, щоб приглушити програму на свій мобільний телефон. Також перевірте інші наші проекти обробки: гра в пінг-понг за допомогою Arduino та керованого смарт-телефоном FM-радіо за допомогою обробки.
Робоче пояснення:
Тепер ми готові до нашого обладнання та програмної частини. Увімкніть обладнання та підключіть свій мобільний телефон до модуля Bluetooth. Після створення пари відкрийте програму «Zelobt», яку ми щойно встановили, і тепер зачекайте секунду, і ви помітите, як ваш модуль Bluetooth (HC-05) автоматично підключається до вашого смарт-телефону. Після встановлення з'єднання ви отримаєте наступний екран:
Ви можете помітити, що у верхній частині екрана написано: “Підключено до: Ім'я пристрою (адреса обладнання). Він також відображає поточний ангел сервомотора та відстань між американським датчиком. Синій графік також наноситься на червоний фон на основі виміряної відстані. Чим ближче об'єкт наближається, тим більше він стає синім. Графік, виміряний, коли деякі об'єкти розміщені поруч, також показаний на другому малюнку вище.
Як вже було сказано раніше, ви також можете керувати своїм сервомотором за допомогою мобільного додатка. Для цього просто натисніть кнопку зупинки. Це зупинить автоматичне підмітання вашого сервоприводу. Ви також можете знайти кругле колесо внизу екрана, яке при проведенні пальцем обертається в напрямку годинника або проти годинника. Проводячи цим колесом, ви також можете змусити ваш сервомотор обертатися в цьому напрямку. Колесо та графік, що оновлюються при проведенні пальцем, показані на малюнку нижче.
Код Arduino наведено нижче, а файл APK для програми для Android тут. Робота повного проекту показана у відео нижче. Сподіваюся, ви зрозуміли проект. Якщо у вас є запитання, будь ласка, використовуйте розділ коментарів нижче.