У овом пројекту ћемо повезати ХЦ-СР04 ултразвучни сензорски модул са Распберри Пи да бисмо измерили удаљеност. Раније смо користили ултразвучни сензор са Распберри Пи за изградњу робота који избегава препреке. Пре него што наставите даље, обавестите нас о ултразвучном сензору.
ХЦ-СР04 ултразвучни сензор:
Ултразвучни сензор се користи за мерење удаљености великом тачношћу и стабилним очитавањем. Може да мери удаљеност од 2 цм до 400 цм или од 1 инча до 13 стопа. Емитује ултразвучни талас на фреквенцији од 40КХз у ваздуху и ако ће му се објект наићи, одскочиће до сензора. Користећи време потребно за ударање предмета и повратак, можете израчунати удаљеност.
Ултразвучни сензор користи технику која се назива „ЕЦХО“. „ЕЦХО“ је једноставно одбијени звучни талас. Имаћете ЕЦХО када се звук одбије након повратка у ћорсокак.
ХЦСР04 модул генерише звучне вибрације у ултразвучном опсегу када поставимо пин за окидање на око 10ус који ће послати звучни рафал од 8 циклуса брзином звука и након удара у објекат, примит ће га Ецхо пин. У зависности од времена које је звучној вибрацији потребно за повратак, он даје одговарајући импулсни излаз. Ако је објекат далеко, потребно је више времена да се ЕЦХО чује и ширина излазног импулса ће бити велика. А ако је препрека близу, тада ће се брже чути ЕЦХО и ширина излазног импулса ће бити мања.
Можемо израчунати удаљеност објекта на основу времена које је ултразвучном таласу требало да се врати натраг на сензор. Пошто су време и брзина звука познати, удаљеност можемо израчунати према следећим формулама.
- Удаљеност = (Време к Брзина звука у ваздуху (343 м / с)) / 2.
Вредност се дели са два јер талас путује напред и назад покривајући исту удаљеност. Тако је време за достизање препреке само половина укупног времена
Дакле, растојање у центиметру = 17150 * Т
Претходно смо направили много корисних пројеката користећи овај ултразвучни сензор и Ардуино, погледајте их у наставку:
- Мерење даљине засновано на Ардуину помоћу ултразвучног сензора
- Аларм на вратима користећи Ардуино и ултразвучни сензор
- Надгледање смећа на основу ИОТ-а користећи Ардуино
Компоненте потребне:
Овде користимо Распберри Пи 2 Модел Б са Распбиан Јессие ОС. Сви основни хардверски и софтверски захтеви су претходно разматрани, можете их потражити у Уводу Распберри Пи и Трепћући лампица Распберри ПИ за почетак, осим онога што нам треба:
- Распберри Пи са унапред инсталираним ОС-ом
- ХЦ-СР04 ултразвучни сензор
- Напајање (5в)
- Отпорник 1КΩ (3 комада)
- 1000уФ кондензатор
- ЛЦД са 16 * 2 карактера
Објашњење кола:
Везе између Распберри Пи и ЛЦД приказане су у доњој табели:
ЛЦД веза |
Распберри Пи веза |
ГНД |
ГНД |
ВЦЦ |
+ 5В |
ВЕЕ |
ГНД |
РС |
ГПИО17 |
Р / В |
ГНД |
ЕН |
ГПИО27 |
Д0 |
ГПИО24 |
Д1 |
ГПИО23 |
Д2 |
ГПИО18 |
Д3 |
ГПИО26 |
Д4 |
ГПИО5 |
Д5 |
ГПИО6 |
Д6 |
ГПИО13 |
Д7 |
ГПИО19 |
У овом колу смо користили 8-битну комуникацију (Д0-Д7) за повезивање ЛЦД-а са Распберри Пи-ом, међутим то није обавезно, можемо користити и 4-битну комуникацију (Д4-Д7), али са 4-битним комуникацијским програмом постаје мало комплекс за почетнике, па само идите на 8-битну комуникацију. Овде смо повезали 10 пинова ЛЦД-а на Распберри Пи у којима су 8 пинова пинови за податке и 2 пина су контролни пинови.
Испод је дијаграм кола за повезивање сензора ХЦ-СР04 и ЛЦД-а са Распберри Пи за мерење удаљености.
Као што је приказано на слици, ултразвучни сензор ХЦ-СР04 има четири пина,
- ПИН1- ВЦЦ или + 5В
- ПИН2- ТРИГГЕР (импулс од 10ус даје се сензору да осети удаљеност)
- ПИН3- ЕЦХО (пружа импулсни излаз чија ширина представља растојање након окидача)
- ПИН4- ЗЕМЉА
Ецхо пин пружа излазни импулс од + 5 В који се не може директно повезати са Распберри Пи. Дакле, користићемо круг делитеља напона (направљен помоћу Р1 и Р2) да бисмо добили + 3.3В логике уместо + 5В логике.
Објашњење:
Комплетни рад Распберри Пи Мера удаљености иде као, 1. Покретање сензора повлачењем игле окидача за 10 уС.
2. Звучни талас шаље сензор. Након пријема ЕЦХО, сензорски модул даје излаз пропорционалан удаљености.
3. Забележићемо време када излазни импулс пређе са НИСКОГ на ВИСОКО и када поново када пређе са ВИСОКОГ на НИСКО.
4. Имаћемо време за старт и заустављање. За израчунавање удаљености користићемо једначину растојања.
5. Удаљеност се приказује на ЛЦД дисплеју 16к2.
Сходно томе, написали смо Питхон програм за Распберри Пи да извршава следеће функције:
1. Да пошаље окидач сензору
2. Снимите време почетка и заустављања импулсног излаза са сензора.
3. Да бисте израчунали удаљеност помоћу времена СТАРТ и СТОП.
4. За приказ резултата добијених на ЛЦД-у 16 * 2.
Комплетни програм и демо видео су дати у наставку. Програм је добро објашњен кроз коментаре, а ако сумњате можете питати у одељку за коментаре испод.