- Wymagane materiały:
- Metodyka pracy:
- Wymagania wstępne:
- Działanie pilota AC:
- Schemat obwodu i wyjaśnienie:
- Dekodowanie sygnałów zdalnych AC:
- Główny program Arduino:
- Instalowanie aplikacji na Androida:
- Działanie klimatyzatora sterowanego telefonem komórkowym:
W dzisiejszym nowoczesnym świecie, gdziekolwiek się udajemy, mamy wokół siebie wiele urządzeń elektronicznych. Ale spośród wszystkich jest tylko jedno urządzenie, które osobiście mamy cały czas w kieszeniach. Tak, to nasze telefony komórkowe. Teraz telefony komórkowe stały się czymś więcej niż tylko urządzeniem służącym do komunikacji, są naszymi aparatami, naszymi mapami, naszymi kartami na zakupy, a co nie?
Mając tę możliwość w naszych rękach, naprawdę nudnym pomysłem jest używanie pilotów do sterowania dowolnymi aplikacjami elektronicznymi w naszym domu, takimi jak telewizor, klimatyzacja, kino domowe itp. Zawsze frustrujące jest sięganie po pilota klimatyzatora z wygodnego łóżka. lub sofa. Dlatego w tym projekcie zamierzamy zbudować niewielką konfigurację, za pomocą której można sterować klimatyzatorem za pomocą smartfona za pomocą Bluetooth i Arduino. Brzmi interesująco, prawda! Zbudujmy jeden
Wymagane materiały:
- Arduino Mega 2560
- TSOP (HS0038)
- Dioda podczerwieni
- Dowolna kolorowa dioda LED i rezystor 1K (opcjonalnie)
- HC-06
- Płytka prototypowa
- Podłączanie przewodów
Metodyka pracy:
Wszystkie piloty zdalnego sterowania w naszym domu, których używamy do sterowania telewizorem, zestawem kina domowego, klimatyzacją itp., Działają z pomocą nadajników podczerwieni. Rotacyjna IR jest tylko dioda LED na podczerwień, które mogą blasterowego sygnału przez powtarzające się pulsowania; sygnał ten zostanie odczytany przez odbiornik w urządzeniu elektronicznym. Dla każdego innego przycisku na pilocie zostanie wyrzucony unikalny sygnał, który po odczytaniu przez odbiornik służy do wykonania określonego, wcześniej zdefiniowanego zadania. Jeśli jesteśmy w stanie odczytać ten sygnał wychodzący z pilota, możemy następnie naśladować ten sam sygnał za pomocą diody podczerwieni, gdy jest to wymagane do wykonania tego konkretnego zadania. Wcześniej wykonaliśmy obwód IR Blaster dla Universal IR Remote i do automatycznej kontroli temperatury AC.
TSOP to odbiornik podczerwieni, które mogą być użyte do dekodowania sygnału pochodzącego z piloty. Użyjemy tego TSOP do dekodowania wszystkich informacji z naszego pilota i przechowywania ich na Arduino. Następnie wykorzystując te informacje i diodę podczerwieni, możemy odtworzyć sygnały IR z naszego Arduino, gdy zajdzie taka potrzeba.
Wymagania wstępne:
W przypadku tego projektu AC sterowanego przez Bluetooth Arduino upewnij się, że masz Arduino Mega, a nie inną wersję Arduino, ponieważ rozmiar kodu jest duży. Zainstaluj zdalną bibliotekę IR, korzystając z tego łącza, aby pracować z TSOP i IR Blaster.
Działanie pilota AC:
Zanim przejdziemy do projektu, poświęć trochę czasu i zwróć uwagę, jak działa pilot AC. Piloty AC działają w nieco inny sposób niż piloty TV, DVD IR. Na twoim pilocie może być tylko 10-12 przycisków, ale będą one w stanie wysyłać wiele różnych typów sygnałów. Oznacza to, że pilot nie wysyła za każdym razem tego samego kodu dla tego samego przycisku. Na przykład, gdy obniżysz temperaturę za pomocą przycisku w dół, aby uzyskać 24 ° C (stopnie Celsjusza), otrzymasz sygnał z zestawem danych, ale po ponownym naciśnięciu, aby ustawić 25 ° C, nie uzyskasz tego samego danych, ponieważ temperatura wynosi teraz 25, a nie 24. Podobnie kod dla 25 będzie się różnić dla różnych prędkości wentylatora, ustawień uśpienia itp. Więc nie bawmy się wszystkimi opcjami i po prostu skoncentrujmy tylko wartości temperatury ze stałą wartością dla innych ustawień.
Innym problemem jest ilość danych, które są wysyłane po każdym naciśnięciu przycisku, zwykłe piloty wysyłają 24 bity lub 48 bitów, ale pilot AC może wysyłać do 228 bitów, ponieważ każdy sygnał zawiera wiele informacji, takich jak temperatura, prędkość wentylatora, Czas snu, styl Swing itp. To jest powód, dla którego potrzebujemy Arduino Mega dla lepszych opcji przechowywania.
Schemat obwodu i wyjaśnienie:
Na szczęście konfiguracja sprzętowa tego klimatyzatora sterowanego telefonem komórkowym jest bardzo łatwa. Możesz po prostu użyć płytki prototypowej i wykonać połączenia, jak pokazano poniżej.
Poniższa tabela może również służyć do weryfikacji połączeń.
S.No: |
Pin komponentu |
Pin Arduino |
1 |
TSOP - Vcc |
5V |
2 |
TSOP - Gnd |
Gnd |
3 |
TSOP - Signal |
8 |
4 |
Dioda IR - katoda |
Gnd |
5 |
Dioda IR - anoda |
9 |
6 |
HC-05 - Vcc |
5V |
7 |
HC05 - Gnd |
Ziemia |
8 |
HC05 - Tx |
10 |
9 |
HC05 - Rx |
11 |
Po wykonaniu połączeń powinno wyglądać mniej więcej tak, jak pokazano poniżej. Użyłem Breadboard do porządkowania rzeczy, ale możesz również bezpośrednio podłączyć przewody męskie do żeńskich, aby podłączyć wszystkie komponenty
Dekodowanie sygnałów zdalnych AC:
Pierwszym krokiem do sterowania AC jest użycie TSOP1738 do dekodowania kodów IR pilota zdalnego sterowania AC. Wykonaj wszystkie połączenia zgodnie ze schematem połączeń i upewnij się, że zainstalowałeś wszystkie wspomniane biblioteki. Teraz otwórz przykładowy program „ IRrecvDumpV2 ”, który można znaleźć w Plik -> Przykłady -> IRremote -> IRrecvDumpV2 .
int recvPin = 8; IRrecv irrecv (recvPin);
Ponieważ nasz TSOP jest podłączony do pinu 8, zmień numer linii 9 na int recPin = 8, jak pokazano powyżej. Następnie prześlij program do Arduino Mega i otwórz Serial Monitor.
Skieruj pilota w stronę TSOP i naciśnij dowolny przycisk, dla każdego naciśnięcia przycisku odpowiedni sygnał zostanie odczytany przez TSOP1738, zdekodowany przez Arduino i wyświetlony na monitorze szeregowym. Przy każdej zmianie temperatury na pilocie otrzymasz inne dane. Zapisz te dane, ponieważ będziemy ich używać w naszym głównym programie. Twój monitor szeregowy będzie wyglądał mniej więcej tak, pokazałem też plik Worda na którym zapisałem skopiowane dane.
Zrzut ekranu pokazuje kod do ustawienia temperatury na 26 ° C dla mojego pilota AC. W zależności od pilota otrzymasz inny zestaw kodów. Podobnie skopiuj kody dla wszystkich różnych poziomów temperatury. Możesz sprawdzić wszystkie kody IR pilota klimatyzatora w kodzie Arduino podanym na końcu tego samouczka.
Główny program Arduino:
Kompletny program główny Arduino może być na dole tej strony, ale nie można korzystać z tego samego programu. Musisz zmienić wartości kodu sygnału, które właśnie otrzymaliśmy z przykładowego szkicu. Otwórz główny program na swoim Arduino IDE i przewiń w dół do tego obszaru pokazanego poniżej, w którym musisz zastąpić wartości tablic wartościami uzyskanymi dla pilota.
Zwróć uwagę, że użyłem 10 tablic, z których dwie używaliśmy do włączania i wyłączania prądu zmiennego, podczas gdy pozostałe 8 służą do ustawiania innej temperatury. Na przykład Temp23 służy do ustawiania 23 * C na twoim AC, więc użyj odpowiedniego kodu w tej tablicy. Gdy to zrobisz, wystarczy przesłać kod do Arduino.
Musimy zaimportować dwie biblioteki do tego projektu. Jedna to biblioteka IRremote , którą właśnie dodaliśmy do Arduino, a druga to wbudowana biblioteka szeregowa oprogramowania, która pomaga nam w korzystaniu z modułu Bluetooth.
#zawierać
Następnie inicjalizujemy moduł Bluetooth na pinach 10 i 11, a następnie używamy obiektu o nazwie irsend, aby uzyskać dostęp do wszystkich funkcji IR biblioteki.
SoftwareSerial BT_module (10, 11); // RX, TX IRsend irsend;
Dalej są bardzo ważne wiersze kodu. Tutaj znajdują się informacje potrzebne do sterowania klimatyzacją. Ten pokazany poniżej dotyczy mojego pilota AC, powinieneś uzyskać swój w poprzednim kroku.
Następny wewnątrz ustawiania pustych funkcji, możemy zainicjować dwa komunikację szeregową. Jeden to Bluetooth z szybkością 9600 bodów, a drugi to monitor szeregowy z szybkością 57600 bodów.
void setup () {BT_module.begin (9600); // BT działa na 9600 Serial.begin (57600); // Serial Monitor work son 57600}
Wewnątrz naszej pustej pętli (nieskończonej pętli) sprawdzamy, czy moduł Bluetooth coś otrzymuje. Jeśli coś zostanie odebrane, przechowujemy te informacje w zmiennej BluetoothData .
while (BT_module.available ()) // Jeśli nadchodzą dane {BluetoothData = BT_module.read (); // przeczytaj i zapisz Serial.println (BluetoothData); // wydrukuj go seryjnie do celów testowych}
Informacje otrzymane przez Bluetooth będą oparte na naciśniętym przycisku w naszej aplikacji na Androida, którą zainstalujemy w następnym kroku. Po otrzymaniu informacji wystarczy uruchomić odpowiedni kod IR, jak poniżej
if (BluetoothData == '2') {irsend.sendRaw (Temp23, sizeof (Temp23) / sizeof (Temp23), khz); delay (2000); // Wyślij sygnał do ustawienia Temperatue 23C}
Tutaj, jeśli otrzymamy kod '2', musimy ustawić temperaturę klimatyzatora na 23 ° C. Podobnie mamy kod od 0 do 9 do wykonywania wszystkich podstawowych funkcji sterowania AC. Możesz zapoznać się z pełnym kodem arduino na końcu tej strony.
Instalowanie aplikacji na Androida:
Ostatnim krokiem klimatyzacji sterowanej smartfonem jest instalacja aplikacji na Androida. Aplikacja dla systemu Android dla tego projektu została utworzona przy użyciu trybu przetwarzania systemu Android. Przetwarzanie to doskonałe narzędzie do tworzenia plików.EXE lub plików APK dla projektów osadzonych. Jest to platforma Open Source, podobnie jak Arduino, a zatem całkowicie darmowa do pobrania.
Jeśli nie chcesz zagłębiać się w to zbytnio, możesz po prostu pobrać plik APK stąd w pliku zip i zainstalować go bezpośrednio na telefonie komórkowym. Otwórz aplikację, a pojawi się ekran, jak pokazano poniżej, po którym możesz przejść do następnego kroku i cieszyć się pracą z projektem. Ale jeśli chcesz dostosować program aplikacji do swoich potrzeb, możesz przeczytać dalej.
Kompletny plik programu do przetwarzania kodu można pobrać stąd. Ten Zip będzie zawierał kod i źródło obrazu, przy użyciu którego działa aplikacja. Po otwarciu kodu możesz dostosować poniższe wiersze, aby dostosować go do swoich potrzeb.
Jak wspomniano wcześniej, przetwarzanie jest podobne do Arduino. Ma więc również funkcje void setup i void loop (tutaj rysuj). Wewnątrz konfiguracji void funkcji będziemy instruować Bluetooth z telefonem, aby połączyć się z Arduino Bluetooth. Nazwa mojego urządzenia to „HC-05”, więc mój wiersz kodu będzie taki
bt.start (); // rozpocznij nasłuchiwanie połączeń BT bt.getPairedDeviceNames (); bt.connectToDeviceByName („HC-05”); // Połącz się z naszym modułem bluetooth HC-06
Następnie wewnątrz funkcji load_buttons () możesz narysować dowolną liczbę przycisków. Narysowałem 10 przycisków, jak pokazano w aplikacji. Następnie mamy funkcję read_buttons (), która służy do wykrywania, którego przycisku dotykasz . Każdy przycisk ma określony kolor, więc gdy użytkownik dotyka ekranu, sprawdzamy, jakiego koloru dotknął i określamy, który przycisk dotknął. Przykładowy kod, aby utworzyć przycisk i wybierz to na podstawie koloru jest pokazany poniżej
fill (255,145,3); rect (szerokość / 2-szerokość / 4, wysokość / 2, szerokość / 4, wysokość / 12); wypełnić (255); tekst („25C”, szerokość / 2-szerokość / 4, wysokość / 2); // przycisk 5 if (color_val == - 13589993) {byte data = {'0'}; bt.broadcast (data);}
Wiersz „dane bajtowe = {'0'};” to bardzo ważna kwestia. To tutaj decydujemy, który kod ma zostać przesłany do Arduino przez Bluetooth. Tutaj po naciśnięciu tego przycisku znak „0” jest wysyłany z Bluetooth do Arduino. Podobnie możemy wysłać inny znak dla różnych przycisków. Znaki te można następnie porównać po stronie Arduino i podjąć odpowiednie działania.
Śmiało i pogrzeb po kodzie, jeśli masz jakiekolwiek wątpliwości, skontaktuj się ze mną przez sekcję komentarzy i postaram się jak najlepiej pomóc.
Działanie klimatyzatora sterowanego telefonem komórkowym:
Gdy będziesz gotowy ze sprzętem, kodem Arduino i aplikacjami na Androida, nadszedł czas, aby cieszyć się wynikami. Prześlij kod Arduino do swojego sprzętu i umieść go przed AC. Teraz otwórz aplikację Android na swoim telefonie komórkowym, jeśli wszystko działa zgodnie z oczekiwaniami, powinieneś zobaczyć „ Połączono z: nazwa_urządzenia (jakiś kod) ”, jak pokazano poniżej
Teraz wystarczy nacisnąć dowolny przycisk w aplikacji na Androida i powinno to wywołać odpowiednią akcję na klimatyzatorze, tak jakbyś używał pilota. Możesz dodać tyle przycisków, ile chcesz, modyfikując kod, a nawet zautomatyzować klimatyzację na podstawie temperatury w pomieszczeniu lub obecności. Sprawdź pełny kod Arduino i wideo poniżej.
Mam nadzieję, że projekt Ci się podobał i zrozumiałeś stojącą za nim koncepcję. Jak zawsze, jeśli masz jakiś problem z wykonaniem tego zadania, możesz użyć forów, aby zadać pytania i rozwiązać je.
Plik APK do instalacji aplikacji na Androida można pobrać stąd.