Główną koncepcją tego projektu jest to, że za pomocą różnych fal mózgowych użytkownik będzie mógł kontrolować robota, kursor na swoim komputerze lub włączać / wyłączać światła w swoim domu, podczas gdy mikrokontroler (Particle Photon) tworzy analizę online fal mózgowych użytkownika. Tak, dzięki temu urządzeniu naprawdę możesz korzystać z Mocy Myśli ... To urządzenie jest przeznaczone nie tylko dla leniwych lub fanów, zostało stworzone, aby dać ludziom szansę. którzy codziennie zmagają się z niepełnosprawnością. Robotopracowany przez autora działa podobnie jak system dla wózków inwalidzkich dom automatyzacja pomoże użytkownikowi kontrolować światło lub telewizor, nawet jeśli nie może się poruszyć. Tryb kontrolera PC może być przydatny nawet dla tych, którzy są całkowicie zdrowi.
Jak to działa
Do realizacji tego projektu wykorzystano cztery mikrokontrolery: Arduino Mega, Arduino Leonardo, UNO i Particle Photon. Mega to mózg projektu, który odbiera sygnały z zestawu słuchawkowego, analizuje i wysyła polecenia do innych urządzeń. Przekazuje wszystkie dane do Particle Photon, który tworzy serwer WWW. Leonardo kontroluje mysz na komputerze, a Uno służy do odbierania IR (sygnałów podczerwieni) i sterowania robotem. Urządzenie jest w stanie kontrolować trzy różne urządzenia (lub więcej, jeśli chcesz zaprogramować coś innego). Ponadto te trzy różne urządzenia będą nazywane kanałami. Urządzenie przełącza się między tymi kanałami, jeśli zamkniesz oczy:
Zamknij oczy na 1-2 sekundy: przejdź do funkcji automatyki domowej
Zamknij oczy na 2-4 sekundy: przejdź do trybu kontrolera robota
Zamknij oczy na 1-6 sekund: przełącza się w tryb kontrolera myszy
Aby uczynić funkcję automatyki domowej, do której można podłączyć wszystko: telewizor, żarówki, gniazda, cokolwiek chcesz, zastosowano przekaźniki
Do odbioru fal mózgowych - Necomimi, które mogą poruszać uszami w zależności od fal mózgowych (uwaga, medytacja). Wewnątrz małego chipa, który odczytuje fale mózgowe, odfiltrowuje szumy i daje bardzo dobry sygnał. Działa z interfejsem UART (szeregowym), więc przy pewnym hakowaniu możemy użyć Arduino do odczytu fal mózgowych.Rolą tego zestawu słuchawkowego jest bezprzewodowe przesyłanie fal mózgowych do centralnego serwera.
Jeśli już znasz poprzedni projektmożesz pominąć fazę demontażu i przebudowy Necomimi.
Zejdź na dół, aby zobaczyć, jak zdemontować i zrobić z niego bezprzewodowy zestaw słuchawkowy Bluetooth.
System sterowania automatyki domowej
Jeśli przejdziesz do trybu automatyki domowej, zwiększ poziom uwagi powyżej 70, aby włączyć pierwszy przekaźnik, zwiększ poziom medytacji powyżej 70, aby włączyć drugi przekaźnik, i zwiększ obie wartości powyżej 70, aby włączyć trzeci przekaźnik. Jest to trochę trudne, ale nie niemożliwe po pewnym treningu umysłu. Jeśli przekaźnik jest już włączony, użyj tego samego polecenia, aby go wyłączyć (jeśli jest włączony, osiągnij 70, aby go wyłączyć). Gdy system jest gotowy, do modułu przekaźnika można podłączyć dowolne urządzenie wysokiego napięcia (światło, telewizor, komputer, wentylator itp.).
Sterowanie myszą
Kursor jest kontrolowany przez emocje. Jeśli poziom uwagi jest mniejszy niż 25, przesuwa się w lewo, jeśli między 25 a 50 porusza się w prawo, jeśli między 50 a 75 idzie w górę, a jeśli między 75 a 100 spada. Możesz emitować kliknięcie przyciskiem myszy, zwiększając poziom medytacji. Oczywiście musisz się do tego przygotować.
Sterowanie robotem
Robot ma tylko trzy różne zespoły: zatrzymaj się, skręć w lewo i idź do przodu. Dlaczego tylko dwie opcje ruchu? Ponieważ te dwa kierunki wystarczą, aby przenieść robota w dowolne miejsce. Użyj swojego poziomu medytacji, aby obracać się z robotem, a kiedy osiągniesz kierunek, w którym chcesz się poruszać, zatrzymaj robota, a następnie przejdź do przodu z poziomem uwagi. Jest to najlepszy sposób sterowania robotem, a nawet początkujący, którzy nie są w stanie tak dobrze kontrolować uwagi i medytacji, mogą bawić się tym robotem.
Zestaw słuchawkowy przesyła sygnały BT (Bluetooth) do Arduino Mega, który analizuje przychodzące bajty i, w zależności od myśli użytkownika, kontroluje różne funkcje. Początkowo autor chciał użyć Particle Photon jako przekaźnika danych, ale ten mały moduł dostał rolę w tworzeniu serwera WWW. To była największa modyfikacja w całym projekcie. Używał również domowych modułów Arduino, ale można je kupić online.
Wszystkie części pochodzą z GearBest.com. Jest to sklep internetowy, taki sam jak na eBayu, ale części zamienne są dostarczane znacznie szybciej (może to wszystko na aliexpress). Dlatego jeśli chcesz stworzyć własny kontroler gier, kontroler robota lub Force Detecto r, zacznij od zakupu części.
Wymagane narzędzia:
lutownica
lutowane
pistolet do klejenia
taśma samoprzylepna / taśma dwustronna
narzędzie do ściągania izolacji
nożyce do drutu
Wyposażenie
/ Arduino Nano
Oprogramowanie:
Hakowanie Necomimi
Chcemy zmodyfikować tę zabawkę EEG do przesyłania danych przez Bluetooth, więc najpierw zdemontujemy obudowę. Śruby znajdują się pod naklejką. Usuń naklejkę i tył urządzenia, a znajdziesz w niej małe tablice. Pod płytą główną jest układ Neurosky TGAM. Przylutowane są do niego 4 przewody z płyty głównej mikrokontrolera, więc weź lutownicę i ostrożnie wyjmij ten obwód. Teraz przylutuj trzy przewody do styku GND, styku VCC i styku T. Trójnik to wyjście nadajnika o prędkości 57600 bodów, które przesyła pakiety danych do naszego mikrokontrolera. Po zlutowaniu trzech przewodów powyżej możesz zbudować własne źródło zasilania z możliwością ładowania. Autor wykorzystuje baterię litowo-jonową 500 mAh, obwód ładowarki USB, obwód podwyższający napięcie 5 V oraz dwa oporniki (100 omów i 200 omów), aby zapewnić osobne zasilanie 3,4 V dla układu i modułu Bluetooth. Na zdjęciu schemat połączeń.
Jeśli obwód jest gotowy, skonfiguruj moduł Bluetooth.
Postępuj zgodnie z instrukcjami i rysunkami poniżej i utwórz własny bezprzewodowy zestaw słuchawkowy EEG.
Najważniejszą częścią jest połączenie pinu „T” z „RX” w module Bluetooth.
HC-06: Najpierw prześlij szkic o nazwie „HC_06_Bluetooth” do Arduino UNO, a następnie podłącz moduł Bluetooth, jak pokazano na schemacie.
// HC-06-Bluetooth
void setup () {
// Uruchom sprzętowy serial.
Serial.begin (9600); // domyślna prędkość transmisji HC-06
opóźnienie (1000);
Serial.print („AT”);
opóźnienie (1000);
Serial.print („WERSJA AT +”);
opóźnienie (1000);
Numer seryjny („AT + PIN”); // aby usunąć hasło
opóźnienie (1000);
Numer seryjny („AT + BAUD7”); // Ustaw szybkość transmisji na 576000 - np. Necomimi dafault
opóźnienie (1000);
Serial.begin (57600); //
opóźnienie (1000);
}
void loop () {
}
Otwórz monitor szeregowy w Arduino IDE i poczekaj, aż Arduino skonfiguruje moduł BT. Twój moduł Bluetooth jest teraz ustawiony na 57600 bodów. Możesz wypróbować wiele aplikacji BCI (Brain Computer Interface), ponieważ ta zhakowana zabawka Necomimi będzie kompatybilna z dowolnymi aplikacjami Neurosky.
Możesz użyć tych aplikacji, aby dowiedzieć się, jak kontrolować fale mózgowe.
HC-05: Następnie użyj „HC_05_Bluetooth” i załaduj Arduino w taki sam sposób, jak poprzednio.
// HC-06-Bluetooth
void setup () {
// Uruchom sprzętowy serial.
Serial.begin (9600); // domyślna prędkość transmisji HC-05
opóźnienie (1000);
Serial.print („AT”);
opóźnienie (1000);
Serial.print („WERSJA AT +”);
opóźnienie (1000);
Serial.println („AT + ROLE = 1”); // ustaw HC-05 w trybie master
opóźnienie (1000);
Serial.println („AT + LINK =„ Wpisz swój adres tutaj ”); // teraz moduł powinien połączyć się automatycznie
opóźnienie (1000);
Numer seryjny („AT + UART = 57600,1,0”); // Ustaw szybkość transmisji na 576000
Serial.begin (57600); //
opóźnienie (1000);
}
void loop () {
}
Podłącz pin „EN” HC-05 do Arduino 3v3. Musisz wpisać adres modułu HC-06 w kodzie. Sprawdź adres modułu BT na smartfonie z Androidem. Zamień „:” (podwójne kropki) na „,” przecinki w kodzie.
I musisz zmienić adres w kodzie: 20: 15: 09: 15: 17: 82 = 2015.09.151782 W ten sposób moduł HC-05 może rozpoznać adres.
Zdalne sterowanie
Aby stworzyć tego niedrogiego robota, zastosowano czujnik podczerwieni 38 kHz, który jest używany w pilotach telewizyjnych.
Sterownik silnika
Schemat napędu silnika - potrzebne będą następujące dane:
2 zaciski śrubowe
L293D IC3
Pin nagłówka (90 stopni)
Rezystor 1k
Czerwona dioda LED
Przewody
Płytka drukowana
Za pomocą kilku drutów miedzianych i zgodnie ze schematem połącz styki mikroukładu ze stykami złącza. Nie ma znaczenia, która noga mikroukładu, do którego styku złącza, po prostu pamiętaj, gdzie je podłączyłeś. Dioda LED jest połączona szeregowo z rezystorem i równolegle z napięciem 5 V VCC.
montaż podwozia
Jako sterownik silnika elektrycznego wykorzystywany jest układ L293D, który może kontrolować dwa silniki. Spójrz na diagram, aby go zbudować.
Połącz części z Arduino
Arduino Pin == & gt; sterownik silnika
4 == & gt; 15
5 == & gt; 10
6 == & gt; 7
7 == & gt; 2)
VIN == & gt; 8
5v == & gt; 1, 9, 16
GND == & gt; 4, 5, 13, 12
Spójrz więc na schemat obwodu modułu L293D, a następnie podłącz jego styki do Arduino UNO, jak opisano powyżej. Pin 5v Arduino musi być podłączony do pinów 1, 9, 16, aby aktywować funkcję sterowania silnikiem chipa. Następnie użyj zacisków śrubowych, aby włączyć silniki.
Biblioteka wykorzystuje IRremote, kod, który odczytuje sygnały podczerwieni 38 kHz, dekoduje je, a następnie przesuwa robota. (Pobierz bibliotekę w sekcji „Oprogramowanie”).
W kodzie są komentarze, ale sedno jest takie, że dekoduje sygnały podczerwieni pochodzące z głównego serwera, a następnie, w zależności od tego, czego chce użytkownik, włącza silniki, po których robot porusza się do przodu lub skręca w lewo. Pobierz kod: „Robot_Code”. Pobierz to na swoje Arduino, a twój robot będzie gotowy.
Serwer główny (Arduino Mega, Leonardo, Photon)
Serwer odczytuje przychodzące pakiety danych z bezprzewodowego zestawu słuchawkowego. Skonfigurowany moduł BT wykorzystamy do zapewnienia komunikacji między zestawem słuchawkowym a serwerem. Arduino Mega jest mózgiem całego obwodu, wszystko jest podłączone do tego mikrokontrolera: Bluetooth, nadajnik podczerwieni LED, serwer WWW i kontroler myszy. Kod jest nieco skomplikowany, ale z reguły ma komentarze do zrozumienia.
Obudowa
Wszystko jest proste. Dwie płyty z pleksiglasu 18 x 15 cm, wygładź krawędzie papierem ściernym. Kilka śrub, aby połączyć je ze sobą.
Płyta przekaźnikowa
Będziesz potrzebować następujących informacji:
Tranzystor 2n2222 (3 szt.)
diody germanowe (3 szt.)
Rezystory 330 omów (3 szt.)
Rezystory 1 kOhm (3 szt.)
Przekaźnik 5 V (3 szt.)
złącza wtykowe
Płytka drukowana
Obraz jest wart więcej niż tysiąc słów, więc spójrz na schemat łączenia części na płytce drukowanej.
Jeżeli wyjście „Signal” pochodzi z Arduino, przekaźnik się włączy. Tranzystor wzmacnia sygnał, aby zapewnić wystarczającą moc dla przekaźnika. Wykorzystamy styki 37-38-39 do sterowania WYSOKIMI NISKIM poziomem każdego przekaźnika.
Aby zainstalować części na obudowie z pleksiglasu, autor użył dwustronnej taśmy. Prawie trzyma szczegóły.
Jest to serwer oprogramowania, więc wykonanie obwodu nie jest takie trudne. Wystarczy włączyć mikrokontrolery i ustanowić połączenie między nimi. Dioda podczerwieni jest podłączona do styku D3, a przekaźnik jest podłączony do 37-38-39. D16 Arduino Mega trafia do RX Photon, a D18 do RX Leonardo.
Połączenie robota
[2.02 Kb] (pliki do pobrania: 14)
Ale teraz kod jest gotowy i działa, więc wystarczy pobrać mikrokontrolery. Pobierz plik .ino lub skopiuj / wklej kod do swojego IDE i użyj go. Kod dla Particle Photon należy pobrać przez IDE przeglądarki. Aby to zrobić, zarejestruj się na. Podłącz laptopa do mikrokontrolera. Wszystko dzieje się prawie automatycznie, wystarczy dodać identyfikator urządzenia.
Przed pobraniem kodów upewnij się, że nic nie jest podłączone do pinów RX / TX. Odłącz więc moduł Bluetooth od Mega i odłącz Mega od Leonardo i Photona.
[489 b] (pliki do pobrania: 15)
Serwer WWWAby dodać funkcję IoT (Internet of Things) do swojego projektu, autor wykonał internetowy rejestrator danych za pomocą Particle Photon. W zależności od tego, co robisz z urządzeniem, Photon tworzy osobisty serwer i zapisuje dane w chmurze.Na początku może się to wydawać zastraszające, ale wyobraź sobie, że możesz określić, czy jesteś zestresowany (poziomy uwagi gwałtownie rosną i maleją) czy warto iść spać
(poziom medytacji jest zawsze powyżej 80)
. Ten serwer internetowy może pomóc ci żyć zdrowiej.
Kodowanie w przeglądarce
Particle ma również panel online, w którym można publikować dowolne dane za pomocą „Particle.publish ();” składnia Programiści paska narzędzi zaoszczędzili wiele czasu dla użytkowników. Kod został pobrany bezprzewodowo.