Სარჩევი:

ვიბროტაქტილური სენსორული ჩანაცვლებისა და გაზრდის მოწყობილობა (SSAD): 4 ნაბიჯი
ვიბროტაქტილური სენსორული ჩანაცვლებისა და გაზრდის მოწყობილობა (SSAD): 4 ნაბიჯი

ვიდეო: ვიბროტაქტილური სენსორული ჩანაცვლებისა და გაზრდის მოწყობილობა (SSAD): 4 ნაბიჯი

ვიდეო: ვიბროტაქტილური სენსორული ჩანაცვლებისა და გაზრდის მოწყობილობა (SSAD): 4 ნაბიჯი
ვიდეო: КИТАЙЦЫ, ЧТО ВЫ ТВОРИТЕ??? 35 СУПЕР ТОВАРОВ ДЛЯ АВТОМОБИЛЯ С ALIEXPRESS 2024, ივლისი
Anonim
ვიბროტაქტილური სენსორული ჩანაცვლებისა და გაზრდის მოწყობილობა (SSAD)
ვიბროტაქტილური სენსორული ჩანაცვლებისა და გაზრდის მოწყობილობა (SSAD)
ვიბროტაქტილური სენსორული ჩანაცვლებისა და გაზრდის მოწყობილობა (SSAD)
ვიბროტაქტილური სენსორული ჩანაცვლებისა და გაზრდის მოწყობილობა (SSAD)

ეს პროექტი მიზნად ისახავს ხელი შეუწყოს კვლევას სენსორული ჩანაცვლებისა და გაზრდის სფეროში. მე მქონდა შესაძლებლობა გამომეძიებინა ვიბროტაქტილური SSAD პროტოტიპების აგების სხვადასხვა ხერხი ჩემი სამაგისტრო დისერტაციის ფარგლებში. ვინაიდან სენსორული ჩანაცვლება და გაძლიერება არის თემა, რომელიც ეხება არა მხოლოდ კომპიუტერის მეცნიერებს, არამედ სხვა სფეროს მკვლევარებს, როგორიცაა კოგნიტური მეცნიერება, ნაბიჯ-ნაბიჯ ინსტრუქციამ უნდა მისცეს საშუალება ელექტრონიკისა და კომპიუტერული მეცნიერების არაექსპერტებს შეაგროვონ ეს პროტოტიპი საკუთარი თავისთვის. კვლევის მიზნები.

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

მიმდინარე ინსტრუქცია შეიცავს ნაბიჯ ნაბიჯ ინსტრუქციას, თუ როგორ უნდა ავაშენოთ ძირითადი SSAD პროტოტიპი 4-მდე ძრავით და ანალოგური სენსორებით.

ამ ინსტრუქციის გარდა, მე შევქმენი სამი გაფართოება: პირველ რიგში, მე გამოვაქვეყნე ინსტრუქცია, თუ როგორ გამოვიყენოთ ოთხზე მეტი ძრავა ამ SSAD პროტოტიპით (https://www.instructables.com/id/Using-More-Than-4…). მეორეც, მე შევქმენი მაგალითი და მაგალითი იმისა, თუ როგორ გავხადოთ ეს პროტოტიპი ტარებადი (https://www.instructables.com/id/Making-the-SSAD-W…) და როგორ დაფაროს ERM ძრავები ინკაფსულირებული მბრუნავი მასის გარეშე (https:/ /www.instructables.com/id/Covering-Rotating…). გარდა ამისა, გამოქვეყნებულია მაგალითი იმისა, თუ როგორ უნდა მოხდეს სხვა ანალოგური სენსორების (ამ შემთხვევაში სიახლოვის სენსორების) პროტოტიპთან ინტეგრირება (https://www.instructables.com/id/Including-a-Proxi…).

რა არის "სენსორული ჩანაცვლება და გადიდება"?

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

თუ სენსორული სტიმული, რომელიც ითარგმნება, ჩვეულებრივ არ აღიქმება ადამიანის მიერ (მაგალითად, ულტრაიისფერი შუქი), ამ მიდგომას ეწოდება სენსორული გადიდება.

რა უნარებია საჭირო ამ პროტოტიპის შესაქმნელად?

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

არის თუ არა საჭირო მანქანები ან ინსტრუმენტები, რომლებიც ძვირია ან ადვილად არ არის ხელმისაწვდომი?

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

მარაგები

ძირითადი კომპონენტები (დაახლოებით 65 £ 4 ძრავისთვის, გარდა შედუღების მოწყობილობისა)

  • Arduino Uno (მაგ. Https://store.arduino.cc/arduino-uno-rev3, 20 £)
  • Adafruit Motorshield v2.3 (მაგ. Https://www.adafruit.com/product/1438, 20 £) და მამაკაცის დაწყობის სათაურები (ჩვეულებრივ მოტორფილდის ყიდვისას)
  • ცილინდრული ERM ძრავები (მაგ. Https://www.adafruit.com/product/1438, 5, 50 £/ძრავა)
  • Soldering რკინის და soldering მავთულები
  • მავთულები

არასავალდებულო (იხ. გაფართოებები)

თუ შეიძინა ERM ძრავა დაუფარავი მბრუნავი მასით:

  • ვინილის მილი
  • თხელი რბილი დაფა
  • 3D პრინტერი (Arduino გარსაცმისთვის)

თუ გსურთ გამოიყენოთ 4 -ზე მეტი ძრავა (8 -ზე მეტი ერთსა და იმავე დროს):

  • Adafruit Motorshield v2.3 და მამაკაცის დაწყობის სათაურები
  • სათაურები ქალების დასალაგებლად (მაგ.
  • Arduino Mega 6 -ზე მეტი ძრავისთვის (მაგ.

ნაბიჯი 1: შედუღება

შედუღება
შედუღება

შეაერთეთ ქინძისთავები მოტორში

ადაფრუტი გთავაზობთ ყოვლისმომცველ გაკვეთილს, თუ როგორ უნდა შეაერთოთ სათაურები მოტორში (https://learn.adafruit.com/adafruit-motor-shield-v…):

  1. პირველ რიგში, ჩასვით დაწყობილი სათაურები Arduino Uno– ს ქინძისთავებში,
  2. შემდეგ, მოათავსეთ ფარი თავზე, ისე, რომ ქინძისთავების მოკლე მხარე ამოიჭრას.
  3. ამის შემდეგ, მიამაგრეთ ყველა ქინძისთავი ფარს და დარწმუნდით, რომ შედუღება მიედინება ქინძისთავის გარშემო და ქმნის ვულკანის ფორმას (იხ. სურათი ზემოთ, რომელიც მიღებულია https://cdn.sparkfun.com/assets/c/d/ a/a/9/523b1189…).

თუ დამწყები ხართ შედუღების საქმეში, დაეხმარეთ საკუთარ თავს მეტი გაკვეთილით, როგორიცაა

შეაერთეთ უფრო გრძელი მავთულები ძრავზე

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

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

ნაბიჯი 2: გაყვანილობა

გაყვანილობა
გაყვანილობა
  1. დაალაგე მოტორფილდი არდუინოს თავზე.
  2. ხრახნიანი ძრავები ძრავის მოედანზე.
  3. მავთულის ანალოგური სენსორები Arduino– სთვის (სურათზე ეს კეთდება სინათლის სენსორებით, მაგრამ იგივე სქემა იგივე გამოიყურება სხვა ანალოგური სენსორებისთვის).

ნაბიჯი 3: კოდირება

კოდირება
კოდირება
კოდირება
კოდირება
კოდირება
კოდირება
კოდირება
კოდირება

1. ჩამოტვირთეთ

ჩამოტვირთეთ zip საქაღალდე (SSAD_analogueInputs.zip), მიმაგრებულია ქვემოთ. გახსენით იგი.

ჩამოტვირთეთ Arduino IDE (https://www.arduino.cc/en/main/software).

გახსენით Arduino ფაილი (SSAD_analogueInputs.ino), რომელიც არის გახსნილი საქაღალდის შიგნით Arduino IDE– ით.

2. დააინსტალირეთ ბიბლიოთეკები

მოწოდებული კოდის გასაშვებად, თქვენ უნდა დააინსტალიროთ რამდენიმე ბიბლიოთეკა. ასე რომ, თუ Arduino ფაილი, რომელიც ერთვის ამ სტატიის ბოლოს, ღიაა Arduino IDE- ს შიგნით, გააკეთეთ შემდეგი:

  1. დააწკაპუნეთ: ინსტრუმენტები Lib ბიბლიოთეკების მართვა…
  2. მოძებნეთ "Adafruit Motor Shield V2 Library" ფილტრაციის საძიებო ველში
  3. დააინსტალირეთ ინსტალაციის ღილაკზე დაჭერით

ამ ბიბლიოთეკების გადმოტვირთვის შემდეგ, #უნდა შეიცავდეს მითითებებს მითითებულ კოდებში. დარწმუნდით, რომ დააჭირეთ ღილაკს "გადამოწმება" (მონიშნეთ მარცხენა ზედა). თქვენ იცით, რომ ყველა ბიბლიოთეკა მუშაობს, თუ თქვენ მიიღებთ შეტყობინებას "შესრულებულია შედგენა" პროგრამის ბოლოში. წინააღმდეგ შემთხვევაში წითელი ბარი გამოჩნდება და თქვენ მიიღებთ შეტყობინებას იმის შესახებ, თუ რა მოხდა.

3. შეცვალეთ კოდი

შეცვალეთ კოდი თქვენი გამოყენების შემთხვევის მიხედვით, ქვემოთ მოცემული ინსტრუქციის შესაბამისად:

ძრავების ინიცირება და მათი სენსორული შედეგები

უპირველეს ყოვლისა, გამოაცხადეთ რომელი ქინძისთავები იყენებენ ძრავებს, ასევე რა დიაპაზონში მუშაობენ ძრავები. მაგალითად, ძრავა, რომელიც მიმაგრებულია M4- ზე და მუშაობს (სიჩქარის) დიაპაზონში 25 და 175 გამოცხადებულია ასე (ძირითადი კომენტარის ქვეშ):

საავტომობილო ძრავა 1 = ძრავა (4, 25, 175);

მცირე ვიბრაციის ძრავებთან მუშაობისას, რომლებიც მოძრაობენ 3 ვ -მდე დიაპაზონში, საავტომობილო საფარი სიფრთხილით უნდა იქნას გამოყენებული, რადგან ის განკუთვნილია 4.5VDC– დან 13.5VDC– მდე ძრავების მუშაობისთვის. 3V ძრავების დაზიანების მიზნით, მე პროგრამულად შევზღუდა ფარის ვოლტის გამომუშავება მაქსიმუმ 3V- მდე (ზუსტად 2.95V). მე ეს გავაკეთე იმის გაზომვით, თუ რამდენად არის მაქსიმალური სიჩქარე 255 ვოლტში და გავზომე მულტიმეტრით, რომ ეს არის 4.3 ვ. ამიტომ, მე არასოდეს დავუშვებდი 175 -ზე მაღალ სიჩქარეს, რაც არის დაახლოებით 3V, ძრავებს.

თითოეული ძრავა იქნება დაკავშირებული ერთ SensoryOutput- თან.

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

ამიტომ, პირველ რიგში თითოეული ძრავისთვის უნდა გამოცხადდეს ერთი SensoryOutput. ფრჩხილებში არსებული რიცხვები არის მინიმალური და მაქსიმალური მნიშვნელობა, რასაც სენსორი (ჯგუფი) აღიქვამს. ანალოგური სენსორებისთვის ეს არის ძირითადად 0 და 1023:

SensoryOutput output1 = SensoryOutput (0, 1023);

მარყუჟის () ფუნქციაში ყველა ძრავა ენიჭება ერთ გამომავალ მნიშვნელობას. აქ თქვენ წერთ თითოეული ძრავისთვის დაწერეთ შემდეგი განცხადება და "output1" - ის ნაცვლად, რასაც SensoryOutput მნიშვნელობა უნდა უკავშირდებოდეს. არ დაგავიწყდეთ ამ ხაზის ყველა "output1" სახელის შეცვლაც, თუ სხვა სახელს გამოიყენებთ.

motor1.drive (output1.getValue (), output1.getMin (), output1.getMax ());

თუ გსურთ, შეგიძლიათ მრავალ ძრავას (მაგ. Motor1 და motor2) იგივე SensoryOutput (მაგ. გამომავალი 1).

გარდა ამისა, თქვენ შეგიძლიათ მიანიჭოთ მრავალი სენსორის მნიშვნელობა ერთ ძრავას (იხილეთ შემდეგი სექცია).

სენსორების განსაზღვრა

Setup () ფუნქციაში უნდა გამოცხადდეს რომელი სენსორები რომელი ძრავის ვიბრაციის ნაწილი იქნება (SensoryOutput). აქ არის მაგალითი იმისა, თუ როგორ განვსაზღვრავთ, რომ სენსორი, რომელიც დაკავშირებულია Arduino Pin A0– სთან, უნდა გადაითარგმნოს ვიბრაციებად ძრავით 1 და შესაბამისად გამომავალი 1:

გამომავალი 1. მოიცავს (A0);

თუ რამოდენიმე სენსორული გამოსავალი უნდა გაერთიანდეს ერთ ძრავის ვიბრაციაში, შეგიძლიათ უბრალოდ დაამატოთ სხვა ანალოგური შესასვლელი პინი გამომავალში 1:

გამომავალი 1. მოიცავს (A1);

წინააღმდეგ შემთხვევაში, უბრალოდ გააგრძელეთ შემდეგი გამომავალი:

გამომავალი 2. მოიცავს (A1);

აერთიანებს მრავალ სენსორს

როგორც ზემოთ აღინიშნა, სენსორის მრავალჯერადი შეყვანა (მაგ. A0, A1 და A2) შეიძლება მიემართებოდეს ერთ ძრავაზე. კოდი, რომელსაც მე ვაწვდი, ითვლის საშუალო მნიშვნელობებს, რომლებიც იკითხება ყველა ჩართული სენსორის მიერ. ასე რომ, თუ ეს საკმარისია თქვენი გამოყენების შემთხვევისთვის და თქვენ უბრალოდ გსურთ პირდაპირ აჩვენოთ, მაგალითად, დაბალი სენსორული შეყვანა დაბალ ვიბრაციაზე, თქვენ დაასრულეთ და არ უნდა იფიქროთ შემდეგზე:

თუ თქვენ გაქვთ სხვა წარმოდგენა იმის შესახებ, რისი გაკეთება გსურთ ერთი ან რამოდენიმე ნედლი სენსორული შეყვანის საშუალებით, შეგიძლიათ შეცვალოთ ფუნქცია int getValue () SensoryOutput კლასში:

int getValue () {

საბოლოო გამოსავალი = 0; // TODO გააკეთე რაც გინდა სენსორული მნიშვნელობებით // აქ საშუალო აგებულია, თუ მრავალი მნიშვნელობა გაერთიანებულია (int i = 0; i <curArrayLength; i ++) {finalOutput+= analogRead (valueArray ); } return finalOutput / curArrayLength; }

4. ატვირთეთ კოდი თქვენს Arduino პროტოტიპზე

შეაერთეთ Arduino პროტოტიპი (ნაბიჯი 2) თქვენს კომპიუტერში.

დააწკაპუნეთ ინსტრუმენტებზე → პორტი → აირჩიეთ პორტი, სადაც ფრჩხილებში ჩაწერილია Arduino/Genuino Uno

დააჭირეთ ინსტრუმენტებს → დაფა → Arduino/Genuino Uno

ახლა ძრავები უნდა მუშაობდნენ ანალოგური სენსორების შეყვანის შესაბამისად. თუ გსურთ, შეგიძლიათ გათიშოთ Arduino თქვენი კომპიუტერიდან და შეაერთეთ იგი ენერგიის სხვა წყაროსთან, როგორიცაა 9 ვ ბატარეა.

ნაბიჯი 4: შესაძლო გაფართოებები

შესაძლო გაფართოებები
შესაძლო გაფართოებები
შესაძლო გაფართოებები
შესაძლო გაფართოებები
შესაძლო გაფართოებები
შესაძლო გაფართოებები

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

  • ERM Motors– ის მბრუნავი მასების დაფარვა:
  • SSAD ტარებადი:
  • 4-ზე მეტი ძრავის გამოყენება-დააინსტალირეთ მრავალი ძრავა:
  • ულტრაბგერითი სიახლოვის სენსორის გამოყენება, როგორც SSAD შეყვანა:

გირჩევთ: