[ARDUINO] Oko Cyklopa – ultradźwiękowy „radar” do lokalizacji obiektów
odpowiedź. Następnie przekazujemy wynik pomiaru poprzez port szeregowy (listing 2).
List. 2. Kod obliczający odległość do obiektu i wysyłający dane szeregowo przez RS232
int TX1 = 10;
int RX1 = 11;
long TIME1;
void setup()
{
pinMode(TX1, OUTPUT);
pinMode(RX1, INPUT);
Serial.begin(9600);
}
void loop()
{
digitalWrite(TX1, HIGH);
delayMicroseconds(10);
digitalWrite(TX1, LOW);
TIME1 = pulseIn(RX1, HIGH);
Serial.print(" Czujnik 1: ");
Serial.println(TIME1/58);
}
W programie z listingu 2 wykorzystano funkcję:
pulseIn(port , oczekiwany_stan)
Funkcja ta zwraca wartość wyrażoną w jednostce czasu informującą o osiągnięciu na danym porcie oczekiwanego stanu logicznego. W powyższym programie po wysłaniu impulsu oczekujemy na pojawienie się na linii 11 wysokiego poziomu napięcia. Otrzymany wynik poprzedzony odpowiednią adnotacją wysyłamy do komputera.
Po zakończeniu testów czujnika przechodzimy do kolejnego etapu, jakim jest jednoczesne uruchomienie trzech czujników oraz określenie, który czujnik znajduje się najbliżej przeszkody. Do wykonania tego zadania warto skorzystać schemat z rysunku 2. Zgodnie z tym schematem czujniki zostały dołączone następująco:
- Czujnik 1: nadajnik – linia 10, odbiornik – linia 11,
- Czujnik 2: nadajnik – linia 12, odbiornik – linia 13,
- Czujnik 3: nadajnik – linia 6, odbiornik – linia 7,
- Zasilanie oraz masa zostały dołączone równolegle.

Rys. 2. Schemat dołączenia 3 czujników ultradźwiękowych do Arduino Leonardo
Po odpowiednim połączeniu elementów urządzenia kolejnym celem będzie oprogramowanie tego układu. Do tego powielimy kod z listingu 2 odpowiednio konfigurując porty. Wynik tej operacji znajduje się na listingu 3.
List. 3. Kod obliczający odległość do obiektu zmierzoną przez trzy czujniki ultradźwiękowe
int TX1 = 10; //port nadajnik Ultrasonic
int RX1 = 11; //port odbiornik Ultrasonic
int TX2 = 12; //port nadajnik Ultrasonic
int RX2 = 13; //port odbiornik Ultrasonic
int TX3 = 6; //port nadajnik Ultrasonic
int RX3 = 7; //port odbiornik Ultrasonic
int CM; //odległość w cm
long TIME1,TIME2,TIME3; //długość powrotnego impulsu w uS
void setup()
{
pinMode(TX1, OUTPUT);
pinMode(RX1, INPUT);
pinMode(TX2, OUTPUT);
pinMode(RX2, INPUT);
pinMode(TX3, OUTPUT);
pinMode(RX3, INPUT);
Serial.begin(9600);
}
void loop()
{
pomiar_odleglosci();
// szerokość odbitego impulsu w uS podzielone przez
// 58 to odleglosc w cm - patrz dokumentacja
Serial.print(" Czujnik 1: ");
Serial.print(TIME1/58);
Serial.print(" Czujnik 2: ");
Serial.print(TIME2/58);
Serial.print(" Czujnik 3: ");
Serial.println(TIME3/58);
delay(100);
}
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);
}
Aby określić położenie obiektu, będziemy musieli wyznaczyć wartość minimalną wskazania czujników. Do tego celu posłuży algorytm przedstawiony na rysunku 3. Jego implementacja w języku C jest pokazana na listingu 4.

Rys. 3. Algorytm sortowania wartości odczytanych przez czujniki

Od wzmacniacza nieodwracającego do integratora i wzmacniacza ładunkowego, czyli historia z zaskakującą pointą jak w dobrym kryminale
Green czy smart? Jak decyzje ESG zaczynają optymalizować procesy produkcyjne
Firma Semicon ma w ofercie narzędzia do obróbki przewodów 

![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)



