Мазмұны:
- 1 -қадам: ПХД жасаңыз
- 2 -қадам: КӨП ҚАТЕЛІКТЕР
- 3 -қадам: СЕНСОРЛАРДЫ ОРНАТУ
- 4 -қадам: ҚАТТЫ Сым
- 5 -қадам: SONIC SKETCH ЖҮКТЕУ
- 6 -қадам: Байланыс
- 7 -қадам: ЖАБУ
Бейне: SONIC жарықдиодты кері байланыс: 7 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Тағы да сәлем, Сіздің робот барлық нәрсеге тап болғанын жек көресіз бе? Бұл бұл мәселені шешеді. 8 дыбыстық сенсормен бұл күрделі көрінеді … бірақ мен мұны өте оңай жасадым. Мен сізге Arduino туралы білуге және «қораптан тыс» тұжырымдамасын көрсетуге көмектесетін жобаларды жариялауға тырысамын. Бұл хабарлама 595 коммутациясын, бағдарламаланатын сенсор ретінде мини-бағдарламаларды және нақты уақыттағы кері байланысты тиімді пайдалануды түсінуге көмектеседі. Егер сізге Arduino-ны «көшіру және қою және қосу» ретінде ұнатсаңыз, оны өткізіп жіберуге болады.
Мини-миниді қолданғанды ұнатамын. Олар шамамен $ 2,50 құрайды, толық жұмыс істейді, ал тақырыптарды орнату оларды өте икемді етеді. Сенсорлық микро ретінде сіз сатып алынған сенсордың орнына «қалағаныңызды жасай аласыз». I2C көмегімен тек 2 сымды қолдана отырып, оларды бір желіге байлауға болады. Сонымен, MEGA -ға өтіңіз, менде 4 бөлек код бар, олардың әрқайсысы 10,00 доллар. Мұнда мен 595 арқылы дыбыстық сенсорларды шығарып, нақты уақыттағы қашықтықты көрсету үшін мини қолданамын. Содан кейін аналық платамен 8 бит деректерді бөлісіңіз. Бұл жүктемені аналық платадан алып тастайды және оның кодын өте қарапайым етеді.
Дыбыстық датчиктерде ақау бар … визуалды кері байланыс жоқ. Сенсордың өлі салмақ немесе жұмыс істейтінін ешқашан білмейсіз! Менің ойымша, 'BLINK' ойлап тапқан адам Эйнстиннен ақылды. Бір ғана жетекші және ақпарат әлемі жыпылықтайды. Сондықтан дыбыстық сенсорға нақты уақыттағы кері байланыс қажет. Мұнда мен әр сенсорды бақылау үшін бірнеше диодты қолдандым. Олар сізге қажет емес, сенсорларды светодиодсыз жасаңыз. ПХД -да жарықдиодты орнату пайдалы.
1 -қадам: ПХД жасаңыз
ПХД жасаңыз және толтырыңыз. НАЗАР АУДАРЫҢЫЗ … Мен дыбыстық сенсорларды қосу үшін 4 істікшелі қосылымда ПХД -де қате жібердім. ECHO мен TRIGGER Vcc және негіздер компьютерге қосылатын болды. Қосқыштар үшін орын жеткіліксіз, сондықтан мен ПХД-ны түйреуіштермен жасадым. Осылайша сіз сымды қосқышты ПХД -ге дәнекерлеп, нақты дыбыстық датчиктерге қосуға болады. Светодиодтарға келсек, мен ішкі жиегіне сары, ал қызыл жағын сыртқы жағына қоямын. бұл сенсорлар дұрыс өлшенетінін қашықтықтан көруге көмектеседі.
Бұл мен жасаған FEW 2side компьютерлерінің бірі. Мен екі жақтан бір жақ жасап, секіргішпен жүгіргенді жөн көрдім. Бірақ жарықдиодты дисплейді алу үшін сізге кем дегенде жоғарғы компьютер қажет. Мен жүктеуде орналасуды бөлдім.
ПХД A4-A5 шеткі колонканың ішінде про-мини үшін арналған. Қалай болғанда да, A4-A5-ті Master A4-A5-ке қосыңыз. Vcc пен Grounds туралы ұмытпаңыз.
2 -қадам: КӨП ҚАТЕЛІКТЕР
Енді менің қателіктерім үшін … Мен триггерлерді бірден шығаруға тырыстым (барлығы бір -біріне байланған) және бұл жақсы жұмыс істеді, бірақ кейбір өзара әрекеттесу орын алды. Енді барлық ECHOS микрофонға (8) өтеді, ал триггерлер 595 арқылы орнатылады. Тағы үш түйреуіш (3). Жарықдиодты болсақ, мультиплекстеу жұмыс істемейді. Сізге әрбір сым үшін толық қосылу уақыты қажет. Бұл 7 ледтің әр жолында өзіндік 595 болуы керек дегенді білдіреді. 595 жаңартылғаннан кейін жарық диодтары келесі жаңартуға дейін жанып тұрады. Мұнда мультиплекстеу тек он секундқа ғана жарық береді. Бұл менің оқырмандарымда жақсы жұмыс істейді және оған арнайы микро қажет. 8 дыбыстық сенсорды сканерлеуге және қашықтықты өлшеуге уақыт жоқ. Мен тырыстым және өте нашар нәтиже алдым. Жарықдиодты мультиплекстеу сонымен қатар жол + бағанының торын білдіреді, бұл ПХД -де шамамен 64+ беруді білдіреді.
Мен ПХД -дағы тәртіпсіздікке байланысты 595 -тен тек 7 шығыс қолдандым. Алыста сіз олардың қозғалысы 7 немесе 8 жарық диодты екенін ажырата алмайсыз. Сіз барлық светодиодтарды бір резисторға байлауды қалауыңыз мүмкін және бұл жұмыс істейді, бірақ жарық диодты шамдардың мөлшеріне байланысты массивтің жарықтығы өзгереді. Сондықтан бір сымға бір резистор жақсы. Мен тек 595-ті жақсы көремін, бірақ егер олар Vcc пен 0-шығатын түйреуіштерді жылжытса немесе сол жақта БАРЛЫҚ шығысы бар 18 істікшелі ic жасаса … барлық сегіз шығуды қосу оңай болар еді. Бірақ ол 30 центтен төмен сатылмайды.
3 -қадам: СЕНСОРЛАРДЫ ОРНАТУ
Кофе қақпағына дыбыстық сенсорларды жабыстырыңыз. еркек ұясы әр сенсорға ішке қарай бүгілуі керек. Егер сіз бір түйреуішті бір уақытта бүгсеңіз, бұл жақсы жұмыс істейді. Мен діріл аз болу үшін 2 бүйірлік көбік таспасын қолдандым. Менің сенсорлар тым жақын және олар ПХД -ге жақсы сәйкес келу үшін 1/4 дюймдік кеңістікті қажет етеді. Мен дыбыстық сенсорларды бұрын қолданғанмын, кейде дәл өлшеуге болмайды, сондықтан сіз мұны есте ұстауыңыз керек. Сондықтан олардың барлығын біржола жабыстырмаңыз.
Бұл сондай -ақ оларды қолданар алдында әрқайсысында жылдам қашықтықты тексеруге көмектеседі. Мен 20 партияда нашар оқитын бір сенсорды аламын. Мен төлеген баға үшін жаман емес.
4 -қадам: ҚАТТЫ Сым
Мен ДК -ден розеткалар мен штепсельдерге орын болады деп ойладым
дыбыстық түйреуіштер, бірақ мен бөлмеден шығып кеттім. Мен компьютердің ұшын қатты сыммен байланыстырдым және жаңғырық пен триггерлік сымдарды әйел ұяларымен жасадым (8ea). Мен сенсорлардың 8ea Vcc және 8ea негіздерін бір -бірімен байланыстырдым, осылайша олар ПХД -ге тек 2 қосылым жасады.
8 датчиктер мен 8 595s көмегімен біркелкі немесе мини-прокси оны қуаттандыра алмайды. Бұл жоба аясында 5В реттелетін көзі болуы керек. Менің роботымда батареялардан қарапайым 7805 @ 1amp бар. Бұл барлық құрылғылар үшін барлық 5 вольтты желілермен байланысады. 7805 вольт шамасында төмендейді, сондықтан оны беру үшін сізге кемінде 6,5 вольт қажет. Бұл 3,3В кернеудегі 2 литий батареясы. Менің роботымда ескі никадалар қолданылған бұрғылау пакеттерінен тұрады, ал 8 никадтар 20 долларлық танк түріндегі шассиде Қытайдың 12 ватттық моторымен жұмыс істейді.
5 -қадам: SONIC SKETCH ЖҮКТЕУ
Эскизді жүктеп, орнатыңыз. Сөйлесудің көптеген жолдары бар
басқа уно, бірақ маған I2c ұнайды. шатасу - бұл адресат және қожайын/ құл. Көптеген сенсорлардағыдай (2 -ші миниді сенсор деп есептеңіз) сіз сенсорға жүгінесіз және x байт мөлшерін сұрайсыз. мұнда бір нәрсе. 2 -ші мини -де сіз жібергіңіз келетін x байт мөлшерін бөлесіз. Жаңылтпаш - есімдер маңызды емес. Бұл есімдерді бөліссеңіз ғана есте сақтауға көмектеседі. Мен эскизде 8 дыбыстық қашықтықты см арқылы жіберемін sendR1, sendR2, sendR3, sendR4, sendL1, sendL2, sendL3, sendL4. Мастер 8 байт алады, егер деректер болса және сіз бұл байттарға қалаған нәрсені шақырсаңыз болады. Мен оларды gotR1, gotR2, got деп оқыдым …. Байттардың жіберілген тәртібі бірдей. A, B, C байттары…. атауды өзгерту сізге басқа деректер береді деп ойламаңыз. Ал басқа аулау, сіз тек жіберілетіні туралы мәліметтерді ала аласыз. Егер сіз басқа деректерді алғыңыз келсе, екеуін де мастер мен құлды өзгертуіңіз керек.
6 -қадам: Байланыс
Егер сіз 2 Uno -ны бір -бірімен сөйлесу үшін қалай орнатуды білсеңіз, мұны өткізіп жіберуге болады. Ақырында менде бірнеше ақпарат бар. Жеңілдету үшін мен M1 робот базасындағы бірлік пен дыбыстық сенсорды S2 деп атаймын. Vcc, жерге, A4, A5 бір -біріне қосыңыз.
S2 эскизінде #include деп басталады
Содан кейін жіберілетін 8 байтты жасаңыз. байт R1, байт R2, байт L1 т.б. Uno - бұл 8 биттік микро, сондықтан олар 1 байтты 'int' орнына 'байт' арқылы жібереді.
'Setup ()' бөліміне 'Wire.begin (мекен -жайы)' қосыңыз, бұл I2c -ге бұл қай құрылғы екенін көрсетеді. Мекенжай әдетте сізге ұнайтын кез келген нөмір - 4 - 200. бір байт өлшемі. Бұл жерде мен 10 нөмірін қолдандым. Сондықтан S2 сенсорымен сөйлесу үшін шебер Wire.requestFrom (10, 8) телефон шалуы керек. Бұл 10 адрес және 8 - қанша байт қажет. Сондай -ақ, 'setup ()' бөліміне Wire.onRequest (isr anyName) қосыңыз. M1 сұрауды шақырған кезде S2 сенсоры үзіліспен әрекет етеді. Бұл функцияны anyName деп атайды. Сондықтан бұл anyName функциясын жасау қажет. Эскизге қараңыз және 'sendThis ()' функциясын қараңыз, бұл жерде байттар M1 -ге жіберіледі. Байттар тек қана жіберіледі және атауларды жібермейді. Дәл осы жерден жіберілетін деректердің көлемі мен көлемі басталады. Бұл байт форматында жіберу мен алу сәйкес болуы керек. Мұнда 8 байт жіберілді және 8 байт алынды. Бұл жерде бір ескерту функцияны шақырады (). Delay (), millis (), Serial.print () сияқты. ISR (үзіліс қызметі) қолданылғанда, функция шақырылады (). Сондықтан Wire.onRequest (sendThis) емес, Wire.onRequest (sendThis ()).
Мендегі шатасу - бұл қожайын/құлдық нәрсе. Бастапқыда мен қожайын ӘРҚАШАН шебер деп ойладым. Бірақ эскизде сіз master/slave -ді басқа микродан сұрауға немесе басқа микроға жіберуге ауыстыра аласыз. Егер сіз жоғарыда көрсетілген негізгі форматты ұстанатын болсаңыз. Есіңізде болсын … сіз тек берілген деректерді бөлісесіз.
Қабырғаға жабысқан екеу. ISR үзілуі тек эскиз сызықтары арасында үзіледі. Егер сіз 'while немесе for' циклінде құлыпталсаңыз, цикл шыққанға дейін ештеңе болмайды. Ешқандай маңызды емес, себебі бұл бірнеше микросекунд болуы мүмкін және деректер ескі.
Басқа мәселе - микро ішінде «100% қатесіз есептеу». Кез келген «сыртқы» (сымдар) байланыс қателіктерге ұшырайды. Жеткізілген деректердің қатесіз және көзге сәйкес келетінін тексерудің көптеген әдістері бар. Ең оңай жолы - бақылау сомасы. Жіберуші байттардың жиынтығын (нақты мәндер) қосыңыз және қорытындыларды жіберіңіз, ал қабылдау соңында қорытындыларды қосыңыз және олардың сәйкес келетінін қараңыз. Егер олар сәйкес келсе немесе деректер жиынтығын лақтырмаса. Әрине, бұл байт емес, бүтін санды жіберуді қамтиды. Осылайша сіз бүтін санды HI байтқа және LO байтқа бөліп, бөлек байт ретінде жібересіз. Содан кейін ресиверге қосыңыз.
ОҢАЙ:
int x = 5696; (кез келген жарамды int мәні, максимум 65к немесе 32к теріс)
байт hi = x >> 8; (22)
байт lo = x; (64)
байт жіберіңіз және басқа жағынан біріктіріңіз ….
байт сәлем = Wire.read ();
байт lo = Wire.read ();
int newx = (сәлем << 8) + ло; (5696)
7 -қадам: ЖАБУ
Жабу үшін бұл дыбыстық сенсор аналық платаға нақты уақыт режимінде бастапқы қашықтық туралы деректерді береді. Бұл микроды босатады және эскизді әлдеқайда күрделі етеді. Микро енді кездейсоқ болжамдардың орнына жақсы мәліметтерге сүйене отырып, баяулау, бұру, тоқтату немесе кері айналдыру туралы жақсы шешім қабылдай алады. Эскизді сымсыз жүктеу үшін және сіздің эскизіңізді тез өзгерту үшін роботты үнемі қосуға болатын bluetooth IDE туралы басқа жазбаны қараңыз. Осыны көргеніңіз үшін рахмет. Oldmaninsc.
Ұсынылған:
Жабық кері байланыс алу үшін сервисті қалай өзгертуге болады: 7 қадам
Кері байланыс алу үшін сервисті қалай өзгерту керек: ► Микроконтроллермен серуендеу кезінде (Arduino сияқты), сіз оған тек мақсатты орналасу бойынша тапсырыс бере аласыз (PPM сигналында). орналасуы. Бірақ бұл бірден емес! Сіз қашан екенін білмейсіз
Топырақтың ылғалдылығы бойынша кері байланыс бақыланатын Интернетке қосылған тамшылатып суару жүйесі (ESP32 және Blynk): 5 қадам
Топырақтың ылғалдылығы туралы кері байланыс бақыланатын Интернетке қосылған тамшылатып суару жүйесі (ESP32 және Blynk): Ұзақ демалыстарға шыққанда өз бақшаңызға немесе өсімдіктеріңізге алаңдаңыз, немесе зауытты күнделікті суаруды ұмытпаңыз. Міне шешім - бұл топырақтың ылғалдылығын бақылайтын және жаһандық байланыстырылған тамшылатып суару жүйесі, бағдарламалық қамтамасыз етудің алдыңғы жағында ESP32 басқарады
Микроскоптарға арналған жарықдиодты жарықдиодты жарықдиодты жарықдиодты тақта!: 6 қадам (суреттермен)
Микроскоптар үшін DIY жарықдиодты жарықдиодты PCB! Мен электрониканы қолдануға арналған екінші микроскопты сатып алдым және сіз
Solderdoodle Plus: сенсорлық басқарылатын дәнекерлеуші, жарық диодты кері байланыс, 3D басып шығарылған корпус және зарядталатын USB: 5 қадам (суреттермен)
Solderdoodle Plus: сенсорлық басқару, светодиодты кері байланыс, 3D басып шығарылған корпус және USB қайта зарядталатын дәнекерлеуші: төмендегі батырманы басыңыз, Koldstarter жобасы бойынша Solderdoodle Plus, USB сымсыз қайта зарядталатын ыстық мульти құралы және өндіріс моделіне алдын ала тапсырыс беріңіз! Https: //www.kickstarter.com/projects/249225636/solderdoodle-plus-cordless-usb-rechargeable-ho
ИҚ негізіндегі тахометрден кері байланыс жүйесін қолданатын қозғалтқыштың айналу жиілігін автономды басқару: 5 қадам (суреттермен)
ИҚ негізіндегі тахометрден кері байланыс жүйесін қолданатын қозғалтқыштың айналу жиілігін дербес басқару: процесті автоматтандырудың қажеттілігі әрқашан болады, мейлі ол қарапайым/сұмдық. Мен бұл жобаны өзім тапқан кезде кездескен қарапайым қиындықтан алдым. Біздің шағын жерді суару/суару әдістері. Ағымдағы жеткізу желісінің жоқтығы