Spisu treści:

Zastosowanie wysuwanego przycisku z wibracją: 7 kroków (ze zdjęciami)
Zastosowanie wysuwanego przycisku z wibracją: 7 kroków (ze zdjęciami)

Wideo: Zastosowanie wysuwanego przycisku z wibracją: 7 kroków (ze zdjęciami)

Wideo: Zastosowanie wysuwanego przycisku z wibracją: 7 kroków (ze zdjęciami)
Wideo: NAJBARDZIEJ ZŁOŚLIWE USTAWIENIE WE WSZYSTKICH SMARTFONACH ANDROID. ZMIEŃ TO TERAZ!!! 2024, Listopad
Anonim
Zastosowanie wysuwanego przycisku z wibracyjnym sprzężeniem zwrotnym
Zastosowanie wysuwanego przycisku z wibracyjnym sprzężeniem zwrotnym
Zastosowanie wysuwanego przycisku z wibracyjnym sprzężeniem zwrotnym
Zastosowanie wysuwanego przycisku z wibracyjnym sprzężeniem zwrotnym

W tym samouczku najpierw pokażemy, jak używać Arduino Uno do sterowania silnikiem wibracyjnym za pomocą rozszerzonego przycisku. Większość samouczków dotyczących przycisków zawiera przycisk na fizycznej płytce prototypowej, podczas gdy w tym samouczku przycisk został zmodyfikowany tak, aby można go było podłączyć do płytki prototypowej za pomocą kabli połączeniowych. Ten przycisk pozwoli Ci kontrolować siłę i wzór wibracji silnika. Następnie pokażemy możliwy prototyp technologii do noszenia wykorzystującej tę konfigurację. Ta rękawica do noszenia to rękawica z wysuwanymi końcami palców z przyciskami przymocowanymi na końcu, zaprogramowanymi tak, aby dawać użytkownikowi unikalne wibracje w zależności od konkretnego wciśniętego przycisku.

Krok 1: Elementy potrzebne do ustawienia przycisku do silnika wibracyjnego

Komponenty potrzebne do ustawienia przycisku do silnika wibracyjnego
Komponenty potrzebne do ustawienia przycisku do silnika wibracyjnego
  • Arduino Uno
  • Deska do krojenia chleba
  • Silnik wibracyjny wibratora monet
  • Przycisk Gaju
  • Przewody połączeniowe męskie-męskie (x10)
  • Przewód połączeniowy 4 pinowy
  • Dotykowy sterownik silnika
  • Złącze krawędziowe męskie-żeńskie
  • Lutownica

Krok 2: Schemat konfiguracji przycisku do silnika wibracyjnego

Schematy konfiguracji przycisku do silnika wibracyjnego
Schematy konfiguracji przycisku do silnika wibracyjnego

Powyższy diagram został stworzony za pomocą Fritzing.org.

Krok 3: Konfiguracja przycisku do konfiguracji silnika wibracyjnego

Krok 1: Przylutuj złącze krawędziowe do sterownika silnika wibracyjnego. Przylutuj przewody wibratora na monety do zacisków sterownika silnika wibracyjnego.

Krok 2: Podłącz 4-pinowy kabel połączeniowy do złącza przycisku.

Krok 3: Za pomocą jednego z przewodów połączeniowych podłącz pin GRD na Arduino do rzędu na płytce stykowej.

Krok 4: Za pomocą innego przewodu połączeniowego podłącz pin Volt 3.3 na Arduino do innego rzędu na płytce stykowej.

Krok 5: Teraz podłączymy sterownik silnika wibracyjnego do Arduino. Za pomocą trzeciego przewodu połączeniowego podłącz pin GND na sterowniku silnika wibracyjnego do tego samego rzędu na płytce stykowej, co pin GRD z Arduino. Zrób to samo z innym przewodem dla VCC (wolt) na sterowniku silnika wibracyjnego, do rzędu napięcia płytki stykowej.

Krok 6: Użyj jeszcze innego przewodu, aby podłączyć pin SDA na sterowniku silnika wibracyjnego do pinu SDA bezpośrednio na Arduino. Zrób to samo z pinami SCL na obu. Alternatywnie, wykonaj podobne podejście do kroku 5 i podłącz piny SDA i SCL na Arduino do ich własnych rzędów na płytce stykowej za pomocą przewodów połączeniowych. Następnie poprowadź przewód z rzędu, w którym styk SDA jest podłączony na płytce stykowej do styku SDA na sterowniku silnika. Zrób to samo dla rzędu SCL na płytce stykowej do styku SCL na sterowniku silnika.

Krok 7: Teraz zakończymy, podłączając przycisk do sterownika silnika wibracyjnego i Arduino. Użyj innego przewodu połączeniowego, aby podłączyć GRD z 4-pinowego przewodu połączeniowego podłączonego do złącza przycisku do tego samego rzędu, co inne przewody GRD na płytce stykowej. Zrób to samo z volt ponownie (VCC).

Krok 8: Połącz końcowy zapis z SIG na wyłamaniu przycisku z pinem w Arduino (na potrzeby naszego kodu użyliśmy pinu 7).

Krok 9: Podłącz Arduino, prześlij kod i zobacz, jak działa!

Krok 4: Kodeks

Przycisk-Wibracje-Motor.c

/* Kod zaadaptowany z https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 */
#włączać//Biblioteka sterowników silników dotykowych SparkFun
#włączać//biblioteka I2C
SFE_HMD_DRV2605L HMD; //Utwórz obiekt sterownika silnika dotykowego
wewn przycisk = 7; // wybierz pin wejściowy 7 dla przycisku
int wartość_przycisku = 0; // zmienna do odczytu stanu pinów
voidsetup()
{
/* Zainicjuj obiekt sterownika silnika dotykowego */
HMD.początek();
Serial.początek(9600);
Tryb HMD(0); // Tryb wejścia wyzwalacza wewnętrznego - do wyzwalania odtwarzania należy użyć funkcji GO().
HMD. MotorSelect (0x36); // Silnik ERM, 4x hamowanie, średnie wzmocnienie pętli, 1,365x wzmocnienie EMF back
HMD. Biblioteka(2); //1-5 i 7 dla silników ERM, 6 dla silników LRA
}
pętla pustej()
{
/* Uruchom silnik wibracyjny */
HMD.go();
button_val = digitalRead(przycisk);
if(wartość_przycisku== WYSOKA) {
/* To wyprowadza do dziennika naciśnięcia przycisku, użyj do debugowania*/
Serial.println("Przycisk naciśnięty.");
/* Biblioteka przebiegów zawiera 0-122 różnych typów fal */
HMD. Przebieg (0, 69);}
w przeciwnym razie{
/* Jeśli przycisk nie zostanie naciśnięty, zatrzymaj silnik wibracyjny */
HMD.stop();
}
}

zobacz rawButton-Vibration-Motor.c hostowany z ❤ przez GitHub

Krok 5: Film przedstawiający konfigurację przycisku do silnika wibracyjnego

Image
Image

Krok 6: Prototyp wysuwanej rękawicy

Prototyp wysuwanej rękawicy
Prototyp wysuwanej rękawicy
Prototyp wysuwanej rękawicy
Prototyp wysuwanej rękawicy

Jednym z możliwych zastosowań przycisku do silnika wibracyjnego jest pokazana powyżej rękawica. Zmodyfikowaliśmy tanie i dostępne materiały, takie jak strzykawki, w celu wykonania wysuwanych "końcówek palców". Przymocowaliśmy guziki rowkowe do końcówek zmodyfikowanych strzykawek za pomocą rzepów, wycięliśmy otwory w czubkach palców rękawicy i przełożyliśmy każdą strzykawkę przez otwory. 4-pinowe przewody połączeniowe przycisków są przewleczone przez strzykawki i są wystarczająco długie, aby można było rozciągnąć strzykawki na ich pełną długość. Arduino i płytkę stykową mocuje się za pomocą rzepu do górnej części rękawicy, co pozwala na łatwe podłączenie przewodów przycisków przez małą szczelinę u podstawy każdego palca. Napęd silnika jest przymocowany do spodniej strony rękawicy przez otwór, aby przykleić silnik wibracyjny do wnętrza rękawicy. Gdy użytkownik ma założoną rękawiczkę, silnik wibracyjny znajduje się pod spodem nadgarstka użytkownika. Gdy użytkownik dotknie powierzchni i naciśnie jeden z przycisków, silnik generuje unikalną wibrację sprzężenia zwrotnego.

Proces myślowy stojący za taką rękawicą polegałby na umożliwieniu osobie, która ją nosi, „dotykania” rzeczy poza zasięgiem ich zwykłych palców i otrzymywania informacji zwrotnej, że dotyka tych powierzchni. Wibracje zmieniają się w zależności od tego, który palec dotyka powierzchni, dzięki czemu użytkownik może stwierdzić, który palec dotyka powierzchni na podstawie wzorca wibracji.

Istnieje wiele sposobów na rozwinięcie prototypu, na przykład zwiększenie możliwości wysuwania palców lub zmianę sprzężenia zwrotnego w zależności od rodzaju dotykanej powierzchni. Najlepiej byłoby, gdyby wysuwane palce były tworzone za pomocą drukowania 3D, aby uzyskać lepsze opcje teleskopowania. Zamiast przycisków można zastosować czujnik temperatury, aby uzyskać informację zwrotną o tym, jak gorąca jest powierzchnia, której dotyka użytkownik, lub czujnik wilgoci do podobnych celów. Można by zaimplementować sposób wyczuwania, jak daleko „palec” został wysunięty, aby użytkownik wiedział, jak daleko znajduje się dotykany obiekt. To tylko kilka możliwych opcji dalszego rozwoju tego prototypu.

Ta rękawica może być wykonana ze zwykłych materiałów, co w prosty sposób poszerzy Twoje zmysły i stworzy informację zwrotną, którą użytkownik może poczuć i zrozumieć.

Krok 7: Kod dla wielu przycisków z unikalnym wyjściem wibracji

mutliple_buttons_to_vibmotor.ino

/* Kod zaadaptowany ze SparkFun https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide */
#włączać//Biblioteka sterowników silników dotykowych SparkFun
#włączać//biblioteka I2C
SFE_HMD_DRV2605L HMD; //Utwórz obiekt sterownika silnika dotykowego
int przycisk_środek = 7;
int indeks_przycisku = 5; // wybierz pin wejściowy dla przycisku
int pierścień_przycisku = 9;
int button_pinky = 3;
voidsetup()
{
HMD.początek();
Serial.początek(9600);
Tryb HMD(0); // Tryb wejścia wyzwalacza wewnętrznego - do wyzwalania odtwarzania należy użyć funkcji GO().
HMD. MotorSelect (0x36); // Silnik ERM, 4x hamowanie, średnie wzmocnienie pętli, 1,365x wzmocnienie EMF back
HMD. Biblioteka(2); //1-5 i 7 dla silników ERM, 6 dla silników LRA
}
pętla pustej()
{
HMD.go(); // uruchom silnik wibracyjny
/* Sprawdź, który przycisk jest wciśnięty i przebieg wyjściowy 0-122 */
if(digitalRead(button_middle)== HIGH) {
Serial.println("Przycisk naciśnięty.");
HMD. Przebieg (0, 112);}
elseif(digitalRead(button_index) == WYSOKI){
HMD. Przebieg (0, 20);
}
elseif(digitalRead(button_ring) == HIGH){
HMD. Przebieg (0, 80);
}
elseif(digitalRead(button_pinky) == WYSOKI){
HMD. Przebieg (0, 100);
}
/* Jeśli żaden przycisk nie zostanie naciśnięty, zatrzymaj się */
w przeciwnym razie{
HMD.stop();
}
}

zobacz rawmutliple_buttons_to_vibmotor.ino hostowane z ❤ przez GitHub

Zalecana: