Wykonany przez autorów prototyp projektu jest pokazany na fotografii powyżej.
System monitorowania procesów, oparty na smartfonie, jest z natury rzeczy korzystny dla personelu zajmującego się wieloma różnymi dziedzinami. Na przykład, diagnostyka stanu zdrowia i postępy pacjenta mogą być zdalnie monitorowane na smartfonie przez lekarzy, którzy mogą następnie w odpowiednim czasie udzielić wskazówek rezydentowi medycznemu. Podobnie, krytyczne zmienne procesowe w przemyśle procesowym mogą być również monitorowane na smartfonie przez inżyniera zmiany miejsca, który może dostarczyć w odpowiednim czasie informacji do inżyniera terenowego, aby zapewnić bezpieczeństwo procesu. Dlatego też system monitorowania oparty na smartfonie, który jest w stanie wyświetlać zmienne procesowe z wielu źródeł (czujników), może okazać się całkiem korzystny.
Obwód i budowa
Schemat połączeń dla projektu pokazano na rysunku 1. W projekcie wykorzystano następujące komponenty:
LM35. Jest to precyzyjny czujnik temperatury, którego napięcie wyjściowe jest proporcjonalne do temperatury (w °C). Za pomocą LM35 można zmierzyć temperaturę dokładniej niż za pomocą termistora. Posiada również niski stopień samonagrzewania i nie powoduje więcej niż 0,1°C wzrostu temperatury w nieruchomym powietrzu z powodu efektów samonagrzewania. Jego zakres temperatur pracy wynosi od -55°C do 150°C. Niska impedancja wyjściowa, liniowa relacja wejście-wyjście oraz precyzyjna kalibracja LM35 ułatwiają jego współpracę z układami odczytowymi i sterującymi. W tym projekcie, wyjścia czujników LM35 (SENS1 i SENS2) są podłączone do analogowych pinów wejściowych A1 i A2 Arduino. Zasilanie czujnika LM35 jest dostarczane z zasilania +5 V na płytce Arduino.
Arduino Uno. Arduino Uno jest płytką rozwojową opartą o mikrokontroler AVR ATmega328P z sześcioma pinami wejść analogowych i 14 pinami wejść/wyjść cyfrowych. Mikrokontroler posiada 32 kB pamięci ISP flash, 2 kB RAM i 1 kB EEPROM. Płytka zapewnia możliwość komunikacji szeregowej poprzez UART, SPI oraz I2C. Mikrokontroler może pracować z częstotliwością zegara 16 MHz. W tym projekcie Arduino służy do dwóch celów: (a) przetwarza napięcie wyjściowe układu LM35s na odpowiednią wartość temperatury w stopniach Celsjusza oraz (b) przesyła odpowiednie wartości do modułu Bluetooth poprzez pin Tx układu Arduino.
Moduł Bluetooth HC-05. Jest to łatwy w użyciu moduł Bluetooth SPP (Serial Port Protocol), który jest przeznaczony do konfiguracji bezprzewodowego połączenia szeregowego. HC-05 może być używany w konfiguracji master lub slave, co czyni go świetnym rozwiązaniem do komunikacji bezprzewodowej. Wykorzystuje on jednochipowy system Bluetooth CSR Bluecore 04-External z technologią CMOS i funkcją AFH (adaptive frequency hopping).
Smartfon z systemem Android. Aplikacja monitorująca (temp_multi_sensor.apk) jest oparta na systemie Android i została zaprojektowana przy użyciu platformy MIT App Inventor. MIT App Inventor jest intuicyjnym, wizualnym środowiskiem programistycznym, które pozwala użytkownikowi na budowanie w pełni funkcjonalnych aplikacji na smartfony i tablety PC. Po uruchomieniu zaprojektowanej przez nas aplikacji na smartfonie, dane wysyłane przez Bluetooth są odbierane i wyświetlane na smartfonie. Projekt został przetestowany na smartfonach Redmi 3S oraz Realme 5 Pro.
Oprogramowanie
Do realizacji projektu potrzebujemy następujących programów:
- Kod źródłowy Arduino (temp_multi_sensor.ino), który należy wgrać na Arduino Uno. Funkcja Serial.println() pomaga w przekazywaniu wartości temperatury z pinu Tx urządzenia Arduino do Bluetooth.
- Aplikacja na Androida (temp_multi_sensor.apk), którą należy zainstalować na smartfonie. Po udanej instalacji należy włączyć Bluetooth w smartfonie.
Po udanym sparowaniu HC-05 Bluetooth z Bluetooth smartfona, należy otworzyć aplikację i nacisnąć logo Bluetooth. Z listy sparowanych urządzeń wyświetlonej w aplikacji, wybierz urządzenie HC-05. Po udanym połączeniu, w aplikacji w smartfonie pojawi się komunikat "Connected". Aplikacja Android będzie teraz wyświetlać dane dotyczące obu temperatur (SENS1 i SENS2).
Zrzut ekranu z temperaturą mierzoną przez czujniki (SENS1 i SENS2, jak pokazano na rysunku 1) obserwowaną na smartfonie jest pokazany na rysunku 2. Zrzuty ekranowe sekcji Designer i Blocks w programie MIT App Inventor przedstawiono odpowiednio na rysunkach 3 i 4.