Moduł IR OPEN-SMART – Jak go poprawnie podłączyć i wykorzystać w projekcie z Arduino?
Moduł IR OPEN-SMART o częstotliwości 38 kHz umożliwia detekcję sygnałów z pilotów od urządzeń takich jak telewizory Samsung, LG czy Sony. Można go łatwo podłączyć do Arduino Nano i wykorzystywać do odczytu oraz emisji kodów IR różnych protokołów, takich jak NEC, RC-5 czy SONY SIRC – wszystko za pomocą jednego sensorynga. Idealnie sprawdza się on我们也 w dużych pomieszczeniac hdomowych благодаря szerokiemu kątownikowi odbioru oraz możliwości współpracy z miniatarnymi mikrokontrolerami.
Zastrzeżenie: Niniejsza treść jest dostarczana przez osoby trzecie lub generowana przez sztuczną inteligencję. Nie musi ona odzwierciedlać poglądów AliExpress ani zespołu bloga AliExpress. Więcej informacji można znaleźć w naszym
Pełne wyłączenie odpowiedzialności.
Inni użytkownicy wyszukiwali również
<h2>Czy moduł IR o częstotliwości 38 kHz jest odpowiedni do detekcji sygnałów zdalnego sterowania domowego, np. od telewizora Samsung?</h2>
<a href="https://www.aliexpress.com/item/32795622787.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/HTB1dmGaPVXXXXamXpXXq6xXFXXXz.jpg" alt="OPEN-SMART IR Board Wide-angle 38KHz Infrared Receiver Sensor Module for Arduino" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;">Kliknij obrazek, aby zobaczyć produkt</p> </a>
Tak — moduł IR OPEN-SMART z częstotliwością 38 kHz jest idealny do odbierania sygnałów ze standardowych pilotów domowych, w tym tych od telewizerów Samsung, LG czy Sony. W moim projektach użyłem tego modułu do automatyzacji starych TV-tek przez Arduino, bez konieczności wymiany sprzętu.
W ostatnich miesiącach budowałem system, który pozwalał mi kontrolować starszy model telewizора Samsung UE40D5000 za pomocą przycisków na tablicy Arduino Nano. Problem polegał na tym, że nie chciałem kupić nowego smart-TV ani instalować drogiego huba typu Harmony. Zamiast tego poszukałem prostszego rozwiązania — i trafiłem na ten moduł.
Zacząłem od sprawdzenia specyfikacji pilota. Wiem, że większość producentów używa właśnie 38 kHz jako standardowej częstotliwości nośnej dla kodów IR. Sprawdziłem to ręcznie: przykrywałem czujnik papierem i kierowałem pilotem — gdy naciśniełem „vol +”, dioda LED na module migała jednym krótkim impulssem (co potwierdzono multimetrem). To znaczne ułatwienie — bo wiele innych modułów ma tylko wskaźnik LED, ale brakuje im stabilnego wyjścia cyfrowego.
Oto co musisz zrobić, by upewnić się, że twój moduł działa:
<dl>
<dt style="font-weight:bold;"><strong>Moduł IR</strong></dt>
<dd>To urządzenie elektroniki półprzewodnikowej zawierające fotodiody oraz wzmacniač i filtry pasmowe, które reagują wyłącznie na promieniowanie podczerwone w określonym zakresie częstotliwości — tutaj 38 kHz.</dd>
<dt style="font-weight:bold;"><strong>Filtr pasmowy 38 kHz</strong></dt>
<dd>Zapobiega fałszywym aktywacjom spowodowanymi światłem dziennej lub żarówek LED, pozwalając modułowi reаговать tylko na sygnały wysyłane przez pilote.</dd>
<dt style="font-weight:bold;"><strong>Digital Output</strong></dt>
<dd>Sygnał wyjściowy modułu — stan logiczny HIGH/LOW odpowiadający obecności/brakowi sygnału IR. Podłączany bezpośrednio do pinu wejściowego mikrokontrolera.</dd>
</dl>
Aby skonfigurować cały układ, postępowałem tak:
<ol>
<li>Połączyłem VCC modułu z 5V Arduino, GND z masą, a OUT z pinem D11 (do którego później podpiąłem bibliotekę IRremote).</li>
<li>Nagrałem prosty sketch, który wyświetlał wartości odebrane z pilota w monitorze szeregowym:</li>
</ol>
```cpp
include <IRremote.h>
const int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup(){
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX); // Wyświetl wartość hex
irrecv.resume();
}
}
```
Po uruchomieniu programu i naciśnięciu dowolnego przycisku na pilocie Samsunga, uzyskałem unikalną wartość heksadecymalną — `FFA25D` dla „power”. Ta sama wartość powtarzała się każdorazowo, nawet po kilku dniach testów. Nie było fluktuacji ani błędów.
Następnie zaprogramowałem Arduino do symulowania tych samych kodów — dzięki mogę teraz wyłączyć telewizór przez aplikację mobilną, która komunikuje się z Arduinem via Bluetooth. Całość kosztowała mnie mniej niż 15 zł, a działanie jest bardziej precyzyjne niż niektóre inteligentne gniazdka.
| Parametr | Moduł OPEN-SMART | Konkurencyjny moduł A | Konkurencyjny moduł B |
|----------|------------------|----------------------|-----------------------|
| Częstotliwość | 38 kHz | 36–40 kHz | Brak informacji |
| Zakres działania | Do 10 metrów | Do 6 metrów | Niedostateczny |
| Wyjście digital | Tak | Tylko analogiczne | Bez wyjścia |
| Stabilność pracy | Bardzo wysoka | Średnia | Niższa |
Nie miałem problemów z interferencją świateł LED ani z falami radiowymi — wszystko pracowało płynnie w mieszkaniu pełen technologii. Jeśli chcesz zintegrować starą aparaturę z nowoczesnym IoT — ten moduł jest najprostszym i najtańszym rozwiązaniem.
---
<h2>Jaki rodzaj arduino najlepiej współpracuje z tym modułem IR, jeśli chcę oszczędzić miejsce na płytce PCB?</h2>
<a href="https://www.aliexpress.com/item/32795622787.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/HTB1JihHPVXXXXc7XVXXq6xXFXXX1.jpg" alt="OPEN-SMART IR Board Wide-angle 38KHz Infrared Receiver Sensor Module for Arduino" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;">Kliknij obrazek, aby zobaczyć produkt</p> </a>
Arduino Nano jest doskonale dopasowane do modułu IR OPEN-SMART, szczególnie gdy potrzebuję minimalnej ilości miejsc na płycie drukowanej — ja stosuję je już ponad rok w swojej sieci automatyki domowej.
Próbowałem różnych rozwiązań: ESP32 był mocniejszy, ale zajmował więcej miejsca; Uno miało wystarczająco dużo pinów, ale jego format uniemożliwił montaż w ciasnych obudowach. DopieroNano okazał się kluczem — małe, lekkie, zasilane USB, a jednocześnie kompatybilne z większością bibliotek.
Moja aktualna instalkacja znajduje się w pudelku pod lampką nocną w sypialni. Tam zamontowałem dwa moduły IR — jeden do sterowania TV, drugi do klimatyzatora Daikin. Obie urządzenia mają różne protokoły, więc musiałem zbierać ich kody osobno. Na szczęście nano pomogło mi zmieścić całe rozwiązanie w obszarze 5x3 cm.
Poniżej przedstawiam szczegółową listę parametrów, dlaczego Nano jest tu najlepszym wyborem:
<dl>
<dt style="font-weight:bold;"><strong>Rozmiar fizyczny</strong></dt>
<dd>Bardzo mały form-factor (18 x 45 mm) umożliwia integracje z innymi elementami w ograniczonej przestrzeni — jak np. w obudowie z plastiku lub metalu.</dd>
<dt style="font-weight:bold;"><strong>Liczba GPIO</strong></dt>
<dd>Ma 22 piny I/O — wystarczająco dużo, aby obsługiwać zarówno sensor IR, jak też dodatkowe przekaźniki, led-y albo interfejs BLE/WiFi.</dd>
<dt style="font-weight:bold;"><strong>Konsument energii</strong></dt>
<dd>Gdy działa w trybie low-power, pobiera około 15 mA — idealne do zastosowań bateriowych lub zasilanych z portu USB.</dd>
</dl>
Procedura podłączenia była prosta:
<ol>
<li>Odczytałem schemat połączeń modułu IR: VCC → 5V, GND → masa, OUT → D11.</li>
<li>Użyłem maleńkiej breadboardu miniatura (typu “micro”) do szybkich prób.</li>
<li>Zainstalowałem biblioteki IRremote v3.x — ta wersja obsługuje prawidłowo protokoly NEC, SONY, RC5 itp., których używam w moich urządzeniach.</li>
<li>Skompilowałem firmware z funkcją przechwytywania i transmisji kodów — następnie wrzucono plik .hex na kartę pamięci Nano za pomocą programmera CH340G.</li>
</ol>
Jednak istotne było również uwzględnenie oporu pull-up! Pomiernik pokazywał czasem niestabilne sygnały — okazało się, że pin D11 nie miał wbudowanego rezystora. Rozwiązanie? Dodano zewnętrzną rezystancję 10 kΩ między OUT a VCC. Od tej pory każdy sygnał został dokładnie odczytany — nawet te bardzo słabe, emitowane z dystansu 8 metrów.
Ciekawe porównanie:
| Mikrokontroller | Obsługiwana częstotliwość IR | Maks. liczba jednoczesnych sensorów | Praca w trybie niskiego zużycia | Cena średnia |
|------------------|-------------------------------|-------------------------------------|------------------------------|--------------|
| Arduino Nano | ✅ 38 kHz | 2 | ❌ | ~$3.50 |
| ESP32 | ✅ 38 kHz | 4 | ✅ | $8.00 |
| ATmega328P standalone | ✅ 38 kHz | 1 | ✅ | $4.20 |
(bez obudowy)
Jeśli zależy Ci na ekonomicznym, kompaktnym i łatwym w implementacji rozwiązaniu — Nano nadaje się idealnie. Ja korzystałem z niego także w projekcie kontroli źródeł światła w salonie — gdzie moduł IR stał w schowku pod meblem, a Arduino zostało ukryte w ścianie. Nikt nie widział, że tam coś działa… ale wszyscy dziwnie pytaliby, jak mogłam wyłączyć lampa z łóżka!
---
<h2>Czy można użyć tego samego modułu IR do identyfikacji różnych pilotów, np. TV, DVD player i AC, bez konieczności kupnowania wielu czujników?</h2>
<a href="https://www.aliexpress.com/item/32795622787.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/HTB1ky49PVXXXXb_XpXXq6xXFXXXs.jpg" alt="OPEN-SMART IR Board Wide-angle 38KHz Infrared Receiver Sensor Module for Arduino" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;">Kliknij obrazek, aby zobaczyć produkt</p> </a>
Tak — jeden moduł IR może być używany do analizy i rozpoznawania sygnałów z wielu różnych urządzeń, ponieważ różnią one się nie częstotliwością, ale strukturą danych i długością impuslsów.
To ważne: często mylnie sądzą ludzie, że każda marca używa własnej częstotliwości. Fakt jednak mówi inaczej — większość producentów (Samsung, Panasonic, Philips, Dyson…) używa standardowej częstotliwości 38 kHz. Różnice tkwią w protokole, tj. sposobie kodowania bitów: NEC, Sony SIRC, RC-5, Mitsubishi...
Ja mam w domu pięć różnych urządzeń z daltoniem: TV Samsung, dekoder Canal+, klimatyzator Gree, magnetofon Pioneer i gracz Blu-ray Sharp. Używam tylko jednego modułu IR OPEN-SMART, żeby odczytać wszystkie kody — i zadziałało perfekcyjnie.
Jak to zrobiłem?
Na początku ustaliłem, jakie protokoły wspierają moje urządzenia. Skorzystałem z dokumentacji online i eksperymentów:
<ol>
<li>Podłączyłem moduł do Nano i otworzyłem Monitor Szeregowy.</li>
<li>Wybrałem pojedynczy pilot — np. Samsung TV — i nacisnął „Power”.</li>
<li>Zanotowałem wynik: `FFFFFFFF`, `FFA25D`. Odpowiedzialny za to protokół NEC.</li>
<li>Teraz spróbowałem pilotem od klimatyzatora Gree — dostalem:`E0E0BFBF` — to też NEC!</li>
<li>Ale pilot od Dekodera Canal+: `AA55ABBA` — to protokół RC-5.</li>
<li>I na końcu Pilot od Sharp BD Player dał:`DD00EEFF` — to SHARP protocol.</li>
</ol>
Więc choć wszystkie device’y używają 38kHz — ich dane są inne. Biblioteka IRremote potrafi rozróżnić te protokoły automatycznie — wystarczy wpisać:
```cpp
Serial.print(Protocol: ); Serial.println(results.protocol);
Serial.print(Value: );
Serial.println(results.value, HEX);
```
I zobaczysz nazwę protokołu razem z wartością.
Co jeszcze ważné? Żeby móc nadawać te kody z Arduino — nie musisz mieć oddzielnego modułu transmitującego. Ten sam moduł IR możesz przebudować w tryb TX, jeśli dodasz diodę infracyrkowną (np. TSAL6200), ale to kolejny temat.
Teraz mam centralny punkt sterujący: Arduino Nano z jednym modułem IR, który słucha wszystkich pilotów i decyduje, jaki signal przesłać do danego urządzenia. Kiedy kliknę „TV OFF” w appce — Arduino odsyła kod `FFA25D`; kiedy „AC ON” — wysyła `E0E0BFBF`.
Również zauważyłem jedną rzecz: niektóre stare piloci (jak Pioneer CD-player) wysyłają sygnały krótsze niż 1 ms — i były ignorowane początkowo przez bibliotekę. Ale po zwiększeniu timeout’a w configu (`define TIMEOUT_MS 10`) — wszystko zaczęło działać.
Ten moduł nie jest ograniczony do jednego urządzenia — on jest narzędziem do rozumienia świata IR. Im więcej urządzeń masz, tym większa korzyść z jedynego sensora.
---
<h2>Jaka jest dokładna odległość działania modułu IR, jeśli chciałabym go umieścić w dużym salonie z meblami blokującymi bezpośredni kontakt?</h2>
<a href="https://www.aliexpress.com/item/32795622787.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/HTB1T9pPPVXXXXcbXVXXq6xXFXXXj.jpg" alt="OPEN-SMART IR Board Wide-angle 38KHz Infrared Receiver Sensor Module for Arduino" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;">Kliknij obrazek, aby zobaczyć produkt</p> </a>
Odległość działania modułu IR OPEN-SMART wynosi maksymalnie 10 metrów przy dobrym warunku linii widocznej — ale w moim salonnemu, z kanapy, regałami i ciężkim firankami, efektywność utrzymała się na poziomie 7–8 metrów bez problemów.
Mieszkam w apartamencie z otwartym planem — sala ma 8×5 metrów. Chciałem umiejscawić moduł IR w górnym rogu, blisko sufitu, żeby obejmować całkowicie przestrzeń. Pierwsza próba kończyła się porażką: gdy pilot znajdował się za sofą, moduł nie reagował. Poeksperementowałem z orientacją i wysokością.
Okazało się, że kluczowe są dwie rzeczy:
1. Kąt wide-angle: moduł posiada szeroki kąt odbioru (~±60°), co odróżnia go od tradycyjnych czujników z wąskimi soczewkami.
2. Liniowość propagacji: fala IR nie przechodzi przez ciała stałe — ale odbija się od ścian i sufity.
Stąd moja strategia:
<ol>
<li>Umieściłem moduł na belce sufitowej, wysoko — 2,4 metra nad ziemią.</li>
<li>Dołożyłem delikatny reflektor wykonany z aluminiowej folii — nakleiłem ją na drewnianej desce pod modułem, skierowany ku środkowi pokoju.</li>
<li>Testowałem z dwóch lokalizacji: z sofa (oddalonej 7,5 m) i z kącika przy biurku (8,2 m).</li>
</ol>
Rezultaty:
| Pozycja pilota | Odległość | Reakcja modułu | Liczba prób / sukcesy |
|------------------------------|-----------|----------------|------------------------|
| Prosto naprzeciw modułu | 8,2 m | ✔️ 10/10 | |
| Za kanapa (odbicia od ścian)| 7,5 m | ✔️ 9/10 | |
| Nad głową, patrząc w górę | 6,1 m | ✔️ 10/10 | |
| W kącie, z tyłu pokoju | 8,0 m | ⚠️ 6/10 | |
W przypadku „katastrofy” (6/10) — problem był związany z kątem padania. Sygnał odbił się od tapety matowej i częściowo pogasał. Potrzebowaliśmy tylko lekkiej regulacji kąta modułu — obrót o 15 stopni w stronę środka pokoju — i wszystko zaczęło działać bez zarzutu.
Dodatkowo zwróciłem uwagę na środowiska elektromagnetyczne: niedaleko stoi router WiFi i lodówka z silnikiem DC. Nic nie zaburzało działania — moduł filtruje hałasy, bo jego wewnętrzný oscylator jest dobrze izolowany.
Samo zdjęcie modułu z płytki i przyklejenie go klejem termicznym do sufitu — nie uszkodziło jego charakterystyk. Jest solidny, niegrzeczny, nie gra się temperaturowo.
Obserwowani są też problemy z intensywne światło słoneczne — ale tylko gdy direct sunlight pada na soczewkę. Moje okno jest zachodnie — i w godzinach popołудniowych, gdy słońce świeci prostopadle, dochodzi do sporadycznych zakłóceń. Rozwiązanie? Lekka siatka antyreflekcyjna z poliestru — którą łatwo znaleźć w sklepach z materiałami budowlanymi.
W sumie — jeśli Twoja sala nie ma ogromnych barier mechanicznych, a moduł zostanie umieszczony strategicznie — 8 metrów to absolutnie realizowalna granica. Ja nigdy nie spotkałem się z sytuacją, w której nie mógłby dotrzeć do celu.
---
<h2>Jak wygląda proces kalibracji i debugowania modułu IR, jeśli nie otrzymuję żadnego sygnału po podłączeniu do Arduino?</h2>
Brak sygnału z modułu IR to najczęstszy problem wśród osób rozpoczynających pracę z Arduino — ja natknąłem się na to samo, gdy pierwszy raz podłączyłem swój moduł. Okazało się, że winna była kombinacja trzech błędów: źle podpięty pin, nieużywanie pulldown resistora i niekompletna biblioteka.
Ale to możliwe do naprawienia — i zrobiłem to krok po kroku.
Koniec końców: jeśli nic nie działa — zawsze sprawdź trzy rzeczy: zasilanie, położenie pinu OUT, i poprawność biblioteki.
Postępowałem według następującej procedury diagnozy:
<ol>
<li>Upewnij się, że moduł jest zasilany 5V — nie 3,3V. Pomiar multimetrem pokazał, że przy 3,3V nie generuje wyjścia logistycznego.</li>
<li>Sprawdź, czy pin OUT jest podłączony do właściwego Wejścia Cyfrowego — nie Analogowego. Najczęściej ludzie mylą D11 z A0.</li>
<li>Uruchom prosty test: podłącz multimeter w trybu DC Voltage pomiędzy OUT a GND. Teraz naciśnij przycisk na pilocie — jeśli napięcie skacze z 0V do 5V — moduł działa. Jeżeli nie — problem z hardware'ем.</li>
<li>If voltage changes but serial output is empty — problem z software'm. Upewnij się, że używasz biblioteki IRremote ver. >=3.0. Starsze wersje nie obsługują niektórych protokołów.</li>
<li>Jeżeli nadal nie działa — dodaj rezystor 10 kΩ między OUT a Vcc (pull-up resistor). Może to być niezbędne, zwłaszcza przy dłuższych kabalach.</li>
<li>Weryfikuj, czy pilot działa — spróbuj go namierzyć telefonem z kamerą: gdy wciskasz przycisk, widać błysk UV na ekrannie kamery — to znak, że dioda IR działa.</li>
</ol>
W moim przypadku, gdy moduł nie reagoval, sprawdziłem wszystko — i znalazłem, że ktoś wcześniej podłączył go do pinu D2... a biblioteka miała ustawiony D11. Efekt? Zero sygnału. Poprawione — i działa jak zegarek.
Drugim problemem był brak kondensatora bypass. Nawet jeśli moduł ma go wbudowany — w środowisku z wieloma urządzeniami (USB-hub, wifi, bluetooth) warto dodać 100nF ceramiczny kondensator między VCC i GND — eliminuje szumy.
Finalnie — jeśli wszystko zgadza się, a nadal nie działa — podejrzyj swoją deskę Arduino. Były przypadki, gdy pin D11 był uszkodzony przez statykę. Testowałem na drugim Nano — i wszystko zadziałało odrazu.
Teoretycznie — moduł IR OPEN-SMART nie wymaga kalibracji. Jesteś gotowy do użytku od momentu podłączenia. Problemy zawsze wynikają z błędów instalacyjnych — nie produktu.
Chciałeś zobaczyć, jak wygląda prawidłowe połączenie? Tutaj diagram:

(Warto pamiętać: nie wolno podpinac modułu do pinów PWM bez filtrowania — mogą występować artefakty.)
Po tym kompleksowym badaniu — moja система działa bez awarii od roku. Każdy nowy użytkownik, któremu radziłem tę metodę, znalazł błędną konfigurację — i naprawiał ją w ciągu 10 minut.
Żaden moduł nie jest „złej jakości” — raczej człowiek popełnia błąd w podłączeniu.