Ուլտրաձայնային հետազոտությունների միջոցով հայտնաբերեք խոչընդոտները `4 քայլ
Ուլտրաձայնային հետազոտությունների միջոցով հայտնաբերեք խոչընդոտները `4 քայլ
Anonim
Բացահայտեք խոչընդոտները ուլտրաձայնային հետազոտությունների միջոցով
Բացահայտեք խոչընդոտները ուլտրաձայնային հետազոտությունների միջոցով

Ես զվարճանքի համար կառուցում եմ ռոբոտ, որը ցանկանում եմ ինքնուրույն տեղաշարժվել տան ներսում:

Դա երկար աշխատանք է, և ես քայլ առ քայլ անում եմ:

Այս ուսանելի ուշադրությունը կենտրոնացնում է խոչընդոտների հայտնաբերմանը Arduino Mega- ի հետ:

HC-SR04 և HY-SRF05 ուլտրաձայնային տվիչները էժան և պարզ են օգտագործման համար, բայց բարդ ռոբոտի մեջ միկրոկոնտրոլերի օղակում ինտեգրվելը կարող է դժվարանալ: Ես ցանկանում էի խոչընդոտների հայտնաբերումը կատարել ասինխրոն եղանակով:

_

Ես արդեն 3 հրահանգ եմ հրապարակել այս ռոբոտի առանձնահատկությունների վերաբերյալ.

  • Կատարեք ձեր անիվի կոդավորիչը
  • Ստեղծեք ձեր WIFI դարպասը
  • Օգտագործեք իներցիոն մոդուլի միավոր

Եվ ռոբոտին տեղայնացնելու համար արհեստական բանականության և ուլտրաձայնային հետազոտությունների համատեղման վերաբերյալ փաստաթղթեր:

Քայլ 1. Ո՞րն է ճշգրիտ խնդիրը ուլտրաձայնային տվիչների և միկրոկոնտրոլերների հետ:

Ո՞րն է ճշգրիտ խնդիրը ուլտրաձայնային տվիչների և միկրոկոնտրոլերների հետ
Ո՞րն է ճշգրիտ խնդիրը ուլտրաձայնային տվիչների և միկրոկոնտրոլերների հետ
Ո՞րն է ճշգրիտ խնդիրը ուլտրաձայնային տվիչների և միկրոկոնտրոլերների հետ
Ո՞րն է ճշգրիտ խնդիրը ուլտրաձայնային տվիչների և միկրոկոնտրոլերների հետ

Սինխրոն սպասման և Arduino- ի սահմանափակումներ

Միկրոկոնտրերլերների ծածկագիրը գործում է հանգույցով և չի աջակցում բազմաթել: Ուլտրաձայնային տվիչները հիմնված են ազդանշանի տևողության վրա: Այս տևողությունը տևում է մինչև 30 մ վրկ, ինչը շատ երկար է սպասել օղակի ներսում, երբ միկրոկոնտրոլերները պետք է գործ ունենան բազմաթիվ շարժիչների և տվիչների հետ (օրինակ ՝ անիվների կոդավորիչներով servo և DC շարժիչներ):

Այսպիսով, ես ուզում էի զարգացնել մի օբյեկտ, որն աշխատում է ասինքրոն կերպով:

Քայլ 2: Ինչպե՞ս է այն աշխատում:

Ինչպես է դա աշխատում ?
Ինչպես է դա աշխատում ?

Այն նախատեսված է Atmega- ի համար խոչընդոտների հայտնաբերման համար: Այն աջակցում է մինչև 4 ուլտրաձայնային տվիչ:

Պարբերաբար ընդհատման շնորհիվ համակարգը կարող է վերահսկել մինչև 4 ուլտրաձայնային տվիչ: Հիմնական ծածկագիրը պետք է միայն սահմանի, թե որ սենսորն ակտիվացնի պայմանով և շեմով: Հիմնական կամքը ընդհատվում է միայն այն դեպքում, երբ (պայման, շեմ) հայտնվում է:

Հիմնական գործառույթներն են

  • Ահազանգը հիմնական խոչընդոտների հայտնաբերումն է և ապահովում է ընդհատում, եթե 4 սենսորներից առնվազն 1 -ը հայտնաբերի հեռավորությունը իր շեմի տակ
  • Մոնիտորը ընդլայնված գործառույթ է, որն ապահովում է ընդմիջում մինչև 4 սենսորների հեռավորության վիճակի համադրությամբ: Հնարավոր պայմաններն անցել են, ցածր են, հավասար են կամ հավասար չեն շեմերին:

Քայլ 3: Տեխնիկական մանրամասներ

Օգտագործեք ժամանակաչափ 4 այնպես որ 6 6 8 8 -ի կապը չի կարող օգտագործվել որպես PWM:

Յուրաքանչյուր սենսորի համար օբյեկտին անհրաժեշտ է ձգան PIN և ընդհատվող PIN կոդ:

Սենսորների ընդհատման PIN- ների վրա օբյեկտին անհրաժեշտ է այլ ընդհատող PIN կոդ `ծրագրային ապահովման օգտագործման համար:

Քայլ 4: Ինչպե՞ս իրականացնել:

Ինչպե՞ս իրականացնել
Ինչպե՞ս իրականացնել

Միացրեք սենսորները, ինչպես վերևում

Ներբեռնեք այս GitHub պահոցից

  • EchoObstacleDetection.cpp,
  • EchoObstacleDetection.h
  • Օրինակ ՝ EchoObstacleDetection.ino

Ստեղծեք EchoObstacleDetection գրացուցակը ձեր IDE գրադարանի ներսում և տեղափոխեք.cpp և.h

Փորձարկեք այն

Բացեք ExampleEchoObstacleDetection.ino- ն:

Սա խոչընդոտների հայտնաբերման պարզ օրինակ է, որը գործում է 2 ուլտրաձայնային տվիչներով:

Ելքը ուղղված է սերիական մոնիտորի վրա: Սկզբում այն տպելու է 2 սենսորների կողմից հայտնաբերված հեռավորությունները, այնուհետև ազդանշաններ է տպելու ՝ կախված շեմերի տակ եղած հեռավորություններից:

Խորհուրդ ենք տալիս: