Სარჩევი:

ვიბრაციული უკუკავშირის მქონე გაფართოებული ღილაკის გამოყენება: 7 ნაბიჯი (სურათებით)
ვიბრაციული უკუკავშირის მქონე გაფართოებული ღილაკის გამოყენება: 7 ნაბიჯი (სურათებით)

ვიდეო: ვიბრაციული უკუკავშირის მქონე გაფართოებული ღილაკის გამოყენება: 7 ნაბიჯი (სურათებით)

ვიდეო: ვიბრაციული უკუკავშირის მქონე გაფართოებული ღილაკის გამოყენება: 7 ნაბიჯი (სურათებით)
ვიდეო: Дэвид Иглмен: Можем ли мы создать для людей новые чувства? 2024, ივლისი
Anonim
ვიბრაციული უკუკავშირის მქონე გაფართოებადი ღილაკის გამოყენება
ვიბრაციული უკუკავშირის მქონე გაფართოებადი ღილაკის გამოყენება
ვიბრაციული უკუკავშირის მქონე გაფართოებადი ღილაკის გამოყენება
ვიბრაციული უკუკავშირის მქონე გაფართოებადი ღილაკის გამოყენება

ამ გაკვეთილში, ჩვენ პირველ რიგში გაჩვენებთ თუ როგორ გამოიყენოთ Arduino Uno ვიბრაციის ძრავის გასაკონტროლებლად გაფართოებული ღილაკის საშუალებით. პრეს ღილაკებზე გაკვეთილების უმეტესობა მოიცავს ღილაკს ფიზიკურ დაფაზე, ხოლო ამ სახელმძღვანელოში ღილაკი შეცვლილია, რათა სამაგრის მაგივრად პურის დაფაზე იყოს დაკავშირებული. ეს ღილაკი საშუალებას მოგცემთ გააკონტროლოთ ძრავის სიმტკიცე და ვიბრაცია. ამის შემდეგ, ჩვენ ვაჩვენებთ აცვიათ ტექნოლოგიის შესაძლო პროტოტიპს, რომელიც იყენებს ამ კონფიგურაციას. ეს ტარება არის ხელთათმანი გაფართოებული თითებით და ღილაკებით მიმაგრებული ბოლომდე, დაპროგრამებული იმისათვის, რომ მისცეს ვიბრაციის უნიკალური უკუკავშირი დამცველს კონკრეტული ღილაკის დაჭერით.

ნაბიჯი 1: კომპონენტები, რომლებიც საჭიროა ვიბრაციის ძრავის დაყენების ღილაკზე

ვიბრაციის ძრავის დაყენების ღილაკისათვის საჭირო კომპონენტები
ვიბრაციის ძრავის დაყენების ღილაკისათვის საჭირო კომპონენტები
  • არდუინო უნო
  • პურის დაფა
  • მონეტის ვიბრატორი ვიბრაციის ძრავა
  • გროვ ღილაკი
  • მამაკაცი-მამაკაცი მხტუნავი მავთულები (x10)
  • Jumper Wire 4 პინი
  • Haptic ძრავის მძღოლი
  • კაცი-მდედრობითი ქალი Edge Connector
  • გასაყიდი რკინა

ნაბიჯი 2: სქემა ვიბრაციის საავტომობილო მექანიზმის დასაყენებლად

სქემა ვიბრაციის ძრავის დაყენების ღილაკზე
სქემა ვიბრაციის ძრავის დაყენების ღილაკზე

წინა დიაგრამა შეიქმნა Fritzing.org– ით.

ნაბიჯი 3: ღილაკის დაყენება ვიბრაციის ძრავის დაყენებაზე

ნაბიჯი 1: შეაერთეთ პირას კონექტორი ვიბრაციის ძრავის დრაივერთან. შეაერთეთ მონეტის ვიბრატორის მავთულები ვიბრაციის ძრავის დრაივერის ტერმინალებში.

ნაბიჯი 2: შეაერთეთ 4 პინიანი jumper კაბელი ღილაკზე.

ნაბიჯი 3: ერთ -ერთი ჯუმბერის მავთულის გამოყენებით, დაუკავშირეთ არდუინოს GRD პინდი მწკრივზე პურის დაფაზე.

ნაბიჯი 4: სხვა ჯუმბერის მავთულის გამოყენებით, დაუკავშირეთ ვოლტ 3.3 პინი არდუინოს სხვა რიგს პურის დაფაზე.

ნაბიჯი 5: ახლა ჩვენ დავაკავშირებთ ვიბრაციის ძრავის დრაივერს არდუინოსთან. მესამე მხტუნავი მავთულის გამოყენებით, დააკავშირეთ ვიბრაციის ძრავის დრაივერზე GND პინდი იმავე მწკრივზე, როგორც GRD პინდი Arduino– დან. იგივე გააკეთეთ სხვა მავთულით VCC– სთვის (ვოლტი) ვიბრაციის ძრავის დრაივერზე, პურის დაფის ვოლტ რიგში.

ნაბიჯი 6: გამოიყენეთ კიდევ ერთი მავთული, რომ დააკავშიროთ ვიბრაციის ძრავის დრაივერზე SDA პინი SDA პინთან პირდაპირ Arduino– ზე. ისევ და ისევ, იგივე გააკეთეთ SCL ქინძისთავებით ორივეზე. ალტერნატიულად, მიჰყევით მსგავს მიდგომას მე –5 საფეხურზე და შეუერთეთ არდაუინოს SDA და SCL ქინძისთავები მათ რიგებს პურის დაფაზე, ჯუმბერის მავთულის საშუალებით. შემდეგ გაუშვით მავთული იმ რიგიდან, სადაც SDA პინი დაფარულია დაფაზე და საავტომობილო დრაივერზე SDA პინზე. იგივე გააკეთეთ SCL მწკრივზე პურის დაფაზე SCL პინზე ძრავის მძღოლზე.

ნაბიჯი 7: ახლა ჩვენ დავასრულებთ ღილაკს ვიბრაციის ძრავის დრაივერთან და არდუინოსთან დაკავშირებით. გამოიყენეთ სხვა ჯამპერის მავთული GRD– ს დასაკავშირებლად 4 პინიანი ჯუმბერის მავთულიდან, რომელიც დაკავშირებულია ღილაკზე გარღვევასთან იმავე რიგში, როგორც სხვა GRD მავთულები პურის დაფაზე. იგივე გააკეთეთ ვოლტით კიდევ ერთხელ (VCC).

ნაბიჯი 8: დააკავშირეთ SIG– დან საბოლოო ჩაწერა ღილაკზე გარღვევაზე Arduino– ს პინთან (ჩვენი კოდის მიზნებისათვის ჩვენ გამოვიყენეთ პინ 7).

ნაბიჯი 9: ჩართეთ Arduino და ატვირთეთ კოდი და უყურეთ როგორ მუშაობს!

ნაბიჯი 4: კოდი

ღილაკი-ვიბრაცია-მოტორი.გ

/ * კოდი ადაპტირებულია https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 */
#ჩართეთ// SparkFun Haptic Motor Driver ბიბლიოთეკა
#ჩართეთ// I2C ბიბლიოთეკა
SFE_HMD_DRV2605L HMD; // შექმნა საავტომობილო დრაივერის ობიექტი
int ღილაკი = 7; // აირჩიეთ შეყვანის პინი 7 ღილაკზე
int button_val = 0; // ცვლადი პინის სტატუსის წასაკითხად
voidsetup ()
{
/ * Haptic Motor Driver Object– ის ინიციალიზაცია */
HMD. დასაწყისი ();
სერიული.დაწყება (9600);
HMD. რეჟიმი (0); // შიდა ტრიგერის შეყვანის რეჟიმი - დაკვრის დასაწყებად უნდა გამოიყენოთ GO () ფუნქცია.
HMD. MotorSelect (0x36); // ERM ძრავა, 4x დამუხრუჭება, საშუალო მარყუჟის მომატება, 1.365x უკანა EMF მომატება
HMD. ბიბლიოთეკა (2); // 1-5 & 7 ERM ძრავებისთვის, 6 LRA ძრავებისთვის
}
voidloop ()
{
/ * დაიწყეთ ვიბრაციის ძრავა */
HMD.go ();
button_val = digitalRead (ღილაკი);
თუ (button_val == HIGH) {
/* ეს გამომავალი ღილაკი შესასვლელად არის დაჭერილი, გამოიყენეთ debugginh*/
Serial.println ("ღილაკზე დაჭერილი.");
/ * ტალღის ფორმის ბიბლიოთეკას აქვს 0-122 სხვადასხვა ტიპის ტალღა */
HMD. ტალღის ფორმა (0, 69);}
სხვა {
/ * თუ ღილაკი არ არის დაჭერილი, შეაჩერე ვიბრაციის ძრავა */
HMD.stop ();
}
}

ნედლეულის ნახვა ButButton-Vibration-Motor.c მასპინძლობს GitHub– ით

ნაბიჯი 5: ვიდეო ღილაკი ვიბრაციის ძრავის დაყენებისათვის

Image
Image

ნაბიჯი 6: ხელთათმანების გაფართოების პროტოტიპი

ხელთათმანების გაფართოების პროტოტიპი
ხელთათმანების გაფართოების პროტოტიპი
ხელთათმანების გაფართოების პროტოტიპი
ხელთათმანების გაფართოების პროტოტიპი

ვიბრაციის ძრავაზე ღილაკის ერთი შესაძლო გამოყენება არის ხელთათმანი, რომელიც ნაჩვენებია ზემოთ. ჩვენ შევცვალეთ იაფი მისაწვდომი მასალები, როგორიცაა შპრიცები, რათა გავაგრძელოთ "თითის თითები". ჩვენ ვამაგრეთ გროვის ღილაკები მოდიფიცირებული შპრიცების ბოლოში ველკროს გამოყენებით, ხელთათმანის თითის წვერებზე გავჭრათ ხვრელები და თითოეული შპრიცი ჩავდოთ ხვრელებში. ღილაკების 4 პინიანი მავთული ხრახნიანია შპრიცებში და საკმარისად გრძელია, რომ შპრიცები გააგრძელოთ მთელ სიგრძეზე. Arduino და breadboard მიმაგრებულია velcro– ს ხელთათმანის თავზე, რაც საშუალებას იძლევა ღილაკების მავთულები ადვილად იყოს დაკავშირებული თითოეული თითის ძირის ძირზე მდებარე პატარა ნაპრალის მეშვეობით. საავტომობილო მძღოლი მიმაგრებულია ხელთათმანის ქვედა ნაწილზე გახსნით, რათა ვიბრაციის ძრავა ხელთათმანის შიგნითა ნაწილში დაიმაგროს. როდესაც ხელთათმანი ხელთათმანზეა, ვიბრაციის ძრავა ზის მატარებლის მაჯის ქვედა მხარეს. როდესაც მატარებელი ეხება ზედაპირს და იჭერს ერთ ღილაკს, ძრავის საშუალებით ხდება უკუკავშირის უნიკალური ვიბრაცია.

ასეთი ხელთათმანის უკან აზროვნების პროცესი იქნება ის, რომ მისმა ტარებამ ვინმეს მისცეს საშუალება „შეეხოს“ნივთებს მათი ჩვეულებრივი თითის დიაპაზონის მიღმა და მიიღოს გამოხმაურება, რომ ის ეხება ამ ზედაპირებს. ვიბრაციის უკუკავშირი იცვლება იმისდა მიხედვით, თუ რომელი თითი ეხება ზედაპირს, ისე რომ მომხმარებელმა შეძლოს ვიბრაციის ნიმუშის მიხედვით თქვას რომელი თითი ეხება ზედაპირს.

პროტოტიპის შემდგომი გადაყვანის მრავალი გზა არსებობს, მაგალითად, თითების გახანგრძლივება ან უკუკავშირის ცვლილების შეხება ზედაპირის ტიპის მიხედვით. იდეალურ შემთხვევაში, გაფართოებული თითები შეიქმნება 3D ბეჭდვის საშუალებით, ტელესკოპური უკეთესი ვარიანტისთვის. ტემპერატურის სენსორი შეიძლება გამოყენებულ იქნას ღილაკების ნაცვლად, რათა მოხდეს გამოხმაურება იმის შესახებ, თუ რამდენად ცხელია ზედაპირზე მომხმარებელი, ან ტენიანობის სენსორი მსგავსი მიზნებისთვის. შესაძლებელია განისაზღვროს რამდენად შორს არის „თითი“გაშლილი, რათა მომხმარებელმა იცოდეს რამდენად შორს არის ობიექტი, რომელსაც ეხება. ეს მხოლოდ რამდენიმე შესაძლო ვარიანტია ამ პროტოტიპის შემდგომი გამოყენებისათვის.

ეს ხელთათმანი შეიძლება გაკეთდეს საერთო მასალებით, როგორც მარტივი გზა თქვენი გრძნობების გასაფართოებლად და გამოხმაურების შესაქმნელად, რაც მომხმარებელს შეუძლია იგრძნოს და გაიგოს.

ნაბიჯი 7: კოდი მრავალი ღილაკისთვის ვიბრაციის უნიკალური გამომავალით

mutliple_buttons_to_vibmotor.ino

/ * კოდი ადაპტირებულია SparkFun– დან https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide */
#ჩართეთ// SparkFun Haptic Motor Driver ბიბლიოთეკა
#ჩართეთ// I2C ბიბლიოთეკა
SFE_HMD_DRV2605L HMD; // შექმნა საავტომობილო დრაივერის ობიექტი
int button_middle = 7;
int ღილაკი_ინდექსი = 5; // აირჩიეთ შეყვანის პინი ღილაკზე
int button_ring = 9;
int button_pinky = 3;
voidsetup ()
{
HMD. დასაწყისი ();
სერიული.დაწყება (9600);
HMD. რეჟიმი (0); // შიდა ტრიგერის შეყვანის რეჟიმი - დაკვრის დასაწყებად უნდა გამოიყენოთ GO () ფუნქცია.
HMD. MotorSelect (0x36); // ERM ძრავა, 4x დამუხრუჭება, საშუალო მარყუჟის მომატება, 1.365x უკანა EMF მომატება
HMD. ბიბლიოთეკა (2); // 1-5 & 7 ERM ძრავებისთვის, 6 LRA ძრავებისთვის
}
voidloop ()
{
HMD.go (); // ვიბრაციის ძრავის დაწყება
/ * შეამოწმეთ რომელი ღილაკია დაჭერილი და გამოდის ტალღის ფორმა 0-122 *//
if (digitalRead (button_middle) == HIGH) {
Serial.println ("ღილაკზე დაჭერილი.");
HMD. ტალღის ფორმა (0, 112);}
elseif (digitalRead (button_index) == მაღალი) {
HMD. ტალღის ფორმა (0, 20);
}
elseif (digitalRead (ღილაკის რგოლი) == მაღალი) {
HMD. ტალღის ფორმა (0, 80);
}
elseif (digitalRead (button_pinky) == მაღალი) {
HMD. ტალღის ფორმა (0, 100);
}
/ * თუ ღილაკი არ არის დაჭერილი გაჩერდით */
სხვა {
HMD.stop ();
}
}

rawmutliple_buttons_to_vibmotor.ino ნახვა hosted with GitHub

გირჩევთ: