{"id":59185,"date":"2023-04-22T00:09:19","date_gmt":"2023-04-22T05:09:19","guid":{"rendered":"https:\/\/www.bjultrasonic.com\/how-to-make-ultrasonic-sensor\/"},"modified":"2025-01-27T06:48:36","modified_gmt":"2025-01-27T11:48:36","slug":"how-to-make-ultrasonic-sensor","status":"publish","type":"post","link":"https:\/\/www.bjultrasonic.com\/pl\/how-to-make-ultrasonic-sensor\/","title":{"rendered":"Ultrad\u017awi\u0119kowy czujnik odleg\u0142o\u015bci: projekt i budowa"},"content":{"rendered":"<p>Ultrad\u017awi\u0119kowy czujnik odleg\u0142o\u015bci to urz\u0105dzenie, kt\u00f3re mierzy odleg\u0142o\u015b\u0107 do obiektu za pomoc\u0105 fal ultrad\u017awi\u0119kowych.  Zasada dzia\u0142ania opiera si\u0119 na emisji fali d\u017awi\u0119kowej o cz\u0119stotliwo\u015bci przekraczaj\u0105cej zakres s\u0142yszalno\u015bci ludzkiego ucha (powy\u017cej 20 kHz) i pomiarze czasu potrzebnego na powr\u00f3t echa odbitego od przeszkody.  Ten artyku\u0142 omawia krok po kroku, jak stworzy\u0107 taki czujnik.<\/p>\n<h3>Podstawy dzia\u0142ania czujnika ultrad\u017awi\u0119kowego<\/h3>\n<p>Czujnik ultrad\u017awi\u0119kowy sk\u0142ada si\u0119 z dw\u00f3ch g\u0142\u00f3wnych element\u00f3w: nadajnika i odbiornika. Nadajnik generuje impuls ultrad\u017awi\u0119kowy, kt\u00f3ry rozchodzi si\u0119 w przestrzeni.  Gdy fala napotka przeszkod\u0119, cz\u0119\u015b\u0107 energii fali odbija si\u0119 i wraca do czujnika, gdzie jest rejestrowana przez odbiornik.  Czas, jaki up\u0142yn\u0105\u0142 mi\u0119dzy wys\u0142aniem impulsu a odebraniem echa, jest proporcjonalny do odleg\u0142o\u015bci do obiektu.  Pr\u0119dko\u015b\u0107 d\u017awi\u0119ku w powietrzu jest znana, wi\u0119c po zmierzeniu czasu, mo\u017cna obliczy\u0107 odleg\u0142o\u015b\u0107.  Kluczowym parametrem jest precyzja pomiaru czasu, co wp\u0142ywa bezpo\u015brednio na dok\u0142adno\u015b\u0107 pomiaru odleg\u0142o\u015bci.<\/p>\n<h3>Wyb\u00f3r komponent\u00f3w<\/h3>\n<p>Do budowy prostego czujnika ultrad\u017awi\u0119kowego potrzebujemy kilku kluczowych komponent\u00f3w:<\/p>\n<table class=\"table table-striped table-bordered\">\n<thead>\n<tr>\n<th>Komponent<\/th>\n<th>Opis<\/th>\n<th>Zalecenia<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Transducer ultrad\u017awi\u0119kowy (nadajnik\/odbiornik)<\/td>\n<td>Element generuj\u0105cy i odbieraj\u0105cy fale ultrad\u017awi\u0119kowe.<\/td>\n<td>Szeroka dost\u0119pno\u015b\u0107, np. modele 40kHz.<\/td>\n<\/tr>\n<tr>\n<td>Mikrocontroller<\/td>\n<td>Jednostka steruj\u0105ca, przetwarzaj\u0105ca sygna\u0142 i wykonuj\u0105ca obliczenia.<\/td>\n<td>Arduino Uno, ESP32, lub podobne.<\/td>\n<\/tr>\n<tr>\n<td>Zasilacz<\/td>\n<td>Zapewnia zasilanie dla mikroprocesora i transducer.<\/td>\n<td>5V, stabilne napi\u0119cie.<\/td>\n<\/tr>\n<tr>\n<td>Okablowanie<\/td>\n<td>Do po\u0142\u0105czenia wszystkich komponent\u00f3w.<\/td>\n<td>Druty o odpowiedniej grubo\u015bci.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Schemat po\u0142\u0105cze\u0144 i kod programu<\/h3>\n<p>Po\u0142\u0105czenie komponent\u00f3w jest stosunkowo proste.  Transducer ultrad\u017awi\u0119kowy wymaga pod\u0142\u0105czenia do pin\u00f3w  mikroprocesora odpowiedzialnych za generowanie sygna\u0142u (TRIGGER) i odbi\u00f3r echa (ECHO).  Zasilacz pod\u0142\u0105czamy do mikroprocesora.  Poni\u017cej przyk\u0142adowy kod dla Arduino Uno (nale\u017cy dostosowa\u0107 do wybranego mikrokontrolera):<\/p>\n<pre><code class=\"language-c++\">\/\/ definiujemy piny\nconst int trigPin = 9;\nconst int echoPin = 10;\n\nvoid setup() {\n  pinMode(trigPin, OUTPUT); \/\/ pin TRIGGER jako wyj\u015bcie\n  pinMode(echoPin, INPUT);  \/\/ pin ECHO jako wej\u015bcie\n  Serial.begin(9600);      \/\/ inicjalizacja komunikacji szeregowej\n}\n\nvoid loop() {\n  \/\/ wysy\u0142amy impuls\n  digitalWrite(trigPin, LOW);\n  delayMicroseconds(2);\n  digitalWrite(trigPin, HIGH);\n  delayMicroseconds(10);\n  digitalWrite(trigPin, LOW);\n\n  \/\/ mierzymy czas trwania echa\n  long duration = pulseIn(echoPin, HIGH);\n\n  \/\/ obliczamy odleg\u0142o\u015b\u0107\n  float distance = duration * 0.034 \/ 2;\n\n  \/\/ wy\u015bwietlamy wynik\n  Serial.print(\"Odleg\u0142o\u015b\u0107: \");\n  Serial.print(distance);\n  Serial.println(\" cm\");\n  delay(100);\n}<\/code><\/pre>\n<h3>Kalibracja i testowanie<\/h3>\n<p>Po zbudowaniu czujnika niezb\u0119dna jest kalibracja.  Dok\u0142adno\u015b\u0107 pomiaru mo\u017ce by\u0107 zale\u017cna od warunk\u00f3w otoczenia (temperatura, wilgotno\u015b\u0107) oraz charakterystyki zastosowanego transducer\u2019a.  Zaleca si\u0119 przeprowadzenie pomiar\u00f3w kontrolnych z wykorzystaniem znanych odleg\u0142o\u015bci, aby zweryfikowa\u0107 poprawno\u015b\u0107 oblicze\u0144 i ewentualnie skorygowa\u0107 kod programu. Nale\u017cy r\u00f3wnie\u017c pami\u0119ta\u0107 o potencjalnych zak\u0142\u00f3ceniach, kt\u00f3re mog\u0105 wp\u0142ywa\u0107 na pomiar, na przyk\u0142ad odbicia od wielu powierzchni.<\/p>\n<h3>Rozbudowa i zastosowania<\/h3>\n<p>Prosty czujnik ultrad\u017awi\u0119kowy mo\u017ce by\u0107 rozbudowany o dodatkowe funkcje, takie jak wy\u015bwietlanie wynik\u00f3w na LCD,  zapis danych do pami\u0119ci, czy integracja z innymi systemami.  Zastosowanie takich czujnik\u00f3w jest szerokie, od robotyki i automatyki, przez systemy parkowania, a\u017c po monitoring poziomu cieczy.<\/p>\n<p>Podsumowuj\u0105c, budowa w\u0142asnego czujnika ultrad\u017awi\u0119kowego jest zadaniem stosunkowo prostym, wymagaj\u0105cym podstawowej wiedzy z elektroniki i programowania.  Pozwala to na g\u0142\u0119bsze zrozumienie dzia\u0142ania tych urz\u0105dze\u0144 i daje mo\u017cliwo\u015b\u0107 ich dostosowania do indywidualnych potrzeb.  Pami\u0119tajmy o dok\u0142adnej kalibracji dla uzyskania optymalnej precyzji pomiar\u00f3w.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ultrad\u017awi\u0119kowy czujnik odleg\u0142o\u015bci to urz\u0105dzenie, kt\u00f3re mierzy odleg\u0142o\u015b\u0107 do obiektu za pomoc\u0105 fal ultrad\u017awi\u0119kowych. Zasada dzia\u0142ania opiera si\u0119 na emisji fali d\u017awi\u0119kowej o cz\u0119stotliwo\u015bci przekraczaj\u0105cej zakres s\u0142yszalno\u015bci ludzkiego ucha (powy\u017cej 20 kHz) i pomiarze czasu potrzebnego na powr\u00f3t echa odbitego od przeszkody. Ten artyku\u0142 omawia krok po kroku, jak stworzy\u0107 taki czujnik. Podstawy dzia\u0142ania czujnika<\/p>\n","protected":false},"author":1,"featured_media":26465,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6426],"tags":[],"class_list":["post-59185","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","prodpage-classic"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.bjultrasonic.com\/pl\/wp-json\/wp\/v2\/posts\/59185","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bjultrasonic.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bjultrasonic.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bjultrasonic.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bjultrasonic.com\/pl\/wp-json\/wp\/v2\/comments?post=59185"}],"version-history":[{"count":0,"href":"https:\/\/www.bjultrasonic.com\/pl\/wp-json\/wp\/v2\/posts\/59185\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bjultrasonic.com\/pl\/wp-json\/wp\/v2\/media\/26465"}],"wp:attachment":[{"href":"https:\/\/www.bjultrasonic.com\/pl\/wp-json\/wp\/v2\/media?parent=59185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bjultrasonic.com\/pl\/wp-json\/wp\/v2\/categories?post=59185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bjultrasonic.com\/pl\/wp-json\/wp\/v2\/tags?post=59185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}