Spisu treści:
- Krok 1: Elementy potrzebne do ustawienia przycisku do silnika wibracyjnego
- Krok 2: Schemat konfiguracji przycisku do silnika wibracyjnego
- Krok 3: Konfiguracja przycisku do konfiguracji silnika wibracyjnego
- Krok 4: Kodeks
- Krok 5: Film przedstawiający konfigurację przycisku do silnika wibracyjnego
- Krok 6: Prototyp wysuwanej rękawicy
- Krok 7: Kod dla wielu przycisków z unikalnym wyjściem wibracji
Wideo: Zastosowanie wysuwanego przycisku z wibracją: 7 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
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
- 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
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ć |
#włączać |
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
Krok 6: 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ć |
#włączać |
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:
Zastosowanie MCP-23008 przy użyciu interfejsu przekaźnika (I2C):: 6 kroków
Zastosowanie MCP-23008 przy użyciu interfejsu przekaźnikowego (I2C):: HelloGood Greetings..!!I (Somanshu Choudhary) w imieniu przedsięwzięć technologicznych Dcube zamierzających kontrolować przekaźniki za pomocą protokołu I2C za pomocą Arduino nano i MCP23008
Opracowanie zmotoryzowanego wysuwanego joysticka: 10 kroków (ze zdjęciami)
Opracowanie zmotoryzowanego chowanego joysticka: ten zmotoryzowany chowany joystick to niedrogie rozwiązanie dla użytkowników wózków inwalidzkich, którzy mają trudności z ręcznym odchylaniem uchwytów joysticka. Jest to iteracja projektowa wcześniejszego projektu wysuwanego joysticka. Projekt składa się z
Prototyp przycisku PaniK (Español): 5 kroków (ze zdjęciami)
PaniK Button Prototype (Español): Botón de p'nico que al ser presionado env'a un mensaje personalizado a trav's de la cuenta de twitter del usuario; este se encuentra desarrollado mediante el uso del Arduino UNO y una aplicación móvil
Umieszczanie przycisku Kopiuj do schowka na stronie internetowej: 5 kroków (ze zdjęciami)
Umieszczanie przycisku Kopiuj do schowka na stronie internetowej: Może to brzmieć prosto i mogę wyglądać głupio, gdy umieszczam go na Instructables, ale w rzeczywistości nie jest to takie proste. Jest CSS, Jquery, HTML, jakiś fantazyjny javascript, no i wiesz
HC-SR04 VS VL53L0X - Test 1 - Zastosowanie w samochodach robotów: 7 kroków
HC-SR04 VS VL53L0X - Test 1 - Zastosowanie w samochodach robotów: Ta instrukcja proponuje prosty (choć tak naukowy, jak to tylko możliwe) proces eksperymentowania w celu porównania z grubsza skuteczności dwóch najpopularniejszych czujników odległości, które mają zupełnie inne fizyczne funkcjonowanie. HC-SR04 wykorzystuje ultras