Zastanawialiście się kiedyś, czy można wykorzystać pierwszy lepszy pilot (np. od telewizora) do sterowania dowolnym urządzeniem w domu? Otóż można i wbrew pozorom jest to banalnie proste :) I właśnie tym zajmiemy się w dzisiejszym poście.
Na początku pokażę Wam, jak nauczyć Arduino odczytywać sygnały wysyłane przez dowolnego pilota, a później omówię kilka układów, które umożliwią włączanie i wyłączanie np. lampki nocnej, czy ściemnianie i rozjaśnianie diod LED.
Pamiętajcie, że Arduino jest tutaj wykorzystywane tylko dlatego, że wygodnie się na nim prototypuje. Po zaprojektowaniu całego odbiornika możemy przerzucić program na dowolny mikrokontroler i zejść z kosztami całości poniżej 10zł :)
Odbieranie sygnału z pilota
Praktycznie wszystkie domowe piloty wykorzystują do komunikacji światło podczerwone, więc na początek musimy się zaopatrzyć w jakiś odbiornik podczerwieni. Ja w swoim układzie wykorzystałem popularny scalony odbiornik TSOP2236 (koszt około 3,60zł).
Odbiornik łączymy z Arduino wg poniższego schematu:
Następnie musimy zaopatrzyć się w bibliotekę IRremote, która pozwoli w bardzo prosty sposób odczytywać sygnały odbierane przez odbiornik. Bibliotekę IRremote możecie pobrać stąd (bezpośredni link do pliku zip). Po pobraniu i rozpakowaniu paczki kopiujemy całą bibliotekę do folderu /librares/ znajdującego się w katalogu z Arduino IDE.
Teraz możemy już wrzucić na Arduino następujący program:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include <IRremote.h> #define irPin 11 IRrecv irrecv(irPin); decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); } void loop() { if (irrecv.decode(&results)) { Serial.print("0x"); Serial.println(results.value, HEX); delay(250); irrecv.resume(); } } |
Program ten ma tylko jedno zadanie – odczytywać dane z odbiornika podpiętego pod 11 pin i wysyłać je do Serial Monitora. A czym jest ten cały Serial Monitor? Jest to proste narzędzie, dzięki któremu możemy podglądać w komputerze to, co mówi do nas Arduino :)
W Arduino IDE jest wbudowany Serial Monitor, którego możemy uruchomić wybierając z menu Tools -> Serial Monitor. Po włączeniu zobaczymy puste okienko, w którym będą się pojawiały wiadomości wysyłane przez Arduino za pomocą funkcji Serial.print(). Załadowany przed chwilą program wykorzystuje tą funkcję do wyświetlania kodów wciskanych w naszym pilocie klawiszy.
Ja do sterowania wykorzystałem pilot od starego wentylatora pokojowego:
Po wciśnięciu po kolei wszystkich przycisków Serial Monitor wyświetlił mi ich kody:

Mając już kody przycisków, które chcemy wykorzystywać, wystarczy dopisać kawałek programu, który będzie wykonywał jakąś akcję po odebraniu konkretnego kodu z pilota:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
#include <IRremote.h> #define irPin 11 IRrecv irrecv(irPin); decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); } void loop() { if (irrecv.decode(&results)) { switch (results.value) { case 0x143226DB: Serial.println("w lewo"); break; case 0xE0984BB6: Serial.println("w gore"); break; case 0x39D41DC6: Serial.println("w prawo"); break; case 0x371A3C86: Serial.println("w dol"); break; case 0xA32AB931: Serial.println("srodek"); break; } irrecv.resume(); } } |
W powyższym przykładzie skorzystałem z instrukcji switch, która umożliwia szybkie sprawdzenie, czy w odebranych danych (results.value) znajduje się któryś z naszych kodów. Konstrukcja tego kawałka programu jest prościutka, więc mam nadzieję, że każdy z Was poradzi sobie z dopisaniem swoich kodów :)
Po wgraniu powyższego programu i wciśnięciu tych samych przycisków w pilocie Serial Monitor nie wyświetli już ich kodów, a przypisane nazwy:

I to już wszystko, jeżeli chodzi o zaprzyjaźnianie Arduino z naszym pilotem :) Przejdźmy teraz do nieco bardziej praktycznych przykładów.
Sterowanie diodą LED za pomocą pilota
W pierwszym przykładzie pobawimy się umieszczoną na płytce Arduino diodą L, która podpięta jest pod pin 13. Układu nie musimy zmieniać. Drobne zmiany musimy wprowadzić jedynie w programie:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#include <IRremote.h> #define irPin 11 IRrecv irrecv(irPin); decode_results results; #define diodaPin 13 int diodaStatus = LOW; void setup() { Serial.begin(9600); irrecv.enableIRIn(); pinMode(diodaPin, OUTPUT); } void loop() { if (irrecv.decode(&results)) { switch (results.value) { case 0xA32AB931: Serial.println("srodek"); diodaStatus = ~diodaStatus; digitalWrite(diodaPin, diodaStatus); delay(250); break; } irrecv.resume(); } } |
Większość kodu, który teraz dodałem (linie 6, 7, 13 i 23) powinna być już dla Was jasna i oczywista po przeczytaniu mojego postu wprowadzającego do Arduino, dlatego nie będę go omawiał.
Nowością, o której chyba wcześniej nie wspominałem, jest to, co pojawiło się w linii 22. Dzieje się tutaj rzecz bardzo prosta – do zmiennej diodaStatus jest zapisywane jej przeciwieństwo. Jeżeli zmienna była ustawiona na LOW, to zmieni się na HIGH (i odwrotnie). Dzięki temu prostemu trickowi po przyciśnięciu środkowego przycisku w moim pilocie mogę na przemian zapalać i gasić diodę.
Proste? Jasne, że proste! Ale zróbmy coś ciekawszego…
Sterowanie lampką nocną za pomocą pilota
W równie prosty sposób możemy włączać i wyłączać np. lampkę nocną, lub jakiekolwiek inne urządzenie w domu (np. ekspres do kawy:). Jedyne, co musimy zrobić, to odrobinę zmodyfikować nasz układ, dokładając do niego przekaźnik pracujący pod napięciem 5V (koszt 2,30zł) i tranzystor BC547 (koszt 20gr), który będzie tym przekaźnikiem sterował. Dodatkowo, jak słusznie kilka osób w komentarzach zwróciło uwagę na to uwagę, równolegle do cewki przekaźnika trzeba podpiąć diodę prostowniczą, np. 1N4007 (koszt 10gr):
W programie zmienić trzeba jedynie numer pinu, do którego będziemy podpinać tranzystor (w powyższym przykładzie jest to pin 3).
Pamiętaj, że zabawa z napięciem sieciowym jest bardzo niebezpieczna dla zdrowia i życia. Zanim zaczniesz montować układ upewnij się, że kabel sieciowy nie jest podłączony do gniazdka. Osoby niepełnoletnie powinny montować układ pod czujnym okiem osoby dorosłej.
I w tej chwili już możemy włączyć np. ekspres do kawy nie ruszając się z łóżka ;) Oczywiście pod Arduino można podpiąć tyle urządzeń, ile zostało nam wolnych pinów – w przypadku Arduino UNO możemy bez żadnych kombinacji podłączyć nawet 19 urządzeń :)
Jedyne, co w zaprezentowanym wyżej przykładzie może trochę przeszkadzać, to dźwięk przełączającego się przekaźnika. Możemy go wyeliminować zmieniając nieco cały układ:
Na powyższym schemacie układ z tranzystorem i przekaźnikiem został zastąpiony przez optotriak MOC3021 (koszt 1zł) oraz triak BT138 (koszt 2,20zł). Rozwiązanie to jest nieco droższe, ale za to całkowicie bezgłośne.
Optotriak w zaprezentowanym układzie odpowiada za galwaniczne odseparowanie Arduino od wysokiego napięcia, a triak za odcinanie napięcia od podłączonego urządzenia.
Proste? No jasne! Ale zróbmy coś jeszcze ciekawszego ;)
Płynne sterowanie jasnością diody za pomocą pilota
Na Majsterkowaej stronie na Google+ Wojtek poprosił o opisanie, jak zrobić płynną regulację jasności za pomocą pilota. Już pokazuję co i jak :)
Na potrzeby tego przykładu zrobimy sobie prosty układ z diodą LED podłączoną pod pin 3:
Jasnością diody będziemy sterować za pomocą PWM (o którym wspominałem tutaj), dlatego ważne jest, żeby była podłączona do któregoś z pinów oznaczonych jako PWM.
Mając już zmontowany układ, możemy zabrać się za program, który w zasadzie niewiele różni się od programów z poprzednich przykładów:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
#include <IRremote.h> #define irPin 11 IRrecv irrecv(irPin); decode_results results; #define diodaPin 3 int jasnosc = 0; void setup() { Serial.begin(9600); irrecv.enableIRIn(); pinMode(diodaPin, OUTPUT); } void loop() { if (irrecv.decode(&results)) { switch (results.value) { case 0xE0984BB6: if(jasnosc < 255) {jasnosc = jasnosc+5;} Serial.println(jasnosc); analogWrite(diodaPin, jasnosc); break; case 0x371A3C86: if(jasnosc > 0) {jasnosc = jasnosc-5;} Serial.println(jasnosc); analogWrite(diodaPin, jasnosc); break; } irrecv.resume(); } } |
W 7 linii utworzyłem sobie zmienną jasnosc i przypisałem jej wartość 0. W zmiennej tej będzie zapisywana jasność, z jaką ma świecić dioda (w przedziale od 0 do 255). Dodatkowo aktualny poziom jasności wysyłam sobie do Serial Monitora (linie 22 i 28), żeby móc podglądać, jak jasno świeci dioda przy różnych wartościach.
W instrukcji switch dodałem sobie kody dwóch przycisków z mojego pilota – w górę (rozjaśnianie) i w dół (ściemnianie). Podczas rozjaśniania sprawdzam w linii 21, czy jasność nie jest już ustawiona na maksymalną wartość. Jeżeli nie, to zwiększam ją o 5 i w kolejnej linii ustawiam ją na wyjściu, pod które jest podłączona dioda. Dla ściemniania wszystko dzieje się analogicznie – najpierw sprawdzam, czy jasność nie jest już na zerze, a następnie zmniejszam ją o 5.
Wynikiem działania tego kodu będzie coś takiego:
Proste? No ba! Ale przecież rozjaśnianie i przygaszanie jednej diody szybko się nam znudzi, dlatego zrobimy coś jeszcze ;)
Płynne sterowanie jasnością taśmy LED za pomocą pilota
W kolejnym przykładzie pobawimy się w rozjaśnianie taśm LED, których nie można podpiąć bezpośrednio pod któryś z pinów w Arduino, bo nie dość, że są zasilane wyższym napięciem (12V), to ciągną też za dużo prądu. Dlatego też taśmę LED musimy podpiąć za pośrednictwem tranzystora BC547 (ten sam, co w przykładzie z przekaźnikiem):
Od strony programu kompletnie nic się nie zmienia, więc układ będzie już działać. Poniżej wrzucam filmik, na którym pod Arduino miałem podpiętą zarówno lampkę, jak i przyklejoną do niej taśmę led, która w nocy doświetla mi klawiaturę:
Pamiętajcie tylko, że przez ten tranzystor może popłynąć prąd o maksymalnym natężeniu 100mA, jeżeli więc chcielibyście podłączyć dłuższy kawałek taśmy LED, trzeba by poszukać jakiegoś mocniejszego tranzystora.
Sterowanie komputerem za pomocą pilota od TV
Ten przykład możecie potraktować jako mały bonus, ponieważ nie da się go w prosty sposób przenieść na dowolny mikrokontroler.
Jeżeli macie pod ręką Arduino Leonardo, możecie też w prosty sposób sterować swoim komputerem. Wystarczy taki kawałek programu, żeby za pomocą pilota sterować np. kursorem myszy:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
#include <IRremote.h> #define irPin 11 IRrecv irrecv(irPin); decode_results results; int poziom = 0; int pion = 0; void setup() { irrecv.enableIRIn(); Mouse.begin(); } void loop() { if (irrecv.decode(&results)) { switch (results.value) { case 0xE0984BB6: Mouse.move(poziom, pion-5, 0); break; case 0x371A3C86: Mouse.move(poziom, pion+5, 0); break; case 0x143226DB: Mouse.move(poziom-5, pion, 0); break; case 0x39D41DC6: Mouse.move(poziom+5, pion, 0); break; case 0xA32AB931: Mouse.click(MOUSE_LEFT); break; } irrecv.resume(); } } |
W powyższym programie wykorzystuję przyciski góra/dół/lewo/prawo ze swojego pilota do sterowania kursorem myszy, oraz przycisk środek do klikania myszką:
Jeżeli masz pilota z większą ilością klawiszy, możesz też bez problemu symulować wciśnięcia klawiszy na klawiaturze, żeby np. za pomocą skrótów klawiaturowych sterować funkcjami różnych programów :) Na stronie z tutorialami do Arduino w sekcji “9.USB” znajdziesz opisy wszystkich funkcji, za pomocą których można symulować różne zachowania myszki i klawiatury w Arduino Leonardo :)
Niestety, jak już wspomniałem wcześniej, w ten sposób mogą się pobawić jedynie posiadacze Leonardo. Tzn. na pozostałych Arduino też da się osiągnąć podobny efekt, ale jest już z tym dużo więcej grzebania.
Proste?
No jasne, że proste! Proste, i co najważniejsze, bardzo tanie, bo jak przerzucimy cały program na jakiś tani mikrokontroler, to koszt całego odbiornika schodzi poniżej 10zł :) A że programować mikrokontrolery już umiemy, bo zostało to bardzo ładnie opisane tutaj i tutaj, to problemu z tym nie będzie ;)
Macie jakieś fajne pomysły, do czego można by wykorzystać takie sterowanie za pomocą pilota?
Jak sterować dowolnym urządzeniem w domu za pomocą pilota od TV i Arduino?,







Zabezpieczamy dom, czyli jak zrobić alarm z odświeżacza powietrza
Drewniana plansza do gry w “kółko i krzyżyk”
Rękawiczki do obsługi smartfonów
Wygrzebane ze śmietnika…
Programowanie mikrokontolerów na przykładzie ATTINY2313
Arduino – co to jest i z czym to się je?
Internetowe breloczki do kluczy
Jak zabezpieczyć dzwonek bezprzewodowy przed deszczem?
Programowanie mikrokontrolerów za pomocą programatora USBasp
Płynna regulacja obrotów multiszlifierki za pomocą pedału od maszyny do szycia
Dla Majsterkowiczów zakupy w Nettigo za pół ceny!
English
A może Arduino i sterowanie za pomocą telefonu komórkowego? Przydałoby się kiedyś zrealizować, jak zdobędę Arduino. Telefon jakiś stary kosztuje kilkanaście złotych, można się pokusić o zrobienie czegoś ciekawego, np.: alarm, sterowanie, oddzwanianie, SMS, dużo rzeczy…
Krzysiek Rudnicki
loading...
Fajny wpis. Jak się bawiłem układami TSOP1736 (też scalone odbiorniki IR) miałem problem bo losowo albo układ nie chciał działać, albo wskazywał jakieś bzdury. Podłączałem go w sposób analogiczny jak tutaj, czyli sam odbiornik bezpośrednio do arduino. Zajrzałem do datasheetu czy może coś tam na temat takich błędów jest. Znalazłem schemat (kondensator i 2 rezystory) poprawnego podłączenia TSOP. Problem zniknął od ręki.
loading...
Piotrek: Ja miałem podobnie na innych układach i okazało się, że wystarczy uziemić kompa :-).
loading...
No dobra, a teraz czekamy na wpis, jak zrobić własnego pilota IR :) podłączamy klawiaturkę, albo zwykłe małe buttony, wszystko na attiny/atmega i mamy komplet. Domowe centrum bezprzewodowego sterowania wszechświatem. Jeszcze można to połączyć ze sterowaniem arduino przez http://www... fantazja mnie ponosi ;)
loading...
Pilota też da się zrobić – żaden problem ;) Tylko raczej nie będzie on tak lekki i kompaktowy, jak jakiś standardowy pilot ;)
A sterowanie Arduino przez neta, to też pikuś. Ba – nawet już zacząłem robić takie domowe centrum sterowania przez net: http://goo.gl/ZL0Si ;)
loading...
No to byłoby coś pięknego!!
Do tej pory nie podchodziłem jakoś specjalnie pozytywnie do Arduino, jednak jak napiszesz artykuł o sterowaniu przez kompa poszczególnymi urządzeniami w domu to z miejsca idę i kupuję to cudo.
Mam pytanie. Rozumiem, że Arduino można sterować wszystkimi urządzeniami które mają podczerwień, czy można też innymi elektrycznymi lub jak przerobić inne elektryczne, żeby można było nimi sterować.
loading...
Urządzenia nie muszą mieć w ogóle podczerwieni. Podczerwień musi mieć pilot i Arduino – a już same urządzenia podpinasz tak, jak w powyższych przykładach podpinałem np. lampkę nocną :)
loading...
Tak, wiem, też przełączałem Twoje diody :D
ale właśnie, potem wrzuciłeś na fejsa to zdjęcie z linka i nie widziałem, czy gdzieś rozwinąłeś ten pomysł. W jaki sposób sterujesz sprzętami? Przez pilota IR właśnie?
loading...
Tamten projekcik stanął chwilowo w miejscu, ale na pewno go jeszcze ruszę. I w nim sterowanie będzie się odbywało tylko przez neta (chociaż nic nie będzie stało na przeszkodzie, żeby wykorzystać też podczerwień, np. między leżącym gdzieś w pokoju Arduino, a lampą na suficie) :)
loading...
Czy w przypadku przekaźnika nie brakuje diody, która ochroni Arduino, w razie wzbudzenia napięcia w cewce przy przepływie prądu przez styki przekaźnika?
loading...
Przekaźnik jest podpięty przez tranzystor, który (tak mi się wydaje) powinien ochronić Arduino :)
loading...
Artur ma chyba racje, większość schematów z przekaźnikami ma dodatkowo diodę http://www.arduino.cc/playground/uploads/Learning/relays.pdf
loading...
Przekaźnik nie ochroni tylko zadziała jak dioda (tranzystor to warstwy NPN, a dioda NP), która skieruje impuls prosto do Arduino. Przy większych mocach może się okazać, że Arduino się resetuje hgw czemu.
loading...
Miało być “Tranzystor” zamiast “Przekaźnik”.
Są też tranzystory Mosfet z wbudowaną diodą.
loading...
No dobra – widać moja teoria była błędna, więc już dodałem info o diodzie zarówno do schematu, jak i do opisu :)
Serdecznie dziękuję za zwrócenie uwagi!
loading...
To co piszesz jest bardzo ciekawe. A projekt mówiacy o sterowaniu urządzeń w domu przez internet jest imponujący.
loading...
Posiadając tylko atmegę i programator USB chyba się nie da odczytać kodów pilota? Czy się mylę?
loading...
Da się, ale nie bezpośrednio – dane będą wyśiwietlone na ekranie podpiętym pod atmegę.
loading...
Jest dokładnie tak, jak pisze Patryk – kody możesz wyświetlać na jakimś wyświetlaczu podpiętym do Arduino. Ewentualnie możesz się za niecałe 6zł zaopatrzyć w tako konwerter USB->RS232 – wtedy będziesz mógł korzystać na kompie z Serial Monitora bez Arduino (no chyba, że masz w kompie RS232 – wtedy nawet tego ustrojstwa nie potrzebujesz:)
loading...
O widzisz, i masz kawałek, którego mi brakowało – zamiast identyfikować protokół pilota, używasz gotowej biblioteki :)
Mój problem polega na tym, że nie wiem, w jakim języku pilot gada (dzięki Twojemu postowi już wiem, jak się do niego dobrać :) – na razie po prostu moja “gwiazdka naścienna” reaguje na opadające zbocze (a by nie zmieniała trybów zbyt często – przez sekundę czy 2 wyłączone zostają przerwania).
By było zabawniej – kod piszę od zera, bez SDK Arduino – jak będę wiedział który protokół jest w użyciu, to dekoder da się napisać np. w oparciu o to: http://www.sbprojects.com/knowledge/ir/index.php
Odnośnie diod gaszących dla przekaźników – zaleca się zawsze, nawet, jak jest tranzystor. Aczkolwiek w projekcie resettera do serwerów poszedłem na łatwiznę – ULN2803 (8 “darlingtonów” we wspólnej obudowie) i pokrewne odpowiednie diody mają w środku. Swoją drogą – moja lampka też używa tego scalaka w stopniu wykonawczym :)
Dzięki za kolejnego ciekawego posta :)
loading...
@pavlick: z gołej ATmegi (168, 328) da się zrobić arduino, najwyżej będziesz potrzebował konwertera USB – Serial TTL (stary kabel do programowania komórek) lub któregoś z odpowiedników MAX232 (konwerter poziomów) i portu szeregowego w komputerze (względnie zestaw USB/RS232 i konwerter poziomów). Ja chwalę sobie płytki pod ATmega 8 (w które wchodzą też 328P) z AVT – jedna ma miejsce na konwerter USB/RS232 (FTDI, koszt scalaka to 13-16zł), więc używam jej tam, gdzie taka komunikacja może być potrzebna. Programuję zwykle programatorem.
loading...
Nawet nie trzeba się aż tak bawić. Arduino IDE ma obsługę programatorów. Można nawet zaprogramować Arduino jako programator.
loading...
O, to jak go zmusić, by poradził sobie z stk500v2 skonfigurowanym jako avrdoper?
I proszę wybaczyć moje lenistwo – pozwolili już użytkownikom z poziomu SDK bawić się przerwaniami, czy nadal jest to “wiedza tajemna” okraszona tabliczką “tam mieszkają smoki” (a tak naprawdę – biblioteki same używają przerwań i ręczne z nimi zabawy mogą to popsuć)?
loading...
Ja bym ustawił “Narzędzia->Programator->AVR ISP”
Przerwań zewnętrzych można używać przez funkcję attachInterrupt().
Jeśli chodzi o inne sprawy po za API to używa się ich bez problemu jak w klasycznym avr-libc czyli jak w dokumentacji Atmela.
Możesz normalnie używać rejestrów każdego wbudowanego układu, portu i przerwania poprzez SIGNAL. Bawie się Arduino od wersji 0018 i chyba od zawsze tak było.
W końcu to ich całe api jest tylko nakładką na avr-gcc i avr-glibc.
Jedyną restrykcją jest chyba tylko Timer0, który jest standardowo używany jako źródło czasu dla funkcji delay/delayMicroseconds/millis/micros.
Jeśli ich nie używasz to jego rejestry możesz również spokojnie nadpisać.
loading...
Ja bym to wykorzystał do pilota serwisowego LG ;D aby uaktywnić USB w telewizorach LG aby odtwarzały DVIXa :)
loading...
Bardzo ciekawe urządzenie. Chętnie wysterowałbym tak żonę :)
loading...
A ja mam dużo błędów bibliotekę skopiowałem.
Arduino 1.0.1
Tempbuild4263224601529647974.tmp/sketch_oct27d.cpp:7: undefined reference to `IRrecv::IRrecv(int)’
Tempbuild4263224601529647974.tmp/sketch_oct27d.cpp:16: undefined reference to `IRrecv::decode(decode_results*)’
/……
loading...
Zainstalowałeś bibliotekę IRemote?
loading...
Mam to samo…nie wiem w czym jest problem
loading...
Być może odpowiedzią jest post poniżej:
Ślubek
16 lutego 2013 o 20:24
loading...
a ja mam błąd
avrdude: stk500_getsync(): not in sync: resp=0×00
loading...
U mnie tak było, jak ATmega nie miała wgranego bootloadera. Jakoś przy zabawach go skasowałem bo nie był potrzebny. IDE z paczki z Ubuntu 12.04.01
loading...
Mój stary telefon Sony Ericsson k800i posiadał funkcje sterowania komputerem dzięki możliwości Bluetooth i odpowiedniego programu do komunikacji z telefonem ->> komputerem. Można było otwierać przeglądarkę internetową, wpisywać adresy stron w okienko przeglądarki i wiele innych. Przypuszczam, że możliwości wykorzystania jest wiele, dlatego też można by było się przyjrzeć możliwością wykorzystania technologii bluetooth do takich bajerów.
loading...
Wyskakuje mi błąd: “(…) librariesIRremoteIRremote.cpp:227: error: ‘TCCR2A’ was not declared in this scope (…)”. Wie ktoś w czym może być problem?
loading...
Proszę się upewnić, co do rodzaju używanego mikrokontrolera. Użycie w kodzie rejestru TCCR2A świadczy o przeznaczeniu kodu na uC ATMEGA168/328. Kod nie będzie działał na starszym arduino z ATMEGA8 (zakładam, że na takim uC następuje próba uruchomienia), który nie ma Timera 0 i nazwy rejestrów są przez to inne, niż w 168/328. Szczegóły w notach katalogowych a w wersji na skróty tutaj:
http://www.societyofrobots.com/member_tutorials/files/ATMega8.pdf
http://www.societyofrobots.com/member_tutorials/files/ATMega168.pdf
loading...
Witam.
Mógłbyś napisać (a najlepiej wrzucić także jakieś zdjęcie), w jaki sposób podłączyć lampkę nocną lub inne urządzenie do tego układu? Da się to zrobić bez rozcinania kabla? Jak prawidłowo podłączyć do tego układu i do lampki zasilanie 230V z gniazdka? Pewnie dla wprawionego elektronika lub majsterkowicza są to oczywiste sprawy, ale ja nie wiem, jak zrobić prawidłowo tak, aby działało i żeby niczego nie popsuć przy okazji. ;-)
Będę wdzięczny za odpowiedź.
Pozdrawiam.
loading...
Z napięciem sieciowym nie ma żartów – ktoś niewprawiony może np. złapać za przewód pod napięciem w trakcie wprowadzania poprawek czy podłączyć napięcie sieciowe bezpośrednio do Arduino i zjarać komputer. Bezpieczniej sterować żarówką zasilaną z baterii.
Można bez rozcinania to zrobić: bierzesz gniazdko sieciowe + kabel z wtyczką i po prostu podłączasz przekaźnik pomiędzy jeden przewód kabla i jeden wtyk gniazdka. Wtedy wpinasz lampkę do nowego gniazdka, a wtyczkę do gniazdka sieciowego. Nie radzę przełączać tym niczego większego niż żarówka, chyba że masz mocny przekaźnik.
loading...
A co w przypadku gdy posiadamy arduino uno? Jak zrealizowac ta emulacje klawiatury/myszki ? Domyslam sie, ze trzeba by bylo napisac program po stronie komputera, ktory odczytywalby odbierane wartosci w przypadku wcisniecia przycisku na pilocie i wykonania odpowiednich komend, sek w tym ze nie wiem jakich. Zapewne sa jakies bibliotek do obslugi myszki i klawy. Ktos mnie naprowadzi na to?
loading...
Możesz albo napisać własnie taki program na PC, który nasłuchiwałby na Serialu i symulował wciśnięcia klawiszy, albo tym sposobem: http://mitchtech.net/arduino-usb-hid-keyboard/
loading...
Jest na stronie Atmela projekt soft-USB: http://www.atmel.com/Images/doc2556.pdf Można by przystosować pod profil HID.
loading...
Ja Cię po prostu nienawidzę, kiedy bym tu nie wszedł to zawsze knuję o tych Twoich pomysłach, później zamiast się skupić na robocie, to skupiam się na zabawkach. Muszę wysłać chyba pismo do providera aby zablokował mi raz na zawsze bloga majsterkowo.pl bo on po prostu uzależnia ! A już na pewno do tej prośby rękami i nogami dołączy się moja kobieta.
loading...
Pozdrów kobietę i nie marudź ;)
loading...
Czemu tutaj jasność diody określają liczby 0-255, a w poście OD CZEGO ZACZĄĆ ZABAWĘ Z ARDUINO, o szybkości migania diody są liczby 0-1024 ?
loading...
Wynika to ze specyfikacji Arduino (tzn. ogólnie mikrokontrolera) – na wyjściu (OUTPUT) możemy ustalać wartości od 0 do 255, a na wejściu (INPUT) analogowym od 0 do 1024.
loading...
Rozumiem, jak można odczytać komendy przycisków pilota nie mając Arduino tylko chcąc wykorzystać sam procesor i czy wystarczy sam procesor np.Atmega8 czy trzeba jeszcze jakieś rezystory, kondensatory itp?
loading...
Hmm… Trochę to nazbyt skomplikowane jak dla takiego początkującego majsterkowicza jak ja :)
loading...
Hej! a nie prościej do tego wykorzystać GIRDERA ? :)
Girder to narzędzie pozwalające na przejęcie kontroli nad dowolna aplikacją zainstalowaną w systemie Windows za pomocą pilota obsługującego podczerwień.
Program zaraz po instalacji posiada wbudowanych wiele profili obsługi najpopularniejszych aplikacji dostępnych na rynku w tym Winamp, VLC, Internet Explorer, Power DVD, Windows Media Center czy iTunes. Nie stoi jednak nic na przeszkodzie by zaprogramować swój domowy pilot od TV czy radia do obsługi innych programów. Girder obsługuje również wiele wtyczek, które ułatwiają i rozszerzają możliwości programu.
do tego jest wtyczka http://www.cesko.host.sk/girderplugin.htm i po kłopocie :-)
loading...
Hej, a da się w tym projekcie, w jakiś sposób wykorzystać odbiorniki podczerwieni ze starej, kulkowej myszki komputerowej?
Dzięki za odpowiedź. Pozdrawiam.
loading...
ja kiedyś GRIDER’a używałem prostsze w wykonaniu
loading...
230V i płytka stykowa? Odważnie.
loading...
Do odważnych świat należy ;)
loading...
Będzie post jak sterować urządzeniami przez internet ?
loading...
Wie ktoś co może być przyczyną tego, że zmienna która tutaj nazwana jest “results.value” ma zawsze wartość 0×0? Użyłem TSOP31236. Wartość taka sama dla każdego przycisku pilota.
loading...
Witam! Pilot sczytany, dioda się zapala!! Sukces! Dzięki za świetny poradnik!!
Mam pytanko, czy do zwykłej płytki stykowej, takiej jak na zdjęciu można bezpiecznie podłączyć 230V? Bo kupiłem resztę drobiazgów, ale mam takie małe wewnętrzne obawy przed podłączaniem płytki pod taki prąd.
PS. zauważyłem, że jak do diody czytającej IR zbliżam palec, to pojawiają się różne odczyty, skąd to się bierze? ktoś wie?
loading...
Poprawka, to nie DIODA, a scalony odbiornik.
loading...
Stąd, że każde ciało emituje podczerwień :)
loading...
Bardzo fajny wpis, na pewno sam też spróbuję to zmajstrować.
Zapytam jeszcze przy okazji, chociaż pewnie już ktoś kiedyś o to pytał. Jakiego programu używasz do robienia schematów, połączeń płytki z Arduino itp.?
loading...
schematy pochodzą zapewne z
http://fritzing.org
loading...
Czy oporności na rysunkach są oznaczone tak jak powinny być? Czyli dla przykłądu, w tym:
http://s.więcek.pl/majsterkowo.pl/uploads/2012/10/odbiornik-podczerwieni-moc.png
2x 330 Ohm
1x 220 Ohm
?
loading...
A czy jest możliwość podłączenia kilku odbiorników IR?
Najlepiej tak żeby można było dla każdego czujnika definiować dla tego samego kodu wykonywanie innych czynności.
Tzn po wciśnięciu np 1
kiedy odczyta to czujnik 1 zrobi coś tam
kiedy odczyta to czujnik 2 zrobi inna rzecz
loading...
Siemka, mam problem wywala mi error w związku z biblioteką, zaznaczam że wszystko dobrze wypakowałem itp. errory:
term:2: error: ‘IRrecv’ does not name a type
term:3: error: ‘decode_results’ does not name a type
term.cpp: In function ‘void setup()’:
term:7: error: ‘irrecv’ was not declared in this scope
term.cpp: In function ‘void loop()’:
term:11: error: ‘irrecv’ was not declared in this scope
term:11: error: ‘results’ was not declared in this scope
I mam jeszcze jeden problem, otóż chciałem żebywyświetlało mi cos w Serial Monitor, ale nic nie pokazuje:/
loading...
Witam,
zmontowałem taki układ jak w opisie tylko z innym czujnikiem podczerwieni, problem polega na tym, iz dioda się zapala i gaśnie ale zawsze po dwukrotnym wciśnięciu przycisku na pilocie, pytanie dlaczego?
loading...
Witam jaki tranzystor można zastosować zamiast BC547 do rozjaśniania/gaszenia 4 listw halogenów led każdy z nich o mocy 5W ?
loading...
Teraz wywala mi takie errory:
c:/arduino-1.0.1/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: odbiornik.cpp.elf section .text will not fit in region text
c:/arduino-1.0.1/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: region text overflowed by 214 bytes
loading...
Witam.
Podpiąłem wszystko jak na schemacie, wypróbowałem 5 pilotów i nic mi nie się nie wyświetla. Tak jakby Serial Monitor nie działał w ogóle. Ktoś ma jakieś pomysły?
loading...
A może odbiornik nie działa?
loading...
Wszystko działa ok, mam jednak obawy z podpięciem tego do sieci i stąd moje pytanie: Mam przekaźnik z oznaczeniami AC 250V 8A.
Czyli maksymalny prąd przełączania to 8A. Skąd mam wiedzieć ile prądu pobiera dane urządzenie które chciałbym podpiąć? Wszystko jest, jeśli już, podane w Watach. Mogę tu zastosować wzór P=U*I (więdząc, że mamy 230V) ? Albo jak to sprawdzić. Mam multimetr max 10A.
loading...
Mi tranzystor nie działa, ciągle na tym samym poziomie swieci latarka :/
loading...
Dodam tutaj bardzo istotny fakt o którym nie wspomniał autor: biblioteka IRemote wykorzystuje w jakiś sposób PWM na pinie 2. Nie można korzystać wtedy z niego jako PWM. Dość dziwne, ale nie chciało mi się analizować całej biblioteki dlaczego tak się dzieje.
loading...
Witam.
Próbowałem wgrać program do włączania diody na mikrokontroler
Attiny 2313 tak jak w tym poradniku http://majsterkowo.pl/progamowanie-mikrokontolerow-na-przykladzie-attiny2313/
Niestety przy kompilacji wyskoczyły mi takie błędy:
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp: In member function ‘void IRsend::mark(int)’:
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp:227: error: ‘TCCR2A’ was not declared in this scope
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp:227: error: ‘COM2B1′ was not declared in this scope
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp: In member function ‘void IRsend::space(int)’:
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp:235: error: ‘TCCR2A’ was not declared in this scope
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp:235: error: ‘COM2B1′ was not declared in this scope
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp: In member function ‘void IRsend::enableIROut(int)’:
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp:253: error: ‘TIMSK2′ was not declared in this scope
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp:263: error: ‘TCCR2A’ was not declared in this scope
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp:263: error: ‘WGM20′ was not declared in this scope
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp:263: error: ‘TCCR2B’ was not declared in this scope
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp:263: error: ‘WGM22′ was not declared in this scope
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp:263: error: ‘CS20′ was not declared in this scope
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp:263: error: ‘OCR2A’ was not declared in this scope
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp:263: error: ‘OCR2B’ was not declared in this scope
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp: In member function ‘void IRrecv::enableIRIn()’:
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp:279: error: ‘TCCR2A’ was not declared in this scope
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp:279: error: ‘WGM21′ was not declared in this scope
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp:279: error: ‘TCCR2B’ was not declared in this scope
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp:279: error: ‘CS21′ was not declared in this scope
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp:279: error: ‘OCR2A’ was not declared in this scope
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp:279: error: ‘TCNT2′ was not declared in this scope
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp:282: error: ‘TIMSK2′ was not declared in this scope
C:UsersBartekDesktoparduino-1.0.1-windowsarduino-1.0.1librariesIRremoteIRremote.cpp:282: error: ‘OCIE2A’ was not declared in this scope
Wie może ktoś jak to naprawić?
loading...
Mam odbiornik IR ale nie wiem jaki, napisano na nim 3607 49A, po podłączeniu jak na schemacie zaczyna się szybko mocno grzać. Ktoś doradzi czy taki odbiornik się nada?
loading...
@ Up
Wybierz sobie coś z tego: http://electropark.pl/241-odbiorniki-podczerwieni lub poszukaj na allegro odpowiedników.
Łukasz – jest szansa żebyś wykonał przynajmniej schemat dla 2 urządzeń? Chce zaprojektować układ na więcej przekaźników ale nie bardzo wiem jak to wszystko podłączyć (tzn coś tam wiem ale wolę się upewnić żeby mnie nie popieściło bo wtedy mogę Was tu już nie odwiedzić :P ). W przypadku dwóch, mógłbym już polecieć sobie analogicznie.
loading...
Mnie by interesowało takie coś
http://www.youtube.com/watch?v=fOHN-yMpOMo&feature=plcp
odbiornik ir na mikrokontrolerze ze sterowaniem 5 kanałami z diodami (2 kanały np migają). Jest szansa na jakiś tutorial?
loading...
Witam,
Czy mógłby ktoś wytłumaczyć po co steruje się przekaźnikiem poprzez tranzystor? Dlaczego nie można po prostu dać napięcie z Arduino na cewkę przekaźnika (na wyjściu jest 5V także teoretycznie tyle ile potrzeba aby cewka zwarła styki) ?
loading...
Bo wyjścia z Arduino mają małą wydajność prądową i mogą nie wytrzymać takiego obciążenia (dużo zależy od przekaźnika i rozmiarów cewki, która się w nim znajduje).
loading...
Mi wyrzuca takie błędy:
ketch_dec07a:4: error: ‘IRrecv’ does not name a type
sketch_dec07a:5: error: ‘decode_results’ does not name a type
sketch_dec07a.ino: In function ‘void setup()’:
sketch_dec07a:8: error: ‘irrecv’ was not declared in this scope
sketch_dec07a.ino: In function ‘void loop()’:
sketch_dec07a:10: error: ‘irrecv’ was not declared in this scope
sketch_dec07a:10: error: ‘results’ was not declared in this scope
Jak to naprawić?
loading...
Miałem ten sam problem. Wygląda na to, że tego typu błędy występują, gdy Arduino IDE nie potrafi znaleźć biblioteki.
Na stronie http://learn.adafruit.com/arduino-tips-tricks-and-techniques/arduino-libraries można poczytać o bibliotekach – nie jest tam to co prawda napisane wyraźnie, ale wydaje się, że nazwa katalogu musi być identyczna co nazwa plików z rozszerzeniami .h i .cpp.
Plik archiwum zawierający bibliotekę IRremote zawiera pliki w spakowanym katalogu ‘Arduino-IRremote-master/’ – po rozpakowaniu go do libraries/ powinno się zmienić tą nazwę na IRremote (i pamiętać, że są dwie literki ‘Rr’ w nazwie :^) ). Po zmianie nazwy należy zrestartować IDE i będzie się kompilować poprawnie.
loading...
Nie mogę skompilować tego programu z IRremote jeżeli urządzeniem docelowym jest attiny2313 -sypie błędami. Jest może biblioteka IRremote tylko dla attiny2313?
D:\arduino\libraries\IRremote\IRremote.cpp:279: error: ‘TCNT2′ was not declared in this scope
loading...
Witam, mam pytanie.
Posiadam arduino uno R3 i po wgraniu programu płynnego sterowania jasnością diody LED na PINIE 3 nie działa PWM. Dioda pozostaje zgaszona i zapala się dopiero przy maksymalnej wartości parametru (od razu “pełnym” światłem).
Po przełączaniu się na dowolny inny pin z tyldą i po zmianie nr pinu w kodzie programu wszystko działa oki. Czy może to świadczyć o jakiejś wadzie fabrycznej mojego Ardiuno ? Na usprawiedliwienie dodam, że jestem w temacie zupełnie zielony, a “płytka” jest nowa – świeżo zakupiona w nettigo.pl.
loading...
Ni wiem co jest tego przyczyną ale u mnie sytuacja jest identyczna. Na pinie np 5 działa jak należy. Plus drobna uwaga na dla odbiornika TSOP2236 kolejnosc pinow to 1 – sygnal, 2 – V, 3-GND.
loading...
Tez jestem ciekaw, bo u mnie jest identycznie :)
loading...
Witam!
W jaki sposób przerzucić program wykorzystujący bibliotekę IRremote na mikrokontroler? Postępując jak w poradniku http://majsterkowo.pl/progamowanie-mikrokontolerow-na-przykladzie-attiny2313/ wyskakują błędy.
loading...
Biblioteka IRremote jest za duża na atiny2313, napisana jest pod 328.
loading...
Czy jesli już zaprogramowaliśmy mikrokontroler na programatorze to czy możemy wyjąć owy mikrokontroler i wsadzić do osobnej płytki zawierającej układ np: odbiornik ir, rezystory, przekaźnik, zasilanie 5v i bedzie działać ? (a w programatorze tworzyć nowy projekt) czy na stałe korzystamy z całego programatora arduino ?
loading...
Jak dokładnie działa ten optotriak, nigdzie nie moge tego znaleźć i co znaczy że mają przejście przez zero?
loading...
Rezystory do BT138 to 330 Ohm?
loading...
Wszystko podlaczylem jak trzeba ale dioda sie nie wylancza.
Uzylem drugiego sposobu ( cichego ) do wlanczania diody.
Chcialbym juz wszystko podlaczyc do kontaktu itp ale dioda sie nie wylancza.
loading...
Dziękuje za ten wpis, działa wszystko co opisałeś, nawet nagrałem filmik z moim Arduino + IR + RGB LED
https://www.youtube.com/watch?v=YrR_1wdZNMk
loading...
Super. Bardzo przydatny post. A tu na temat zakłóceń od przekaźników i gdzie diodę a gdzie coś innego co te zakłócenia niweluje.
http://mikrokontrolery.blogspot.com/2011/03/przekaznik-i-zaklocenia.html
Pozdrawiam
loading...
Napisałem całkiem podobny programik do włączania listew LED przez IR , ale z racji moich małych umiejętności elektronicznych mam problem z tranzystorem. Wykonałem identyczny układ z tranzystorem BC547, ale listwa LED (ok. 30 cm) świeci bez przerwy bardzo słabym światłem. Układ w ogóle nie reaguje na komendy pilota. Gdy w grę wchodzi tylko jedna dioda zasilana z Arduino wszystko jest ok. To także nie jest wina tranzystora gdyż sprawdziłem 4 identyczne i jest to samo. Proszę o jakąś pomoc w tej sprawie.
loading...
Zastosuj BD 135 http://www.fairchildsemi.com/ds/BD/BD137.pdf
loading...
Witam na podstawie tego wpisu przerobilem sobie starego pilota i samochodzik R/C w calkiem fajna zabawke. Wykorzystalem do tego celu starego pilota samochodzik arduino uno oraz motor shield, kod od sterowania jasnoscia diody steruje pwm dla motorshield dodalem tylko cztery dodatkowe przyciski do zmiany kieronkow jazdy.
Pozdrawiam
loading...
Mam pytanko odnośnie podłączenia przekaźnika… Jak idą jego wyprowadzenia na pierwszym rysunku? Dlaczego dodatkowo zastosowano tranzystor? Nie można dać tranzystora z ceweczką sterowanej na 5V(takie jak w arduino)? Połączenie ze środkowej nóżki TSOP2236 do przekaźnika jaki ma sens? :)
Proszę o wyrozumiałość i wyjaśnienie, stawiam pierwsze kroczki z Arduino, do 230V na razie się nie pcham, ale zaciekawiło mnie to :) Z góry dziękuję za pomoc i opis projektu tutaj zamieszczony :) Powodzenia !
loading...
Cześć, czy tym optotriakiem i triakiem można przełaczac prad 24vac do elektrozaworu do nawadniania czy lepiej uzyc zwykly przekaznik elektromagnetyczny ?
loading...
Chcialem sterować wentylatorem 12v i wszystko zrobiłem tak jak jest opisane w Płynne sterowanie jasnością taśmy LED za pomocą pilota i mam jeden problem wszystko działa poprawnie wentylator ma przechodzi na różne prędkości obrotowe tylko niech ktoś mi powie dlaczego na niższych obrotach wentylator piszczy ??? i każdy inny też ???
loading...
Witam obecnie chce zrobic sterowanie tasma led rgd wszystko ladnie zdefiniowane cztery przyciski na pilocie do zalaczania poszczegolnych kolorow 3 przyciski i wylaczenia czwartym ale chcial bym zrealizowac cos takiego ze przyciskiem na pilocie moge wlaczyc dany kolor a jesli przycine drugi raz ten przycisk to go wylacze i jeszcze wprowadzic plynna zmiane dla danego koloru przyciski + i – ale nie wiem jak to za bardzo zrealizowac ma ktos moze jakis pomysl????
loading...
Bardzo ciekawe urządzenie. Szkoda tylko , że nie można tym wysterować żony :)
loading...
Kiedys wyczailem ta stronke w internecie, pomyslalem kolejna DIY, no coz, ale co projekt to po prostu geniusz w swojej prostocie. Oby tak dalej. Zycze sukcesow i z niecierpliwoscia czekam na kolejne projekty, zwlaszcza teraz, gdy zaopatrzylem sie we wlasne UNO :D.
loading...
Cieszę się niezmiernie, że Majsterkowo przypadło Ci do gustu :)
loading...
Czego można użyć zamiast odbiornika TSOP2236? Nigdzie w okolicy nie mogę go dostać :( Pozdrawiam i czekam na odpowiedź.
loading...
Andrzeju to sa kompatybilne odbiorniki TFMS5360, TSOP2236, SFH5110-36, TSOP1736 – odbiornik podczerwieni 36KHz. A co to Pana Lukasza mam pytanie, zlozylem ukladzik rozpakowalem biblioteke, ale gdy zczytuje kody danych przyciskow dzieje sie cos dziwnego. Kazdy guzik ma po kilka przypisanych kodow do siebie i zdaje mi sie ze wybierane sa one losowo. Wybierajac 2 kody z dwoch roznych przyciskow i podpinajac je do kodu programu, dioda nasluchu TX pali sie wiec odbiera sygnal, lecz led jak byl martwy tak jest. Led sprawdzony dziala. Nie mam pojecia co robie nie tak, moze to te piloty jakies specyficzne, pilot pochodzi od wiezy philipsa FW-630 Mini Hi-Fi System.
loading...
Witam :)
http://www.tme.eu/html/PL/przekazniki-subminiaturowe-serii-g5v1/ramka_1984_PL_pelny.html
Czy mogę zastosować taki przekaźnik do sterowania (w moim przypadku lampką nocną)?
loading...
Dokładnie ten: http://www.tme.eu/pl/details/g5v1-5/przekazniki-elektromagn-miniaturowe/omron/g5v-1-5vdc/ :)
loading...
Mam taki problem: Chciałem wykorzystać algorytm z przykładu o płynnym serwowaniu diodą led i przekształcić go na serowarnie serwem. Moja próba się nie powiodła, bo po wczytaniu programu serwo działa tylko raz tak jak powinno a później praktycznie się nie rusza.
Mój program wygląda tak:
#include
Servo sdol;
int pola = 0;
void setup()
{
Serial.begin(9600);
sdol.attach(2);
}
void loop () {
switch(Serial.parseInt()){
case 1://Jeśli wciśniesz “1″ to serwo przekręci się w prawo o 5 stopni
if(pola 4) {pola= pola-5;}
sdol.write(pola);
break;
}
}
Bardzo proszę o pomoc i góry dziękuje.
loading...
trochę ucięło mi program (od void loop):
void loop () {
switch(Serial.parseInt()){
case 1:
if(pola 4) {pola= pola-5;}
sdol.write(pola);
break;
}
}
loading...
Witam, mam taki problem, gdy podłączyłem odbiornik podczerwieni by użyć go do odczytu kodów z polota, zaczął się grzać i śmierdzieć spalenizną, nie mam pojęcia czemu tak się stało.
loading...
Witam, moj problem polega na płynnym rozjasnianiu/przyciemnianiu diody a mianowicie gdy przytrzymam przycisk to zwieksza mi jasnosc z, np: 105 na 110 i gdy trzymam przycisk wcisniety to nic sie nie dzieje. Aby sie pojasniało musze naciskac przycisk, trzymanie go nic nie daje :/ przy zczytywaniu przycisków gdy raz nacisne przycisk to wyskakuje dobry kod, ale gdy trzymam przycisk to na poczatku wyskoczy dobry kod a pozniej 0xfffffffff i tak dopoki nie puszcze. Na kazdym pilocie to samo.
A drugi moj problem to to samo co u kolegi Pacmana:
“Witam, mam pytanie.
Posiadam arduino uno R3 i po wgraniu programu płynnego sterowania jasnością diody LED na PINIE 3 nie działa PWM. Dioda pozostaje zgaszona i zapala się dopiero przy maksymalnej wartości parametru (od razu “pełnym” światłem).
Po przełączaniu się na dowolny inny pin z tyldą i po zmianie nr pinu w kodzie programu wszystko działa oki.”
Pozdrawiam
loading...
Co muszę zmienić jeżeli mam odbiornik:1838T ?
loading...
Witam
Mam taki (wydaje mi się) mały problem. Gdy wklejam program do płynnego sterowania diodą led na mikrokontroler jest wszystko ok i od strony technicznej jest wszystko dobrze. Ale dioda nie chce się rozjaśniać tylko po prostu gdy osiągnę maksymalną wartość (255) zaświeci się i świeci do póki nie zejdę z wartości 255. Czy Ktoś mógłby mi powiedzieć gdzie może być błąd?
loading...