- Wymagane składniki:
- Inżynieria odwrotna:
- Objaśnienie robocze:
- Połączenia obwodów:
- Program Arduino:
- Używanie przetwarzania do tworzenia aplikacji na Androida:
W tym projekcie wykorzystamy istniejące radio FM, które dawno przeszło naprawę, aby przekształcić je w inteligentne bezprzewodowe radio FM sterowane za pomocą telefonu, z pomocą Arduino i przetwarzania.
W ten sam sposób możemy przekształcić dowolne ręcznie obsługiwane urządzenie elektroniczne w urządzenie inteligentne. Każde urządzenie elektroniczne działa za pomocą sygnałów. Sygnały te mogą mieć postać napięć lub prądów. Sygnały mogą być wyzwalane ręcznie za pomocą interakcji użytkownika bezpośrednio lub za pomocą urządzenia bezprzewodowego.
Pod koniec tego projektu będziemy w stanie przekształcić większość naszych popularnych urządzeń elektronicznych, takich jak radio działające na przyciskach, w inteligentny gadżet bezprzewodowy, którym można sterować za pomocą smartfona przez Bluetooth. Aby to osiągnąć, będziemy musieli zrobić dwie główne rzeczy.
1. Przewidzieć, jak sygnały są generowane w istniejącym mechanicznym systemie przycisków.
2. Znajdź sposób na wyzwolenie tego samego sygnału za pomocą małego obwodu dodatkowego.
Więc zacznijmy…
Wymagane składniki:
Do tego projektu można wybrać stare lub nieużywane urządzenie elektroniczne, takie jak radio, telewizor, odtwarzacz CD lub kino domowe. Rzeczywiste składniki mogą się różnić w zależności od wybranego urządzenia. Ale żeby był bezprzewodowy, potrzebowalibyśmy mikrokontrolera, którym jest tutaj Arduino i bezprzewodowego nośnika, którym jest moduł HC-05 Bluetooth.
Inżynieria odwrotna:
Okej, więc teraz wybrałem stary odtwarzacz radia FM, który dawno przestał działać. A kiedy go otworzyłem, stwierdziłem, że przyciski na nim przestały działać. Będzie to dla nas idealne urządzenie do pracy, ponieważ nie będziemy już potrzebować przycisków, ponieważ zamierzamy uczynić go całkowicie bezprzewodowym. Poniższe zdjęcie przedstawia radio, które otworzyłem.
To była konfiguracja przycisków mojego radia (powyższy obrazek). Jak widać jest osiem przycisków, z których radio pobiera wejście. Możesz również zauważyć, że na płycie znajduje się osiem rezystorów. Co możesz wyciągnąć z tego…? Tak, każdy rezystor jest podłączony do przełącznika. Spójrzmy teraz na tylną stronę tablicy:
Możesz wyśledzić połączenie za pomocą ścieżek PCB, ale jeśli nadal jesteś zdezorientowany, możesz więcej wykorzystać milimetra w łączności i wymyślić obwód. Ta płyta ma trzy zaciski (zakreślone na czerwono), które dają sygnały do głównej płyty radia FM. Te piny zostały oznaczone jako S1, S2 i 1.7V. Oznacza to, że stałe napięcie 1,7 V jest wysyłane z płyty głównej do tej płyty, a gdy użytkownik naciśnie dowolny przycisk, nastąpi spadek napięcia na odpowiednim rezystorze i przez piny S1 i S2 zmienne napięcie zostanie wysłane z powrotem. Tak działa większość przycisków w naszych urządzeniach elektronicznych. Skoro już zorientowaliśmy się, jak to działa, zróbmy to bezprzewodowo.
Objaśnienie robocze:
Więc teraz, aby uczynić go bezprzewodowym, wystarczy podać napięcie z zakresu 0 - 1,7 V na S1 i uziemić płytę główną. Istnieje kilka sposobów, za pomocą których można naśladować ustawienia tych przycisków za pomocą mikrokontrolera.
Możemy użyć potencjometru cyfrowego i sprawić, aby zapewnił rezystancję na płytce zgodnie z zaprogramowaniem i gdy jest to wymagane. Ale to skomplikuje sprawę i spowoduje, że praca z Digipotem wymaga SPI, a Digipoty są kosztowne.
Możemy również wykorzystać sieć rezystorów tranzystorowych, w której każdy rezystor o różnych wartościach jest aktywowany przez tranzystor, który z kolei jest sterowany przez sam mikrokontroler. Ale znowu, aby zrobić to dla ośmiu przycisków, obwód będzie skomplikowany.
Prostym sposobem na to jest bezpośrednie wygenerowanie wymaganego napięcia zmiennego z mikrokontrolera i podanie go do pinów sygnałowych. Niestety Arduino ma tylko ADC i nie ma DAC. Ale na szczęście mamy PWM w Arduino. Ten PWM może działać jako zmienne napięcie za pomocą prostego filtra dolnoprzepustowego RC.
Powyżej pokazano filtr dolnoprzepustowy, kluczowym elementem jest tutaj kondensator, który uziemi cały sygnał pulsujący, a na wyjściu wysyłany jest czysty prąd stały. Zatem sygnały PWM z Arduino muszą być przesyłane przez filtr dolnoprzepustowy, a następnie podawane na płytkę sygnałową radia FM.
Obwód można łatwo zbudować na tablicy kropkowej, jak pokazano powyżej. Tutaj czarny przewód służy do uziemienia, a niebieskie i zielone przewody po lewej stronie zostaną wysłane do naszych płyt FM S1 (zielony) i S2 (niebieski), a przewody po prawej stronie otrzymają sygnały PWM z pinów 9 i 10 Arduino (patrz obrazek powyżej) i przepuść do karty FM przez filtr dolnoprzepustowy. Moduł Bluetooth wykorzystuje piny 11 i 12 jako Rx i TX.
Teraz możemy generować sygnały PWM od 0 V do 1,7 V i dowiedzieć się, jak zachowuje się nasze radio przy różnych poziomach napięcia. Następnym krokiem jest uczynienie tego urządzenia bezprzewodowym.
Połączenia obwodów:
Ten schemat przedstawia całą konfigurację filtra dolnoprzepustowego i modułu Bluetooth HC-05 podłączonego do Arduino Mega dla radia FM sterowanego przez Bluetooth.
Program Arduino:
Program dla Arduino jest podany w sekcji Kod poniżej. Możesz również przetestować zakres zmiennego napięcia dla swojego urządzenia elektronicznego za pomocą tego programu tutaj.
Zanim zaczniemy budować naszą własną aplikację na Androida dla naszego radia, zaleca się przetestowanie funkcji bezprzewodowej za pomocą aplikacji Terminal Bluetooth Monitor, jak pokazano na poniższym filmie. Zapoznaj się z tym artykułem, aby skonfigurować aplikację terminala Bluetooth w Arduino. Gdy będziemy mieć pewność, że działa, możemy wskoczyć do stworzenia własnej aplikacji na Androida.
Używanie przetwarzania do tworzenia aplikacji na Androida:
Fajnie jest, aby nasze urządzenie było bezprzewodowe, ale możemy również nadać naszemu urządzeniu osobisty charakter, tworząc własną aplikację na Androida. Możemy sterować urządzeniem w automatycznych zaplanowanych godzinach lub sterować nim na podstawie Twoich budzików. Po powrocie do domu możesz nawet ustawić radio odtwarzające ulubiony kanał. Wyobraźnia jest tutaj twoim ograniczeniem. Ale na razie stworzymy prosty interfejs użytkownika za pomocą przetwarzania, ta aplikacja będzie miała tylko kilka przycisków, za pomocą których możesz sterować radiem FM.
Przetwarzanie jest oprogramowaniem open source, które jest używane przez artystów do projektowania grafiki. To oprogramowanie służy do tworzenia oprogramowania i aplikacji na Androida.
Kod przetwarzania dla aplikacji na Androida do sterowania tym bezprzewodowym radiem FM jest podany tutaj:
- Kod przetwarzania aplikacji na Androida do sterowania radiem FM
Najpierw zbudowaliśmy tę aplikację na komputerze w trybie JAVA, aby ją poprawnie przetestować, oto kod przetwarzania dla tego samego. Kliknij go prawym przyciskiem myszy i kliknij „Zapisz łącze jako…”, aby pobrać plik kodu. Następnie otwórz plik w oprogramowaniu „Przetwarzanie” i kliknij przycisk „Uruchom”, aby sprawdzić, jak będzie wyglądał w telefonie. Aby otworzyć pliki *.pde, musisz zainstalować oprogramowanie „Processing”.
Po przetestowaniu aplikacji w trybie JAVA możemy łatwo przekształcić ją w tryb Android, przechodząc do zakładki Android w prawym górnym rogu okna Przetwarzanie. Aby nasz telefon z Androidem włączał Bluetooth i automatycznie łączył się z naszym modułem HC-05, musimy dodać następujące kody do naszego istniejącego programu Java, aby uczynić go aplikacją na Androida. Podaliśmy już pełny kod Androida w powyższym linku, więc możesz go bezpośrednio używać.
Poniżej znajdują się pliki nagłówkowe umożliwiające włączenie funkcji Bluetooth:
import android.content.Intent; import android.os.Bundle; import ketai.net.bluetooth. *; import ketai.ui. *; import ketai.net. *; import android.bluetooth.BluetoothAdapter; import android.view.KeyEvent;
Poniższe linie komunikują się z naszym adapterem Bluetooth telefonu za pomocą biblioteki Ketai i nazywamy nasz adapter bt .
BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter (); KetaiBluetooth bt;
Poniższa część kodu wywoła żądanie do użytkownika z prośbą o włączenie Bluetooth podczas uruchamiania aplikacji.
// Aby uruchomić BT na starcie ********* void onCreate (Bundle saveInstanceState) {super.onCreate (saveInstanceState); bt = nowy KetaiBluetooth (to); } void onActivityResult (int requestCode, int resultCode, Intent data) {bt.onActivityResult (requestCode, resultCode, data); } // **********
Tutaj instruujemy naszą aplikację na Androida, z którym urządzeniem Bluetooth musimy się połączyć. Linia bt.connectToDeviceByName (wybór); oczekuj nazwy urządzenia od naszej funkcji konfiguracji. Ponieważ nasze urządzenie Bluetooth nosi nazwę „HC-05”, do konfiguracji dodaje się poniższy wiersz. Ta nazwa będzie się różnić w zależności od nazwy modułów Bluetooth.
// Aby wybrać urządzenie bluetooth ********** void onKetaiListSelection (KetaiList klist) {String selection = klist.getSelection (); bt.connectToDeviceByName (wybór); // pozbądź się listy na razie klist = null; } // **********
bt.connectToDeviceByName („HC-05”);
Możesz albo dokonać tych zmian w Kodeksie przetwarzania na PC (tryb Java), albo bezpośrednio użyć naszego kodu przetwarzania dla Androida podanego w powyższym linku. Następnie podłącz telefon bezpośrednio do laptopa za pomocą kabla do transmisji danych i włącz debugowanie USB w telefonie. Teraz kliknij przycisk Odtwórz w oknie przetwarzania na komputerze, aplikacja zostanie bezpośrednio zainstalowana na telefonie z systemem Android i uruchomi się automatycznie. To takie proste, więc śmiało i wypróbuj.
Poniższy obrazek przedstawia nasz interfejs użytkownika aplikacji na Androida wraz z oknem kodowania. Obejrzyj wideo, aby zrozumieć i uruchomić kod na telefonie z systemem Android, a także na komputerze.
To wszystko, zamieniliśmy nasze stare radio FM w bezprzewodowy, nowoczesny gadżet, którym można sterować za pomocą naszej aplikacji na Androida. Mam nadzieję, że pomoże to ludziom dostać się do pracy, ale jeśli potrzebujesz wskazówek, jak zawsze, możesz skorzystać z sekcji komentarzy, a my z przyjemnością Ci pomożemy.