[ARDUINO] Oko Cyklopa – ultradźwiękowy „radar” do lokalizacji obiektów
List. 4. Fragment programu sortujący wyniki pomiaru
if(A<=B)
{
if(A<=C)
{
A;
}
else
{
C;
}
}
else
{
if(B<=C)
{
B;
}
}
Podczas analizy schematu napotkałem kluczowy problem. Pierwotnie urządzenie miało być zasilane z wykorzystaniem stabilizatora napięcia zamontowanego na płytce startowej Arduino Leonardo. Jednak wykorzystany w projekcie silnik serwo potrzebował większej mocy niż mógł dostarczyć stabilizatora. Powodowało to znaczne spadki napięcia w układzie, co skutkowało zerowaniem się mikrokontrolera. Aby zabezpieczyć układ przed spadkami napięcia, wykorzystałem układ zasilający step-down, który stał się równoległym źródłem napięcia dla silnika serwo oraz Arduino. Na rysunku 4 znajduje się ostateczny schemat urządzenia.
Rys. 4. Schemat elektryczny finalnego urządzenia
Pamiętając o estetycznym programowaniu zostały przygotowane bloki funkcyjne realizujące główne zadania. Pierwszy realizuje pobranie oraz analizę danych z czujników ultradźwiękowych (listing 5 i listing 6), natomiast drugi blok główny kieruje pracą serwomechanizmu (listing 7).
List. 5. Fragment programu odpowiedzialny za pomiar odległości
void pomiar_odleglosci ()
{
// impuls 10 uS inicjalizujacy - patrz dokumentacja
digitalWrite(TX1, HIGH);
delayMicroseconds(10);
digitalWrite(TX1, LOW);
TIME1 = pulseIn(RX1, HIGH);
digitalWrite(TX2, HIGH);
delayMicroseconds(10);
digitalWrite(TX2, LOW);
TIME2 = pulseIn(RX2, HIGH);
digitalWrite(TX3, HIGH);
delayMicroseconds(10);
digitalWrite(TX3, LOW);
TIME3 = pulseIn(RX3, HIGH);
}
List. 6. Fragment programu sortujący wartości odczytane przez czujniki
if(TIME1<=TIME2)
{
if (TIME1<=TIME3)
{
dx=5;
}
else
{
dx=15;
}
}
else
{
if(TIME2<=TIME3)
{
dx=-15;
}
}
List. 7. Pętla główna programu
void loop()
{
pomiar_odleglosci();
// szerokość odbitego impulsu w uS podzielone przez
// 58 to odleglosc w cm - patrz dokumentacja
Serial.print(" Czujnik 1: ");
TIME1=TIME1/58;
Serial.print(TIME1);
Serial.print(" Czujnik 2: ");
TIME2=TIME2/58;
Serial.print(TIME2);
Serial.print(" Czujnik 3: ");
TIME3=TIME3/58;
Serial.println(TIME3);
if(TIME1<=TIME2)
{
if (TIME1<=TIME3)
{
dx=0;
}
//w przypadku śledzenia obiektu przez oko frontowe brak reakcji
else
{
dx=15;
}
//w przypadku wykrycia obiektu przez oko prawe obrót w prawo
}
else
{
if(TIME2<=TIME3) { dx=-15; } //w przypadku wykrycia obiektu przez oko lewe obrót w lewo } pos=pos+dx; //zabezpieczenie przed osiągnięciem przez silnik wartości skrajnych if(pos>170)
{
pos=170;
}
else
{
if(pos<10)
{
pos=10;
}
}
Serial.println(pos);
myservo.write(pos); // ustawienie silnika serwo w pozycji "pos"
delay(70);
}
Opisywany projekt jest przeznaczony przede wszystkim dla początkujących oraz średnio-zaawansowanych adeptów robotyki. Pozwala zdobyć doświadczenie w dziedzinie wykorzystania czujników ultradźwiękowych w różnych konfiguracjach portów. Realizując ten projekt (fotografia 5) zyskujemy umiejętności wykorzystania silników serwo, które dzięki swej precyzji często są obowiązkowym punktem kolejnych projektów.

Fot. 5. Widok zmontowanego urządzenia


Grzegorz Kamiński: Rynek półprzewodników 1Q 2026 i 2Q 2026 – bez pamięci i zaawansowanych układów AI
Za trzy lata AI może doprowadzić firmowe sieci do granic wydajności
Platforma AMD ze zintegrowaną pamięcią dla systemów kosmicznych i lotniczych 


![https://www.youtube.com/watch?v=gHcP8AajoN4 Szymon Robak oprowadza po katowickim Laboratorium Badań Kompatybilności Elektromagnetycznej w Sieć Badawcza Łukasiewicz - Instytucie Sztucznej Inteligencji i Cyberbezpieczeństwa. Zapraszamy na film! [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/06/Szymon-Robak-tytulowe.png)
![https://www.youtube.com/watch?v=BgxJVTwYJ-s Zapraszamy do obejrzenia filmu i wysłuchania krótkich wypowiedzi prelegentów Hardware Forum 2026 i organizatorów majowej konferencji dla inżynierów z branży elektronicznej: Konrad Bruliński z Lemontech, prof. Krzysztof Kulpa z Politechniki Warszawskiej, Zbigniew Huber z FLC, Ewa Załupska z firmy KROK, Jerzy Kozieł z MPTECH, Grzegorz Potyralski z VIGO Photonics, dr Krzysztof Czuba z Politechniki Warszawskiej, Anna Beata Kalisz Hedegaard z Quantum Security Defence, Adrian Cichosz z Elhurt Dystrybucja Anna Kamińska z Creotech Quantum, oraz Łukasz Jaeszke i Adam Jaeszke z TEK.day [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/05/tytulowe-film-1.png)

