В този проект ще свържем ултразвуковия сензорен модул HC-SR04 с Raspberry Pi за измерване на разстоянието. Преди това използвахме ултразвуков сензор с Raspberry Pi за изграждане на робот, избягващ препятствия. Преди да продължите, уведомете за ултразвуковия сензор.
Ултразвуков сензор HC-SR04:
Ултразвуковият сензор се използва за измерване на разстоянието с висока точност и стабилни показания. Може да измерва разстояние от 2 см до 400 см или от 1 инч до 13 фута. Той излъчва ултразвукова вълна с честота 40KHz във въздуха и ако обектът попадне по пътя му, той ще отскочи до сензора. Използвайки времето, необходимо за удряне на обекта и връщане, можете да изчислите разстоянието.
Ултразвуковият сензор използва техника, наречена „ECHO“. “ECHO” е просто отразена звукова вълна. Ще получите ECHO, когато звукът се отразява обратно след достигане на задънена улица.
Модулът HCSR04 генерира звукови вибрации в ултразвуков диапазон, когато правим щифта "Trigger" висок за около 10us, който ще изпрати 8-цикличен звуков взрив със скоростта на звука и след като удари обекта, той ще бъде получен от щифта Echo. В зависимост от времето, необходимо на звуковите вибрации за връщане, той осигурява подходящ импулсен изход. Ако обектът е далеч, отнема повече време, за да бъде чут ECHO и широчината на изходния импулс ще бъде голяма. И ако препятствието е близо, тогава ECHO ще се чува по-бързо и широчината на изходния импулс ще бъде по-малка.
Можем да изчислим разстоянието на обекта въз основа на времето, необходимо на ултразвуковата вълна да се върне обратно към сензора. Тъй като времето и скоростта на звука са известни, можем да изчислим разстоянието по следните формули.
- Разстояние = (Време x Скорост на звука във въздуха (343 m / s)) / 2.
Стойността се разделя на две, тъй като вълната се движи напред и назад, покривайки едно и също разстояние.Така че времето за достигане на препятствие е само половината от общото време
Така Разстоянието в сантиметър = 17150 * T
Преди това направихме много полезни проекти, използвайки този ултразвуков сензор и Arduino, проверете ги по-долу:
- Измерване на разстояние на базата на Arduino с помощта на ултразвуков сензор
- Аларма за врата, използваща Arduino и ултразвуков сензор
- IOT базиран Dumpster мониторинг с помощта на Arduino
Необходими компоненти:
Тук използваме Raspberry Pi 2 Model B с OS Raspbian Jessie. Всички основни хардуерни и софтуерни изисквания са обсъдени по-рано, можете да ги потърсите във въведението на Raspberry Pi и мигащият индикатор Raspberry PI за начало, освен това, от което се нуждаем:
- Raspberry Pi с предварително инсталирана ОС
- HC-SR04 ултразвуков сензор
- Захранване (5v)
- 1KΩ резистор (3 броя)
- Кондензатор 1000uF
- 16 * 2 символен LCD
Обяснение на веригата:
Връзките между Raspberry Pi и LCD са дадени в таблицата по-долу:
LCD връзка |
Raspberry Pi връзка |
GND |
GND |
VCC |
+ 5V |
VEE |
GND |
RS |
GPIO17 |
R / W |
GND |
EN |
GPIO27 |
D0 |
GPIO24 |
D1 |
GPIO23 |
D2 |
GPIO18 |
D3 |
GPIO26 |
D4 |
GPIO5 |
D5 |
GPIO6 |
D6 |
GPIO13 |
D7 |
GPIO19 |
В тази схема използвахме 8-битова комуникация (D0-D7) за свързване на LCD с Raspberry Pi, но това не е задължително, можем да използваме и 4-битова комуникация (D4-D7), но с 4-битова програма за комуникация става малко комплекс за начинаещи, така че просто отидете с 8-битова комуникация. Тук сме свързали 10 щифта LCD към Raspberry Pi, в които 8 щифта са щифтове за данни и 2 щифта са контролни щифтове.
По-долу е дадена електрическата схема за свързване на сензор HC-SR04 и LCD с Raspberry Pi за измерване на разстоянието.
Както е показано на фигурата, ултразвуковият сензор HC-SR04 има четири щифта,
- PIN1- VCC или + 5V
- PIN2- TRIGGER (10us висок импулс, даден на сензора да усети разстоянието)
- PIN3- ECHO (Осигурява импулсен изход, чиято широчина представлява разстоянието след спусъка)
- ПИН4- ЗЕМЯ
Ехо щифтът осигурява изходен импулс + 5V, който не може да бъде свързан директно към Raspberry Pi. Така че ще използваме схема за разделяне на напрежението (изградена с помощта на R1 и R2), за да получим + 3.3V логика вместо + 5V логика.
Работно обяснение:
Пълната работа на Raspberry Pi Measure Measure върви като, 1. Задействане на сензора чрез издърпване на щифта на спусъка за 10uS.
2. Звуковата вълна се изпраща от сензора. След получаване на ECHO, сензорният модул осигурява изход, пропорционален на разстоянието.
3. Ще запишем времето, когато изходният импулс премине от НИСКО към ВИСОКО и кога отново, когато отиде от ВИСОКО до НИСКО.
4. Ще имаме време за стартиране и спиране. Ще използваме уравнение на разстоянието, за да изчислим разстоянието.
5. Разстоянието се показва на 16x2 LCD дисплей.
Съответно написахме програмата Python за Raspberry Pi, за да изпълнява следните функции:
1. За изпращане на спусъка към сензора
2. Запишете времето за стартиране и спиране на импулсния изход от сензора.
3. За да изчислите разстоянието, като използвате СТАРТ и СТОП време.
4. За показване на резултата, получен на LCD 16 * 2.
Пълната програма и демо видео са дадени по-долу. Програмата е добре обяснена чрез коментарите, ако имате някакви съмнения, можете да попитате в раздела за коментари по-долу.