rShutter - zdalna migawka

rShutter - zdalna migawka

Tym razem wychodzę naprzeciw osobom, których jednym z hobby jest fotografia co znaczy ni mniej, ni więcej, że wychodzę również naprzeciw… samemu sobie. Wykonując sporo zdjęć produktowych (ale nie tylko) dość często korzystam z samowyzwalacza. Muszę przyznać, że nie jest to ani nazbyt nowoczesne ani wygodne rozwiązanie, w związku z czym zacząłem poszukiwania rozwiązania alternatywnego. Od razu pomyślałem sobie o wyzwalaniu zdalnym, gdyż większość lustrzanek (ale nie tylko, także bezlusterkowce) ma taką funkcjonalność, która jest niczym innym, jak możliwością zdalnego wyzwalania migawki przy pomocy pilota zdalnego sterowania na podczerwień.

Podstawowe parametry:
  • niewielkie wymiary i zwarta konstrukcja,
  • atrakcyjna wizualnie, bardzo trwała obudowa o wysokiej jakości wykonania,
  • energooszczędność,
  • obsługa dwóch najpopularniejszych na rynku systemów fotograficznych: Nikona (standard pilotów ML-L1 i ML-L3) i Canona (standard pilotów RC-1, RC-6).

Dość szybko okazało się, że oryginalne urządzenia tego typu mają absurdalną, jak na swoje możliwości i stopień komplikacji, cenę, zaś dostępne na rynku zamienniki, mimo że bardzo tanie, nie odznaczają się zbyt wysoką jakością wykonania, a z pewnością daleko im do 10 razy droższych oryginałów. Jako, że urządzenia tego typu są banalne w swojej konstrukcji postanowiłem zbudować projekt tego rodzaju, ale że lubię robić wszystko po swojemu zdecydowałem, że będzie się on odznaczał następującymi cechami użytkowymi:

  • niewielkie wymiary i zwarta konstrukcja,
  • atrakcyjna wizualnie, bardzo trwała obudowa o wysokiej jakości wykonania,
  • energooszczędność,
  • obsługa dwóch najpopularniejszych na rynku systemów fotograficznych: Nikona (standard pilotów ML-L1 i ML-L3) i Canona (standard pilotów RC-1, RC-6).

Ostatni parametr to nie jest błąd. Skoro podjąłem próbę własnoręcznej konstrukcji tego rodzaju urządzenia to chciałem, aby było ono na tyle uniwersalne, że można byłoby za jego pomocą obsługiwać sprzęt dwóch głównych graczy na rynku fotograficznym. Oczywiście wprowadzając stosowne zmiany do oprogramowania można obsługiwać sprzęt innych producentów.

W tym miejscu działania swoje skierowałem w stronę poszukiwania informacji na temat stosowanych standardów transmisji przez poszczególnych producentów. Jak można się było domyślić na próżno szukać oficjalnych informacji w tym zakresie ze strony producentów tego rodzaju urządzeń, jako że są to rozwiązania autorskie i przez to zamknięte. Pozostały rozwiązania z zakresu inżynierii wstecznej. Sygnał z dowolnego pilota zdalnego sterowania bardzo łatwo przechwycić, a jako że wszystkie rozwiązania tego typu bazują na prostych implementacjach to nie trudno będzie je skopiować i powielić w swoim urządzeniu. Ale zaraz, zaraz, po co kupować oryginalne urządzenie by implementować własne rozwiązanie? No i tutaj, jak zwykle, z pomocą przychodzi Internet.

Bardzo szybko znalazłem stosowne informacje i mimo, że w wielu amatorskich rozwiązaniach widać było drobne różnice w implementacji protokołów to były one na tyle nieistotne i zapewne wynikały z wprowadzenia jakiejś tolerancji czasów, że implementacja własnego urządzenia stała się wręcz banalna.

Protokoły komunikacyjne

Przejdźmy zatem do szczegółów dotyczących protokołów komunikacyjnych zaczynając od systemu firmy Nikon. Piloty zdalnego sterowania tej firmy generują prostą ramkę transmisji z modulacją o częstotliwości 38,4 kHz, jak to ma miejsce w przypadku pilotów zdalnego sterowania w sprzęcie RTV, co w istocie służyć ma minimalizacji ryzyka potencjalnych zakłóceń sygnału i wymaga prostej demodulacji po stronie odbiornika.

Rysunek 1. Ramka sygnału zdalnego wyzwalacza migawki dla systemu Nikona

Ramka sygnału zdalnego wyzwalacza migawki dla systemu Nikona została pokazana na rysunku 1. Jak widać zastosowano serię 4 impulsów (modulowanych sygnałem nośnej) i 3 przerw o określonym czasie trwania, których transmisja powtarzana jest dwukrotnie po czasie 63,2 ms. Oczywiście czasy, o których mowa mogą być zaimplementowane z pewną tolerancją. Jaką dokładnie? Tego nie udało mi się ustalić, ale myślę, że jej wielkość z powodzeniem można przyjąć na wartość co najmniej 5%, gdyż powątpiewam by w oryginalnych rozwiązaniach stosowane były rezonatory kwarcowe. Podobnie ma się sprawa z częstotliwością modulacji. Tutaj zostało ustalone, że częstotliwość modulacji można zmieniać w dość szerokim zakresie z przedziału 36…40 kHz i wynika to zapewne z dużej czułości demodulatora po stronie odbiornika aparatu fotograficznego (zwykle stosowane są scalone odbiorniki IR). Niemniej jednak pomiary wykonane przy użyciu oryginalnego pilota wskazały wartość 38,4 kHz, jako użytą przez producenta urządzenia. Prawda, że proste? W porównaniu do niektórych specyfikacji standardów transmisji w podczerwieni stosowanych przez producentów sprzętu RTV to wręcz banalne rozwiązanie.

Rysunek 2. Ramka sygnału zdalnego wyzwalacza migawki dla systemu Canona

Ale, jeśli to jest banalne rozwiązanie to przyjrzyjcie się implementacji firmy Canon, dla którego ramkę transmisji pokazano na rysunku 2. W zasadzie nie można tego nawet nazwać ramką transmisji. To zwyczajnie 16 do 25 impulsów o czasie trwania 28 μs (okres) i wypełnieniu 50%. Nic więcej. Banalne i trochę… prowizoryczne, ale jak widać działa. Z informacji znalezionych w Internecie wynika, że częstotliwość tych impulsów można dobrać w zakresie od 29,8 do 35,5 kHz. Podobnie, jak w przypadku standardu Nikona, tak i tutaj ramka jest transmitowana dwukrotnie po czasie 7,33 lub 5,36 ms.

Skąd wzięły się 2 różne czasy przerwy w transmisji? Wynikają one z implementacji 2 trybów zdalnego wyzwalania w przypadku systemów Canona. Natychmiastowy i z opóźnieniem 2 s (w lustrzankach Nikona stosowny tryb ustawiamy w Menu urządzenia). W naszej implementacji wykorzystamy wyłącznie tryb natychmiastowy.

Przyznacie, że jest to nad wymiar (za) proste rozwiązanie, no ale działa. Oczywiście w praktyce okazać się może, że Wasz egzemplarz wymaga pewnej parametryzacji czasów ramki transmisji, ale że udostępniam pełen kod programu obsługi aplikacji (de facto banalnie prosty) to w rzeczywistości będziecie mogli we własnym zakresie doprecyzować konieczne wartości lub… wprowadzić obsługę systemów innych producentów. Tyle w kwestii standardów transmisji, jeśli tak w ogóle można mówić w tym przypadku.

Budowa i działanie

Przejdźmy zatem do schematu ideowego urządzenia, który pokazano na rysunku 3.

Rysunek 3. Schemat ideowy urządzenia rShutter

Jak widać zbudowano bardzo prosty, wręcz banalny, system mikroprocesorowy, którego sercem jest najmniejszy mikrokontroler firmy Microchip (dawniej Atmel) o oznaczeniu ATtiny10 (lub opcjonalnie ATtiny4/5/9) taktowany wewnętrznym oscylatorem RC o częstotliwości 1 MHz odpowiedzialny za realizację całej, założonej funkcjonalności. Mikrokontroler ten realizuje 3 zadania:

  • obsługuje przełącznik MODE wybierający tryb pracy urządzenia (Nikon/Canon),
  • obsługuje microswitch SHOT odpowiedzialny za wybudzanie mikrokontrolera i przesyłanie ramki danych w podczerwieni,
  • steruje (poprzez tranzystor T1) diodą LED IR.

Jak widać, do zasilania mikrokontrolera przewidziano niewielką baterię pastylkową typu CR2032, w związku z czym kluczowym stało się minimalizowanie zużycia energii przez system mikroprocesorowy. W związku z tym, mikrokontroler nasz pozostaje większość czasu swojej pracy w trybie Power Down i wybudzany jest wyłącznie na skutek przyciśnięcia przycisku SHOT. Po wybudzeniu transmituje ramkę danych i ponownie przechodzi w stan uśpienia. Ponadto, by dodatkowo ograniczyć pobór mocy ze źródła napięcia zasilającego wyłączane są nieużywane peryferia mikrokontrolera a mianowicie przetwornik ADC oraz komparator analogowy AC.

Do oszacowania jak długo urządzenie będzie pracowało na pojedynczej baterii CR2032 o pojemności w granicach 240 mAh należy zastanowić się z jakich etapów składa się jego praca i jakie są wtedy prądy pobierane ze źródła napięcia zasilającego. Przystępując do obliczeń przyjąłem następujący podział cyklu pracy urządzenia:

  1. czas trybu Power Down mikrokontrolera, który trwa z dużym przybliżeniem 24h/dobę i podczas którego pobierany jest prąd rzędu 0,15 μA,
  2. czas trybu Active mikrokontrolera, który trwa maksymalnie 205 ms (dla systemu Nikona) i podczas którego pobierany jest prąd rzędu 0,35 mA,
  3. czas załączenia diody LED IR, który trwa maksymalnie 3,2 ms (dla systemu Nikona) i podczas którego pobierany jest prąd rzędu 60 mA.

Założono, że wybudzanie urządzenia następuje 100 razy na dobę. Ponadto przyjęto 20% ubytek pojemności baterii zasilającej na skutek obciążania dość dużym prądem (przy spadku napięcia baterii do 2,2 V). Przy tych założeniach otrzymano teoretyczny, niespełna 49-letni czas pracy na pojedynczej baterii CR2032 co znacznie przekracza deklarowany przez producenta 10-letni czas życia samej baterii zasilającej.

Tematyka rozładowania baterii tego typu na skutek obciążania jej dość dużymi (i de facto zbyt dużymi, jak na jej parametry katalogowe) prądami jest naprawdę ciekawa. Zainteresowanym Czytelnikom polecam lekturę dokumentu pod tytułem „High pulse drain impact on CR2032 coin cell battery capacity”, gdzie inżynierowie firmy Energizer i Nordic Semiconductor bardzo drobiazgowo przedstawili ten interesujący temat. Wspomniany dokument znajduje się pod adresem: https://bit.ly/3Ol42zY.

Program sterujący

Tyle w kwestiach szczegółów konstrukcyjnych. Przejdźmy zatem do zagadnień implementacyjnych, których prezentację rozpocznę od pliku nagłówkowego porządkującego ustawienia sprzętowe. Plik, o którym mowa pokazano na listingu 1.

Listing 1. Plik nagłówkowy programu obsługi aplikacji urządzenia rShutter

//Definicje portów sterujących
#define MODE_PULL_UP_REG PUEB
#define MODE_PIN_REG PINB
#define MODE_NR PB2
#define MODE_IS_NIKON (!(MODE_PIN_REG & (1<<MODE_NR)))
#define MODE_PULL_UP_ON MODE_PULL_UP_REG |= (1<<MODE_NR)
#define MODE_PULL_UP_OFF MODE_PULL_UP_REG &= ~(1<<MODE_NR)

#define SHOT_PULL_UP_REG PUEB
#define SHOT_PIN_REG PINB
#define SHOT_NR PB1
#define SHOT_IS_PRESSED (!(SHOT_PIN_REG & (1<<SHOT_NR)))
#define SHOT_PULL_UP_ON SHOT_PULL_UP_REG |= (1<<SHOT_NR)

#define IR_PORT_REG PORTB
#define IR_DDR_REG DDRB
#define IR_NR PB0
#define IR_AS_OUTPUT IR_DDR_REG |= (1<<IR_NR)
#define IR_ON IR_PORT_REG |= (1<<IR_NR)
#define IR_OFF IR_PORT_REG &= ~(1<<IR_NR)

//Definicje dla Timera0
//Toggle OC0A on Compare Match
#define BURST_FUNCT_ON TCCR0A = (1<<COM0A0)
#define BURST_FUNCT_OFF TCCR0A = 0x00
//Tryb CTC, Preskaler = 1
#define BURST_START TCCR0B = (1<<WGM02)|(1<<CS00)
#define BURST_STOP TCCR0B = (1<<WGM02)

//Definicje dla ramki standardu Nikona (ms)
#define START_PULSE 2
#define START_PAUSE 27.83
#define DATA_PULSE 0.4
#define FIRST_PAUSE 1.58
#define SECOND_PAUSE 3.58
#define NIKON_FRAME_PAUSE 63.2

//Definicje dla ramki standardu Canona (us)
//12 zamiast 14 z uwagi na overhead
#define PULSE_LENGTH 12
#define PULSE_NR 20
#define CANON_FRAME_PAUSE 7.33 //(ms)

Dalej na listingu 2 pokazano fragment funkcji main w zakresie podstawowej konfiguracji mikrokontrolera.

Listing 2. Fragment funkcji main w zakresie podstawowej konfiguracji mikrokontrolera

//Redukcja poboru mocy przez wyłączenie komparatora analogowego
ACSR |= (1<<ACD);
//Redukcja poboru mocy przez wyłączenie zasilania przetwornika ADC
PRR = (1<<PRADC);
//Uruchomienie przerwania Pin Change Interrupt
//(wybudzanie procesora w reakcji na naciśnięcie switcha SHOT)
PCICR = (1<<PCIE0);
//Konfiguracja przerwania, jak wyżej.
//Zmiana stanu wyprowadzenia PB1/PCINT1
//wyzwala przerwanie (i wybudza procesor)
PCMSK = (1<<PCINT1);
//Podciągnięcie portu wyzwolenia migawki
//(SHOT -> PB1/PCINT1) pod VCC
SHOT_PULL_UP_ON;
//Port sterujący diodą IR (PB0),
//jako wyjściowy (z domyślnym stanem 0)
IR_AS_OUTPUT;
//Konfiguracja Timera0 odpowiedzialnego za generowanie
//przebiegu 38.4 kHz (częstotliwości nośnej) na wyjściu diody IR
TCCR0B = (1<<WGM02); //Tryb CTC
OCR0A = 12; //38.4 kHz

Z kolei na listingach 3 i 4 pokazano funkcje odpowiedzialne za emisję ramki transmisji odpowiednio dla systemów Nikona i Canona.

Listing 3. Funkcja odpowiedzialna za emisję ramki transmisji dla systemu Nikona

//Czas wykonania: 135ms, w tym załączenie
//diody IR: 3.2 ms (przy wypełnieniu 50%)
void sendNikon(void) {
//Dwukrotne wysłanie ramki z odstępem zdefiniowanym
//standardem Nikon (generowanie nośnej
//na wyjściu sterującym diodą IR)
for(uint8_t i=0; i<2; i++) {
BURST_FUNCT_ON;
BURST_START;
_delay_ms(START_PULSE);
BURST_STOP;
BURST_FUNCT_OFF;
_delay_ms(START_PAUSE);
BURST_FUNCT_ON;
BURST_START;
_delay_ms(DATA_PULSE);
BURST_STOP;
BURST_FUNCT_OFF;
_delay_ms(FIRST_PAUSE);
BURST_FUNCT_ON;
BURST_START;
_delay_ms(DATA_PULSE);
BURST_STOP;
BURST_FUNCT_OFF;
_delay_ms(SECOND_PAUSE);
BURST_FUNCT_ON;
BURST_START;
_delay_ms(DATA_PULSE);
BURST_STOP;
BURST_FUNCT_OFF;

if(i == 0) _delay_ms(NIKON_FRAME_PAUSE);
}
}
Listing 4. Funkcja odpowiedzialna za emisję ramki transmisji dla systemu Canona

//Czas wykonania: 8.3 ms, w tym załączenie diody IR: 0.48 ms (przy wypełnieniu 50%)

void sendCanon(void) {
//Dwukrotne wysłanie ramki z odstępem
//zdefiniowanym standardem Canon
for(uint8_t i=0; i<2; i++){
for(uint8_t i=0; i<PULSE_NR; i++) {
IR_ON;
_delay_us(PULSE_LENGTH);
IR_OFF;
_delay_us(PULSE_LENGTH);
}

if(i == 0) _delay_ms(CANON_FRAME_PAUSE);
}
}

Dalej na listingu 5 pokazano fragment funkcji main odpowiedzialny za wybudzanie mikrokontrolera i transmisję ramki danych.

Listing 5. Fragment funkcji main odpowiedzialny za wybudzanie mikrokontrolera i transmisję ramki danych

while(1) {
cli();
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_enable();
sei();
sleep_cpu();
//W tym miejscu śpimy i czekamy na wybudzenie
//przez zmianę stanu przycisku SHOT
sleep_disable();

//Podciągamy przycisk MODE pod VCC
MODE_PULL_UP_ON;

//Sprawdzamy stan przycisku MODE, żeby zdecydować
//dla jakiego systemu (NIKON/CANON) wysyłany
//będzie sygnał IR. Następnie wysyłamy stosowną
//ramkę poprzez diodę IR. Maksymalny czas
//wykonania (Nikon) 135 ms, w tym 3.2 ms załączenia diody IR
if(MODE_IS_NIKON) sendNikon(); else sendCanon();

//Wyłączamy podciągnięcie przycisku MODE pod VCC,
//gdyż zwarty do masy (tryb Nikon) pobierałby
//dodatkowy prąd w trybie Power Down
MODE_PULL_UP_OFF;

//Prosta eliminacja drgania styków
_delay_ms(35);

//Czekamy na ewentualne zwolnienie przycisku SHOT
while(SHOT_IS_PRESSED);

//Prosta eliminacja drgania styków
_delay_ms(35);

//Wyczyszczenie flagi przerwania Pin Change Interrupt,
//żeby bez potrzeby (potencjalne drgania styków)
//nie zostało od razu wywołane ponownie
PCIFR = (1<<PCIF0);
//Uruchomienie przerwania Pin Change Interrupt
//(wybudzanie procesora w reakcji na naciśnięcie switcha SHOT)
PCICR = (1<<PCIE0);
}

I na koniec, na listingu 6, funkcja ISR wywoływana na skutek naciśnięcia przycisku SHOT (i wybudzenia mikrokontrolera).

Listing 6. Funkcja ISR wywoływana na skutek naciśnięcia przycisku SHOT (i wybudzenia mikrokontrolera

//Przerwanie Pin Change Interrupt (wybudzanie procesora
//w reakcji na naciśnięcie switcha SHOT)
ISR(PCINT0_vect) {
//Tymczasowe wyłączenie przerwania Pin Change Interrupt,
//by nie zgłaszało się wielokrotnie na skutek drgań styków
PCICR = 0x00;
}

Na rysunku 4 pokazano zrzut ekranu analizatora stanów logicznych rzeczywistej ramki transmisji standardu Nikona, zaś na rysunku 5 pokazano stosowny zrzut ekranu analizatora stanów logicznych rzeczywistej ramki transmisji standardu Canona.

Rysunek 4. Zrzut ekranu analizatora stanów logicznych rzeczywistej ramki transmisji standardu Nikona
Rysunek 5. Zrzut ekranu analizatora stanów logicznych rzeczywistej ramki transmisji standardu Canona

Montaż i uruchomienie

W tym miejscu przejdźmy do zagadnień montażowych. Schemat płytki PCB urządzenia rShutter pokazano na rysunku 6. Jak widać zaprojektowano bardzo niewielki obwód drukowany z wyłącznym montażem elementów SMD po obu stronach laminatu.

Rysunek 6. Schemat płytki PCB urządzenia rShutter

Projektując obwód drukowany systemu rShutter chciałem by docelowe urządzenie wyposażone było w gustowną i niewielką obudowę, przez co etapem wyjściowym w procesie projektowania było znalezienie atrakcyjnej wizualnie i łatwo dostępnej obudowy. Zdecydowałem się na zastosowanie smukłej, plastikowej obudowy do pilota typu 13121,44 firmy TEKO w wersji z jednym przyciskiem sterującym. W związku z powyższym cały projekt laminatu podporządkowany został wymiarom zastosowanej obudowy. Co więcej, z uwagi na fakt, że zastosowany typ obudowy umożliwia zamontowanie w nim płytki z elementami o maksymalnej, sumarycznej grubości ok. 7,2 mm musiałem zdecydować się na zastosowanie bardzo niskiego switcha SMD, wyjątkowo niskiego koszyczka baterii zasilającej oraz laminatu o grubości 1,2 mm. Osoby, które nie planują zastosowania obudowy, o której mowa powyżej mogą nie zważać na poniższe ograniczenia.

Przejdźmy zatem do szczegółów montażowych dotyczących obwodu drukowanego. Montaż urządzenia rShutter rozpoczynamy od warstwy TOP, na której przylutowujemy switch SMD o wyjątkowo niskiej obudowie rzędu 0,55 mm. Dalej, przechodzimy na warstwę BOTTOM, gdzie w pierwszej kolejności przylutowujemy miniaturowy mikrokontroler, tranzystor T1, następnie elementy bierne a na końcu elementy mechaniczne w rodzaju koszyczka baterii zasilającej i przycisku MODE. Ostatnim etapem jest przylutowanie diody LED IR o średnicy 3 mm z odpowiednio przygotowanymi końcówkami, gdyż element ten montujemy równolegle i w pewnym oddaleniu od płaszczyzny obwodu drukowanego (strony BOTTOM). Szczegóły dotyczące sposobu montażu diody LED względem obwodu drukowanego pokazano na rysunku 7.

Rysunek 7. Szczegóły dotyczące sposobu montażu diody LED względem obwodu drukowanego

Jak można się domyślić, obecność diody LED i przycisku MODE wymaga pewnego przygotowania zastosowanej obudowy, aby możliwe stało się umieszczenie w niej zmontowanego obwodu drukowanego urządzenia. W pierwszej kolejności, na środku (w poziomie i pionie) krótszego boku obudowy należy wywiercić otwór o średnicy 3 mm przeznaczony do umieszczenia w nim główki diody LED IR, zaś w spodniej części obudowy (tej po przeciwnej stronie przycisku SHOT) otwór przeznaczony do umieszczenia w nim ośki przełącznika MODE, by był dostępny również po złożeniu urządzenia.

Oczywiście otwór ten wykonujemy tylko wtedy, gdy planujemy użycie tego samego pilota dla dwóch różnych systemów (Nikona i Canona). Jeśli urządzenie nasze zamierzamy stosować wyłącznie do sterowania jednym ze wspomnianych systemów, otworu wykonywać nie musimy, zaś sam przycisk MODE zastąpić możemy zworką w postaci kropelki cyny na odpowiednich padach lutowniczych przeznaczonych do wlutowania przycisku (i niezbędne jest to wyłącznie dla systemu Nikona).

Ustawienia Fuse-bitów:
CKOUT: 1
WDTON: 1
RSTDISBL: 1

Aby ułatwić trasowanie otworu na tylnej stronie panelu obudowy przygotowano specjalny, zwymiarowany szablon, który w skali 1:1 pokazano na rysunku 8.

Rysunek 8. Szablon ułatwiający trasowanie otworu pod przełącznik MODE

Szablon ten przykładamy do tylnej części obudowy (zachowując odpowiednią orientację góra/dół) i zaznaczamy miejsce otworu, zaś sam otwór wykonujemy przy pomocy ostrego nożyka posiłkując się dodatkowo, jeśli zajdzie taka potrzeba, cienkim i drobnym pilniczkiem. W tak przygotowaną obudowę montujemy obwód drukowany (z umieszczoną w podstawce baterią zasilającą), po czym skręcamy ją przy pomocy dołączonej śruby. Poprawnie zmontowany układ nie wymaga żadnego uruchamiania i powinien działać tuż po zasileniu.

Fotografia 1. Widok zmontowanego urządzenia rShutter od strony warstwy TOP
Fotografia 2. Widok zmontowanego urządzenia rShutter od strony warstwy BOTTOM

Widok zmontowanego urządzenia od strony warstwy TOP pokazano na fotografii 1, zaś na fotografii 2 pokazano widok tego samego urządzenia od strony warstwy BOTTOM.

Robert Wołgajew, EP

Wykaz elementów:
Rezystory: (SMD0805)
  • R1: 1 kΩ
  • R2: 27 Ω
Kondensatory: (SMD0805)
  • C1: 100 nF ceramiczny X7R
Półprzewodniki:
  • U1: ATtiny4/ATtiny5/ATtiny9/ATtiny10 (SOT-23-6)
  • T1: BC817 (SOT-23)
  • IR: dioda LED IR (prąd minimum 60 mA, średnica 3 mm)
Pozostałe:
  • BATT: koszyk baterii CR2032 SMD typu BAT-HLD-001
  • SHOT: mikroprzełącznik SMD typu TL3315NF100Q E-SWITCH (obudowa 4,5×4,5×0,55 mm)
  • MODE: przełącznik SMD typu JS202011SCQN C&K
  • OBUDOWA: obudowa plastikowa do pilota typu 13121.44 TEKO (opcjonalne 13121.30, 13121.47, 13121.23)
Artykuł ukazał się w
Elektronika Praktyczna
czerwiec 2023
DO POBRANIA
Materiały dodatkowe
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik listopad 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad - grudzień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje październik 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna listopad 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich listopad 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów