Мазмуну:

УЗИ менен асинхрондук тоскоолдуктарды аныктоо: 4 кадам
УЗИ менен асинхрондук тоскоолдуктарды аныктоо: 4 кадам

Video: УЗИ менен асинхрондук тоскоолдуктарды аныктоо: 4 кадам

Video: УЗИ менен асинхрондук тоскоолдуктарды аныктоо: 4 кадам
Video: РАЗ УЖ ВЫ МЕНЯ НЕ СЛУШАЕТЕ, Я УЙДУ... ЭТО БУДЕТ МОЕ ПОСЛЕДНЕЕ СООБЩЕНИЕ О 2024, Ноябрь
Anonim
УЗИ жардамы менен тоскоолдуктарды асинхрондуу түрдө аныктоо
УЗИ жардамы менен тоскоолдуктарды асинхрондуу түрдө аныктоо

Мен көңүл ачуу үчүн үйдүн ичинде автономдуу түрдө жылгым келген роботту куруп жатам.

Бул узак иш жана мен этап -этабы менен жасап жатам.

Бул көрсөтмө Ардуино Мега менен тоскоолдуктарды табууга багытталган

HC-SR04 vs HY-SRF05 УЗИ сенсорлору арзан жана колдонууга оңой, бирок татаал роботтун микроконтроллерине кошулуу кыйын болуп калышы мүмкүн. Мен тоскоолдуктарды аныктоону асинхрондук жол менен жүргүзгүм келди.

_

Мен буга чейин бул роботтун өзгөчөлүктөрү жөнүндө 3 көрсөтмө жарыялаганмын:

  • Дөңгөлөктү коддогучту жасаңыз
  • WIFI шлюзуңузду түзүңүз
  • Инерциялык модулдун бирдигин колдонуңуз

Жана роботту локалдаштыруу үчүн жасалма интеллект менен УЗИди айкалыштыруу жөнүндө документ.

1 -кадам: УЗИ сенсорлору жана микроконтроллерлери менен так маселе эмнеде?

УЗИ сенсорлору жана микроконтроллерлери менен так маселе эмнеде?
УЗИ сенсорлору жана микроконтроллерлери менен так маселе эмнеде?
УЗИ сенсорлору жана микроконтроллерлери менен так маселе эмнеде?
УЗИ сенсорлору жана микроконтроллерлери менен так маселе эмнеде?

Синхрондуу күтүү жана Arduino чектөөлөрү

Микроконтроллерлер коду циклде иштейт жана көп жипти колдобойт. УЗИ сенсорлору сигналдын узактыгына негизделген. Бул узактык 30 мге чейин созулат, бул микроконтроллерлер бир нече моторлор жана сенсорлор менен иштеши керек болгондо, циклдин ичинде күтүү үчүн абдан узак (мисалы, дөңгөлөк коддогучтары бар серво жана DC моторлору).

Ошентип, мен асинхрондуу иштеген объектти өнүктүргүм келди.

2 -кадам: Бул кантип иштейт?

Бул кантип иштейт ?
Бул кантип иштейт ?

Бул тоскоолдуктарды аныктоо үчүн Atmega үчүн иштелип чыккан. Бул 4 УЗИ сенсоруна чейин колдойт.

Мезгил -мезгили менен үзгүлтүккө учурагандыктан, система 4кө чейин УЗИ датчиктерин көзөмөлдөй алат. Негизги код шартты жана босогону иштетүү үчүн кайсы сенсорду аныкташы керек.

Негизги функциялар:

  • Эскертүү - бул негизги тоскоолдуктарды аныктоо жана 4 сенсордун жок дегенде 1и босогонун астындагы аралыкты аныктаса, үзүлүүнү камсыз кылат
  • Монитор - бул 4 датчикке чейинки аралык шарттарынын айкалышында үзгүлтүктү камсыз кылган кеңейтилген функция. Мүмкүн болгон шарттар чектерге барабар, астында, барабар же барабар эмес.

3 -кадам: Техникалык маалымат

Таймерди колдонуңуз 4, ошондуктан пин 6 7 8 PWM катары колдонулбайт.

Ар бир сенсор үчүн объектиге триггер PIN жана үзүлүү ПИН керек.

Сенсорлордун үстүндө PIN -коддорду токтотуу үчүн, объект программалык камсыздоону колдонуу үчүн башка үзгүлтүккө учуратуучу ПИНге муктаж.

4 -кадам: Кантип ишке ашыруу керек?

Кантип ишке ашыруу керек?
Кантип ишке ашыруу керек?

Сенсорлорду жогорудагыдай туташтырыңыз

Бул GitHub репозиторийинен жүктөп алыңыз

  • EchoObstacleDetection.cpp,
  • EchoObstacleDetection.h
  • ExampleEchoObstacleDetection.ino

IDE китепканаңыздын ичинде EchoObstacleDetection каталогун түзүп,.cpp жана.h көчүрүңүз

Сыноо

Ачык ExampleEchoObstacleDetection.ino.

Бул 2 УЗИ сенсорлор менен иштеген жөнөкөй тоскоолдуктарды аныктоо мисалы.

Чыгаруу сериялык мониторго багытталган. Алгач ал 2 сенсор тарабынан аныкталган аралыктарды басып чыгарат, андан кийин босогодогу аралыктарга жараша эскертүүлөрдү басып чыгарат.

Сунушталууда: