Skip to content

ІССР Консультація ЛР№1 2024

Курс з інформаційно-сенсорних систем роботів, де розглядають ультразвукові датчики відстані та їх моделювання на Arduino у Tinkercad.

Key Takeaways

  • Ультразвукові датчики відстані вимірюють від 2 см до 3-4 метрів, використовуючи імпульси ультразвуку.
  • Arduino використовується як мікроконтролер для зчитування сигналів з датчика і керування виконавчими пристроями.
  • Моделювання в Tinkercad допомагає зрозуміти роботу сенсорних систем без фізичного обладнання.
  • Код на C++ для Arduino включає налаштування пінів, генерацію імпульсів тригера та обробку сигналів echo.
  • Визначення відстані базується на вимірюванні часу проходження ультразвукового сигналу туди і назад.

What the video covers

  • Огляд курсу 'Інформаційно-сенсорні системи роботів' з акцентом на датчики для взаємодії роботів із навколишнім світом.
  • Пояснення принципу роботи датчиків, які перетворюють фізичні величини у електричні сигнали.
  • Розгляд ультразвукових датчиків відстані, їх діапазону вимірювань та застосування у роботах, наприклад, робот-пилосос.
  • Використання мікроконтролера Arduino для зчитування сигналів від датчика та керування виконавчими пристроями.
  • Практична частина курсу — моделювання роботи ультразвукового датчика у середовищі Tinkercad.
  • Покрокове створення схеми з Arduino, ультразвуковим датчиком та підключення живлення і пінів.
  • Опис коду на C++ для Arduino, який керує датчиком та демонструє роботу світлодіода.
  • Пояснення роботи тригера і echo пінів датчика, а також алгоритму обчислення відстані за часом проходження ультразвуку.
  • Вказівки щодо підключення компонентів та налаштування пінів у коді з використанням define.
  • Загальна структура курсу проста і орієнтована на початківців, з акцентом на практичне застосування Arduino.

Answers

Questions about this video

Який діапазон вимірювання ультразвукового датчика відстані?

Ультразвукові датчики відстані вимірюють відстань приблизно від 2 см до 3-4 метрів, оскільки ультразвук згасає на більших відстанях.

Як Arduino взаємодіє з ультразвуковим датчиком відстані?

Arduino подає імпульс на тригер датчика, зчитує сигнал з echo піна, вимірює час проходження ультразвуку і обчислює відстань до об'єкта.

Для чого використовується середовище Tinkercad у цьому курсі?

Tinkercad використовується для моделювання роботи Arduino та ультразвукового датчика, що дозволяє виконувати лабораторні роботи без фізичного обладнання.

Full Transcript — Download SRT & Markdown

00:03
Speaker A
Е, так. Значить, у цьому курсі "Інформаційно-сенсорні системи роботів" ми розглядаємо ті датчики, за допомогою яких роботи можуть взаємодіяти з навколишнім світом. От, е, ну датчики, ви знаєте, це пристрої, які призначені для вимірювання якоїсь величини. Вони перетворюють величину одної природи у величину іншої природи.
00:35
Speaker A
величину іншої природи Ну наприклад більшість датчиків У нас вони перетворюють величини неелектричної природи у електричні величини там наприклад відстань у е-е якісь у імпульси чи у амплітуду напруги чи у силу струму от освітленість теж у напругу пропорційно ії освітле
01:02
Speaker A
Ну, наприклад, більшість датчиків у нас перетворюють величини неелектричної природи у електричні величини, там, наприклад, відстань у, е-е, якісь імпульси чи в амплітуду напруги чи у силу струму. От освітленість теж у напругу пропорційно її освітленню.
01:25
Speaker A
відстані він може бути різного принципу дії може бути лазерний там може бути ультразвуковий значить ультразвукові датчики вони вимірюють відстань від 2 см десь ну там відстані там 1 мм 2 мм він не виміряє От і десь до 3-4 МТ він вимірює більше Він
01:58
Speaker A
Ну далі мікроконтролер зчитує ці значення і відповідно до них утворює сигнали керування, які будуть подаватись на виконавчі пристрої робота чи маніпулятора. Ну це його двигуни, які приводять у рух маніпулятор, там і таке інше. От, перший лабораторний у нас — датчик відстані. Він може бути різного принципу дії, може бути лазерний, там може бути ультразвуковий.
02:24
Speaker A
робот пилосос який їздить там по кімнаті от він за допомогою ультразвукового датчика відстані може визначити чи є перед ним перешкода чи нема якщо вона є І досить близько то значить треба розвертатись там чи щось робити ну принаймні як мінімум не їхати
02:45
Speaker A
Значить, ультразвукові датчики вони вимірюють відстань від 2 см десь. Ну там відстані 1 мм, 2 мм він не виміряє. От і десь до 3-4 метрів він вимірює. Більше він не вимірює через те, що, е-е, звук, ультразвук згасає. З відстані у повітрі загасає амплітуда коливань, менша її. Відповідно треба збільшувати потужність, е-е, ультразвукового імпульса і так далі. От ці роботи можуть використовувати ці датчики ультразвукові. Відстані можуть використовуватись, наприклад. От у нас є робот-пилосос, який їздить там по кімнаті. От він за допомогою ультразвукового датчика відстані може визначити, чи є перед ним перешкода, чи нема. Якщо вона є і досить близько, то значить треба розвертатись там чи щось робити. Ну принаймні як мінімум не їхати в неї.
03:10
Speaker A
що такий в нас курс тобто складно бути не повинно От так значить відкриваємо tiner Cad так і всі лабораторні нам треба зібрати схему з ультразвуковим датчиком відстані мікроконтролером і якимось виконавчим пристроєм виконавчий пристрій уже не входить в сенсорну систему але ну
03:48
Speaker A
От і ми, щоб дослідити роботу цього датчика, е, повинні в першій лабі виконати його моделювання. Ну тут курс такий простий в середовищі Tinkercad, це моделювання Arduino. Я на це дуже просто називаю його курс "Arduino для дітей". Ну але поки що такий в нас курс, тобто складно бути не повинно.
04:19
Speaker A
Так значить в нас серед компонентів є arduіно це мікроконтролер от ми його натискаємо на нього перетягуємо на робоче поле і Ось він у нас з'явивсяце типу до нього живлення подається через USB А це ніжки напругою на яких керує оцей
04:41
Speaker A
От, так. Значить, відкриваємо Tinkercad. Так і всі лабораторні нам треба зібрати схему з ультразвуковим датчиком відстані, мікроконтролером і якимось виконавчим пристроєм. Виконавчий пристрій уже не входить в сенсорну систему, але, ну, так як у роботі така от структура: датчик, контролер, виконавчий пристрій, то ми щось подібне і маємо.
05:00
Speaker A
Еми так ось код c++ Ну тут приклад коду написаний який блимає світлодіодом оцім що вбудований можемо запустити ось Start simulation і ми побачимо що Ось він блимає бачите от тут оце vo setup це ви заподали живлення на мікроконтролер оце
05:25
Speaker A
Так, значить, створюємо, натискаємо Create schematic. Так і ось у нас відкрилось поле. Тут все дуже просто, начить ось компоненти, які нам доступні, тут базові. Можна ще вибрати всі.
05:49
Speaker A
мікроконтролер подає кий сигнал не читає а подає і далі ми пишемо на її високий рівень тобто логічну одиничку тобто 5 в подаємо чи світлодіо свчується чекаємо секунду 100 мсекунд так пишемо ноль туди і знов чекаємо потім воно знов
06:07
Speaker A
Так, значить, у нас серед компонентів є Arduino, це мікроконтролер. От ми його натискаємо, на нього перетягуємо на робоче поле, і ось він у нас з'явився. Це типу до нього живлення подається через USB, а це ніжки напругою, на яких керує оцей мікроконтролер в залежності від того, який код ви написали. Тут спочатку воно код дає отакою мовою блоків, ну це не для нас, ми вибираємо текст.
06:33
Speaker A
чотирьма і з чотирьма Так тут мабуть О ну ви можете і той брать е ну В нас на кафедрі фізичні є ті що з чотирма ніжками то я його теж тут возьму ось оцей з чотирьма так от ми
06:51
Speaker A
Так, тут бачите, воно перепитує, чи ви точно впевнені, бо це ж для дітей це.
07:19
Speaker A
тривалістю 10 мкросекунд і коли датчик отримав цей імпульс випромінювач ультразвуку посилає пачку із семи по-моєму сами прямокутних імпульсів звуку ультразвуку от вони йдуть поширюються в повітрі відбиваються від якогось предмета і повертаються назад і приймач їх реєструє тільки приймач їх
07:47
Speaker A
Емі, так. Ось код C++. Ну тут приклад коду написаний, який блимає світлодіодом оцім, що вбудований. Можемо запустити ось Start simulation, і ми побачимо, що ось він блимає, бачите? От тут оце void setup — це ви задали живлення на мікроконтролер, оце виконалось один раз.
08:09
Speaker A
що він звук ішов туди і назад ще якщо Хто не знає ультразвук це такий звук частота якого більше 20 кгц ми його вухами своїми не можемо чути діти мо можеть і бащо ну ді ми люди такі старші вони
08:27
Speaker A
От потім виконується loop, виконався, потім він ще раз виконається, ще раз, так поки є живлення циклічно виконується постійно. От pinMode — це задає, що на цій ніжці, е-е, до якої підключений світлодіод, повинен бути вихід, тобто мікроконтролер подає якийсь сигнал, не читає, а подає. І далі ми пишемо на її високий рівень, тобто логічну одиничку, тобто 5 В подаємо, чи світлодіод світиться. Чекаємо секунду, 100 мсекунд так, пишемо нуль туди і знов чекаємо, потім воно знов виконується оцей високий рівень, чекаємо, низький рівень. Ну і він вночі. От такі, е-е, значить.
08:47
Speaker A
зробити нам треба зробити з'єднання Так Ми беремо граун під'єднуємо до граунда так і bcc оце приєднуємо до 5 вльт Ось так бачи приєднали це ми подвили на нього живлення тепер до цифрових пілів ну які Нам подобаються під'єднуємо ці
09:26
Speaker A
Поль, але нас цікавить ультразвуковий датчик відстані. Так, значить, шукаємо його тут у компонентах. Ось, ось він. А це з трьома... Я все-таки візьму з чотирма. І з чотирма.
10:03
Speaker A
Восьмого до восьмої ніжки ось до восьмої значить ця ніжка у нас буде виходом Так значить Спочатку ми ну запишемо які номери ніжок і які куди підключені через Define так Define він просто при компіляції в коді замінить всі зараз стг ну ніжка тг так
10:41
Speaker A
Так, тут мабуть... О, ну ви можете і той брати. Е, ну в нас на кафедрі фізичні є ті, що з чотирма ніжками, то я його теж тут візьму. Ось оцей з чотирма.
11:28
Speaker A
повинен буде ее зчитати імпульс тому ми його на вхід налаштовуємо так ставимо ехопin інpт Так інпут є Тепер нам треба на тгр PIN подати [музика] подати високий рівень Ну от на ній був нуль логічний тепер ми подаємо одиничку і чекаємо 10
12:13
Speaker A
Так, от ми взяли його. Е, тут є, е-е, випромінювач ультразвуку і приймач ультразвуку, і є ніжки чотири: VCC, ground — це живлення. Ви сюди подаєте +5 В, сюди мінус на ground. От далі ще залишились ніжки тригер і echo.
12:47
Speaker A
і чекати коли там з'явиться імпульс є в рдуні функція puls in О так начебто пишеться так зараз як тут а тут нема підказок Да бульсі яка буде зчитувати ну відміряти час і до того моменту поки не з'явиться одиничка
13:19
Speaker A
Тригер — ви сюди подаєте одиничний імпульс тривалістю 10 мікросекунд, і коли датчик отримав цей імпульс, випромінювач ультразвуку посилає пачку із семи, по-моєму, саме прямокутних імпульсів звуку ультразвуку. От вони йдуть, поширюються в повітрі, відбиваються від якогось предмета і повертаються назад, і приймач їх реєструє. Тільки приймач їх зареєстрував, датчик видає імпульс на ніжку echo. Наша програма повинна виміряти час між тим, коли ми подали імпульс на тригер і коли ми отримали імпульс на echo. От цей час ми помножимо на швидкість звуку і поділимо на два. На два ділимо через те, що він звук ішов туди і назад.
13:54
Speaker A
змінну [оплески] [музика] тривалість да тривалість і дорівнює нулю так і ще одну змінну флот distдиance віднь так і тепер значить тривалість дорівнює Ну ця функція поверне нам тривалість так от тепер у нас відстань відстань дорівнюватиме Е чому значить ця функція повертає в
14:57
Speaker A
Ще, якщо хто не знає, ультразвук — це такий звук, частота якого більше 20 кГц. Ми його вухами своїми не можемо чути. Діти можуть і бащо. Ну діти, люди такі старші, вони чують десь до 18 кГц, може ліво. От а малі діти вони чують там до 22, може навіть от. Але дачік все одно вони не чують, бо він десь 40 кГц, по-моєму.
15:28
Speaker A
секундах так і далі нам треба ще поділить на 10 точніше помножити на 10 щоб було в сантиметрах не в метрах а в сантиметрах так Ну бо відстань Ні він вимірює там 20 см 10 Максимум 3 м так тому ми пишемо що
15:56
Speaker A
Так, от значить, для того, щоб нам це зробити, нам треба зробити з'єднання. Так, ми беремо ground, під'єднуємо до ground. Так і VCC оце приєднуємо до 5 вольт. Ось так, бачите, приєднали. Це ми подали на нього живлення. Тепер до цифрових пінів, ну які нам подобаються, під'єднуємо ці ніжки.
16:34
Speaker A
правильно от тому е-е поділили на мільйон помножили на 100 і виходить чотири знаки ну 340 ось 340 раз 2 3 4 е так і поділити на два ой поділити на 2 так е на два бо туди і назад з входить Тепер нам же треба якось
17:01
Speaker A
Так, ну давайте сьомий і восьмий, да? Чи восьмий, дев'ятий, восьмий, дев'ятий. До сьомого не веду, бо будуть перетинати, бачите, будуть перетинатися. То щоб не перетиналися, до восьмого чи той, до дев'ятого під'єднали. Так, тепер пишемо код.
17:34
Speaker A
великої серія беin і швидкість 9600 біт за секунду на якій він буде працювати так 9600 і тут ми пишемо серіал printрі і написати нам треба відстань [музика] Ну хай буде дві кра дві крапки пробел і закриваєм лапки а тут ми їх не
18:17
Speaker A
Отже, ніжка тригер у нас підключена до восьмої, до восьмої ніжки. Ось до восьмої. Значить, ця ніжка у нас буде виходом. Так, значить, спочатку ми, ну, запишемо які номери ніжок і які куди підключені через define. Так, define — він просто при компіляції в коді замінить всі зараз стг. Ну ніжка тг, так.
18:56
Speaker A
[музика] is not declared а пульс ль да ще щось не так с сеіант що не так ннн так включили тепер код закриваємо А ні нам треба буде код Значить ми перенесемо схему трошки далі І ось наш серіал монітор ось воно
19:42
Speaker A
pн — він замінить її на число ві, так і далі. Define, значить, echo. Де? Так. Тепер, значить, pinMode. PIN у нас повинна бути виходом, так, бо мікроконтролер повинен буде подати сюди імпульс тривалістю 10 мікросекунд, тому вихід. А от із ніжки echo pin він повинен буде зчитати імпульс, тому ми його на вхід налаштовуємо. Так, ставимо echo pin input. Так, input є.
20:15
Speaker A
24 бачите тобто так воно працює Ну тепер треба додати ще один виконавчий пристрій так виконавчий пристрій Ну як правило це двигун якийсь от ну Для прикладу простого додамо світлодіоду хай буде світлодіод для простого прикладу Ну він не такий не зовсім
20:53
Speaker A
Тепер нам треба на trigger pin подати [музика] подати високий рівень. Ну от, на ній був нуль логічний, тепер ми подаємо одиничку і чекаємо 10 мікросекунд. Delay мікросекунд, ронд С, так, 10. От подали, почекали, і тепер на неї ми подаємо нуль. Далі ця затримка нам не треба, подаємо нуль. Тобто ми зробили отакий імпульс, да, тривалістю 10 мікросекунд.
21:16
Speaker A
зелений синій синій а коли червоний і зелений то він жовтим світиться там всі три світяться значить він білим виглядає От так і тепер Ну ми будемо міняти його колір в залежності від відстані значить нам треба обмежити струм через світлодіоди щоб вони не
21:37
Speaker A
Тепер нам треба считывать стан ніжки echo і чекати, коли там з'явиться імпульс. Є в Arduino функція pulseIn. О, так, начебто пишеться так. Зараз як тут, а тут нема підказок. Да, будь-яка, яка буде зчитувати, ну, відміряти час і до того моменту, поки не з'явиться одиничка на вході echo.
22:20
Speaker A
використовувати так А ні так і п да цей можна було Теж провести провести отак щоб не було перетинів що вона тоді читаше вигляда Ось він підключений значить Тепер цінішки нам треба теж сказати що вони будуть виходами правильно 5 67
22:56
Speaker A
Так, значить, тут ми пишемо echoPin, кома, HIGH. Начебто так, ну тобто що ми очікуємо високий рівень. Так, крапка сма. Далі. Коли ми його отримали, вона ж, до речі, повертає певне значення цієї функції. Ну тут ми створимо змінну. [оплески] [музика] Тривалість, да, тривалість і дорівнює нулю. Так і ще одну змінну float distance, відняти. Так.
23:27
Speaker A
помінялось Так значить чи це в нас буде в смислі термінал Тод Термінал 2 блін деякий колір Red Blue Green значить Red R ну [музика] R Green Green Green і BL BL Так значить Red у нас с Red у нас с Blue у
24:23
Speaker A
І тепер, значить, тривалість дорівнює... Ну ця функція поверне нам тривалість. Так, от тепер у нас відстань, відстань дорівнюватиме. Е, чому? Значить, ця функція повертає в мікросекундах. Так, швидкість звуку 343, 340 м за секунду у повітрі. Так, метри за секунду. А нам треба, значить, із мікросекунд отримати. Ну в нас мікросекунди дані. Значить, ми множимо на 340 і ділимо ще на мільйон, щоб було, щоб було у цих не в мікросекундах, а в секундах. Так і далі нам треба ще поділить на 10, точніше помножити на 10, щоб було в сантиметрах, не в метрах, а в сантиметрах. Так.
25:48
Speaker A
якщо відстань більше 100 100 запалюємо синій світлоді запалюємо зелений світлоділок так давайте отак ще більше цього то зелений і е Digital right Digital right Blue El BL так А де ми будемо гасити світлодіводи отут треба і гасити значить додаєм фігурні дужки
27:32
Speaker A
Ну бо відстань він вимірює там 20 см, 10 максимум 3 м. Так, тому ми пишемо, що тривалість, тривалість так помножити на нуль... 0ль 3 34, да, раз 2 3 і чотири, а не на 10 треба ділити, а на 100, щоб у сантиметрах. Правильно ж множити, е-е, метри ж, щоб перевести в сантиметри, треба помножити на 100.
28:33
Speaker A
Так а тут нам треба погасити G G і R так ось так Ну і тепер ой блін скасувати так запускаємо пробуємо ну цей До речі нам треба е-е запускаємо ось світиться синім відстань 23 зеленим світиться менше Де так зелений велика відстань
29:25
Speaker A
Правильно. От, тому е-е, поділили на мільйон, помножили на 100, і виходить чотири.
30:49
Speaker A
що це є зараз ям теграм відправлю Ну все скидаємо масштаб на 100% Ну от все зробили першу лабу ви можете Е серводвигун тут поставити замість світлодіода двигун просто ну щось своє придумати там ну якісь два двигуни ну які будуть щось там типу маніпулятором
31:25
Speaker A
якимсь рухати і так далі в відео я додам на roм Ну на YouTube потім на рум та і цей і скрін скіну Ну все тоді є питання немає Ну значить або нічого не зрозуміло або занадто просто і все
31:52
Speaker A
зрозуміло Ну я думаю що занадто просто так ну в принци пи так Ну добре Якщо будуть питання звертайтесь все тоді дякую всім до побачення до побачення до побачення доба
Topics:Інформаційно-сенсорні системироботиультразвуковий датчикArduinoTinkercadдатчик відстанімікроконтролерпрограмування C++робот-пилосослабораторна робота

Get More with the SozAI App

Transcribe recordings, audio files, and YouTube videos — with AI summaries, speaker detection, and unlimited transcriptions.

Or transcribe another YouTube video here →