- Wymagane składniki
- Schemat obwodu
- Komunikacja Bluetooth za pomocą okna poleceń MATLAB
- Komunikacja Bluetooth za pomocą GUI MATLAB
Bluetooth to najprostszy i najpopularniejszy protokół komunikacji bezprzewodowej krótkiego zasięgu w systemach wbudowanych. Bluetooth służy nie tylko do przesyłania danych z jednego urządzenia do drugiego, ale także służy do bezprzewodowego sterowania urządzeniami. Prawie każdy gadżet elektroniczny obsługuje teraz technologię Bluetooth, więc rozsądnym wyborem jest opcja sterowania Bluetooth w wbudowanej aplikacji.
Tutaj w tym samouczku nauczymy się, jak używać Bluetooth w MATLAB do komunikacji bezprzewodowej. Będziemy korzystać z wbudowanego w komputer Bluetooth z MATLAB-em po jednej stronie i HC-05 z Arduino po drugiej stronie. Istnieją dwa sposoby konfiguracji komunikacji między MATLAB-em a Arduino przez Bluetooth, jeden to okno poleceń, a drugi to MATLAB GUI. Kod Arduino dla obu metod pozostanie taki sam. Jeśli dopiero zaczynasz przygodę z MATLAB-em, zalecamy rozpoczęcie pracy z prostym programem migania diod LED w programie MATLAB i nauczenie się podstawowej terminologii używanej w MATLAB-ie. Możesz dalej badać więcej projektów MATLAB:
- Komunikacja szeregowa między MATLAB a Arduino
- Sterowanie silnikiem DC za pomocą MATLAB i Arduino
- Sterowanie silnikiem krokowym za pomocą MATLAB i Arduino
- Pierwsze kroki z przetwarzaniem obrazu przy użyciu MATLAB-a
Wymagane składniki
- Zainstalowany laptop MATLAB (preferencja: wersje R2016a lub nowsze)
- Arduino UNO
- Moduł Bluetooth (HC-05)
- LED (dowolny kolor)
- Rezystor (330 omów)
- Przewody połączeniowe
Aby dowiedzieć się więcej o HC-05 i jego interfejsie z Arduino, zapoznaj się z następującymi artykułami.
- Serwosilnik sterowany przez Bluetooth przy użyciu Arduino
- Diody LED sterowane głosem za pomocą Arduino i Bluetooth
- AC sterowany telefonem komórkowym za pomocą Arduino i Bluetooth
Schemat obwodu
Schemat komunikacji Bluetooth między MATLAB a Arduino jest podany poniżej:
Komunikacja Bluetooth za pomocą okna poleceń MATLAB
Jest to prosta metoda konfiguracji komunikacji Bluetooth między Arduino i MATLAB. Tutaj MATLAB wykorzystuje bluetooth laptopa do połączenia HC-05 połączonego z Arduino. Najpierw musimy zakodować Arduino, aby odczytywał szeregowe dane przychodzące z MATLABA (za pomocą Bluetooth w laptopie).
Następnie te dane przesyłane przez Bluetooth z MATLAB mogą być używane do sterowania wszystkim podłączonym do Arduino. Tutaj podłączyliśmy diodę LED do Arduino, którą można sterować z LAPTOPA za pomocą MATLAB.
Najpierw prześlij podany kod Arduino do Arduino UNO, a następnie rozpocznij kodowanie w oknie poleceń MATLAB.
#zawierać
Następnie skopiuj i wklej poniższy kod MATLAB w oknie poleceń do komunikacji Bluetooth między MATLAB a Arduino.
instrhwinfo („Bluetooth”, „HC-05”); bt = Bluetooth ('HC-05', 1); fopen (bt);
W poniższym kodzie polecenie fprintf (bt, '0') służy do wyłączenia diody LED poprzez wysłanie '0' do Arduino. Teraz, jeśli chcesz włączyć diodę LED, po prostu wyślij „1” zamiast „0”, używając poniższego polecenia.
fprintf (bt, '1');
Aby sprawdzić informacje o dostępnym sprzęcie, użyj poniższego polecenia
instrhwinfo („typ”, „nazwa urządzenia”);
Aby otworzyć port bluetooth, użyj poniższego polecenia
fopen (bt);
Sprawdź poniższy film, aby zrozumieć cały proces wysyłania danych z MATLAB do Arduino za pomocą Bluetooth.
Komunikacja Bluetooth za pomocą GUI MATLAB
Aby zademonstrować komunikację Bluetooth za pomocą MATLAB GUI, utworzymy trzy graficzne przyciski w MATLAB-ie do włączania, wyłączania i mrugania diodą LED podłączoną do Arduino. Dane zostaną przesłane przez bluetooth z MATLAB do HC-05 po kliknięciu tych graficznych przycisków. Arduino zawiera kod do odbierania danych przesyłanych przez Bluetooth z MATLAB do HC-05 i sterowania diodą LED zgodnie z otrzymanymi danymi. Kod Arduino pozostanie taki sam, jak poprzedni, z tą różnicą, że wcześniej przesyłaliśmy dane „1” i „0” przez okno poleceń MATLABA, a teraz te same dane zostaną przesłane po kliknięciu trzech graficznych przycisków.
Aby uruchomić GUI, wpisz poniższe polecenie w oknie poleceń
przewodnik
Otworzy się wyskakujące okienko, a następnie wybierz nowy pusty GUI, jak pokazano na poniższym obrazku,
Teraz wybierz trzy przyciski do włączania, wyłączania i mrugania diodą LED, jak pokazano poniżej,
Aby zmienić rozmiar lub kształt przycisków, po prostu kliknij na niego, a będziesz mógł przeciągać rogi przycisku. Dwukrotne kliknięcie przycisku pozwala zmienić kolor, ciąg i tag tego konkretnego przycisku. Dostosowaliśmy trzy przyciski, jak pokazano na poniższym obrazku.
Możesz dostosować przyciski według własnego wyboru. Teraz, kiedy to zapiszesz, kod zostanie wygenerowany w oknie edytora MATLAB-a. Edytuj ten kod zgodnie z zadaniem, które chcesz wykonać przez Arduino podczas odbierania danych Bluetooth za pomocą GUI MATLAB. Więc poniżej zmieniliśmy kod MATLAB. Możesz dowiedzieć się więcej o oknie poleceń, oknie edytora itp. W samouczku Pierwsze kroki z MATLABem.
Kompletny kod MATLAB, do sterowania diodami LED z MATLABa przez Bluetooth, jest podany na końcu tego projektu. Ponadto dołączamy plik GUI (.fig) i plik kodu (.m) do pobrania, za pomocą którego można dostosować przyciski zgodnie z wymaganiami. Poniżej znajduje się kilka poprawek, które zrobiliśmy, aby kontrolować diodę LED połączoną z Arduino.
Skopiuj i wklej poniższy kod w linii nr. 74, aby skonfigurować lub podłączyć MATLAB do Bluetooth laptopa.
Wyczyść wszystko; globalny bt; instrhwinfo („Bluetooth”, „HC-05”); bt = Bluetooth ('HC-05', 1); fopen (bt);
gdzie fopen (bt) służy do otwierania portu Bluetooth do przesyłania danych.
Teraz, kiedy przewiniesz w dół, zobaczysz, że istnieją trzy funkcje utworzone dla trzech przycisków w GUI. Teraz napisz kod w funkcjach zgodnie z zadaniem, które chcesz wykonać po kliknięciu.
W funkcji przycisku LED ON , skopiuj i wklej poniższy kod tuż przed zakończeniem funkcji, aby włączyć diodę LED. W poniższym kodzie fprintf (bt, '1') służy do wysyłania '1' z MATLAB do HC-05 za pomocą Bluetooth laptopa. Arduino otrzyma te dane „1” przez HC-05 i świeci dioda poprzez jego 11 th pin HIGH.
globalny bt; fprintf (bt, '1');
W funkcji przycisku LED OFF , skopiuj i wklej poniższy kod tuż przed zakończeniem funkcji, aby wyłączyć diodę LED. W poniższym kodzie fprintf (bt, '0') służy do wysyłania '0' z MATLAB do HC-05 za pomocą Bluetooth w laptopie. Arduino otrzyma '0' przez HC-05 i wyłączy diodę LED, ustawiając 11- ty pin LOW.
globalny bt; fprintf (bt, '0');
W funkcji przycisku BLINK użyj poniższego kodu do migania diody LED. Do obiegu stosuje się miganie diody LED 10 razy.
globalny bt; dla i = 1:10 fprintf (bt, '1'); pauza (0,5); fprintf (bt, '0'); pauza (0,5); koniec
Po zakończeniu kodowania MATLAB GUI i skonfigurowaniu sprzętu zgodnie ze schematem obwodu, wystarczy kliknąć przycisk Uruchom, aby uruchomić edytowany kod w pliku.m.
MATLAB może odpowiedzieć kilka sekund, nie klikaj żadnego przycisku GUI, dopóki MATLAB nie pokaże komunikatu ZAJĘTY, który możesz zobaczyć w lewym dolnym rogu ekranu, jak pokazano poniżej,
Gdy wszystko będzie gotowe, kliknij przycisk LED-ON, LED OFF i BLINK, aby odpowiednio włączyć, wyłączyć i mrugnąć diodą LED. Wszystkie pliki kodu dla tego projektu można pobrać stąd lub skorzystać z kodu podanego poniżej.
Sprawdź poniższy film, aby zrozumieć cały proces wysyłania danych z MATLAB do Arduino przez Bluetooth za pomocą GUI MATLAB.