Овај ХЦ-СР04 ултразвучни даљиномјер је побољшан сензором температуре ЛМ35.
Из школе се можете сетити да брзина звука зависи од густине ваздуха, а густина ваздуха зависи од температуре.
Израчунаћемо температуру помоћу ове формуле
темп2 = (темп / 1023,0) * 5,0 * 1000/10;
Где је темп2 готова вредност температуре по формули,
А где је темп сирова вредност сензора.
Шта нам треба:
- Ултразвучни даљиномјер ХЦ-СР04
- Ардуино
- Хлебна плоча
- Јумперс
- Тхермистор ЛМ35 (сензор температуре)
Имајте на уму да ХЦ-СР04 долази у два облика -
Ево ме добар и стабилно мјери дистанцу.
Обе мере су од 4 до 400 цм.
Поверед би 3.3 до 5 в
За почетак, све то исмијавамо на шанку.
Ултразвучни сензор:
- ГНД - гнд
- Ехо - 3 пина
- Триг - 2 пина
- Вцц - 5в
Термистор ЛМ35:
- 1 - 5в
- 2 - А0
- 3 - БНД
Требало би бити овако:
Затим попуњавамо скицу.
Преузмите библиотеку за ХЦ-СР04 сензор -
Скица за скидање -
#инцлуде <иардуино_ХЦ_СР04.х> // повежи библиотеку за рад са ултразвучним сензором ХЦ-СР04
иардуино_ХЦ_СР04 хцср (2,3); // означава контакте Триг и Ецхо
инт темп = 0; // температура сирове
флоат темп2 = 0; // спремна температура температуре
воид сетуп () {// покренути 1 пут
Сериал.бегин (9600); // покрените монитор порта
пинМоде (А0, УЛАЗ); // означи контакт А0 као улаз
}
воид петље () {// понавља се неограничен број пута
темп = аналогРеад (А0); // прочитајте вредност контакта А0 и доделите му променљиву темп
темп2 = (темп / 1023,0) * 5,0 * 1000/10; // израчунати сирову вредност према формули да би се добила готова вредност температуре
Сериал.принтлн (хцср.дистанце (темп2)); // напишите распон спремности у монитор монитора
кашњење (1000); // одлагање 1 секунду
}
А ево скица за ЛЦД екран-
Скица за скидање -
#инцлуде <иардуино_ХЦ_СР04.х> // повежи библиотеку за рад са ултразвучним сензором ХЦ-СР04
#инцлуде <ЛикуидЦристал_И2Ц.х> // повежи библиотеку да ради са дисплејом на И2Ц магистрали
ЛикуидЦристал_И2Ц лцд (0к27, 16, 2); // означити (адреса, колоне, линије)
иардуино_ХЦ_СР04 хцср (2,3); // означава контакте Триг и Ецхо
инт темп = 0; // температура сирове
флоат темп2 = 0; // спремна температура температуре
воид сетуп () {// покренути 1 пут
лцд.инит (); // иницијализација екрана
лцд.бацклигхт (); // укључите позадинско осветљење екрана
пинМоде (А0, УЛАЗ); // означи контакт А0 као улаз
}
воид петље () {// понавља се неограничен број пута
темп = аналогРеад (А0); // прочитајте вредност контакта А0 и доделите му променљиву темп
темп2 = (темп / 1023,0) * 5,0 * 1000/10; // израчунати сирову вредност према формули да би се добила готова вредност температуре
лцд.сетЦурсор (2, 0); // поставите курсор на 2 ступаца и 0 реда
лцд.принт (темп2); // писати удаљеност
лцд.сетЦурсор (5,0); // поставите курсор на 5. колону и 0. ред
лцд.принт ("цм"); // писати цм
кашњење (1000); // одлагање 1 секунду
}
Пишите коментаре и питања, ја ћу одговорити на све!