Мазмұны:

Вибротактивті сенсорлық алмастыру және кеңейту құрылғысы (SSAD): 4 қадам
Вибротактивті сенсорлық алмастыру және кеңейту құрылғысы (SSAD): 4 қадам

Бейне: Вибротактивті сенсорлық алмастыру және кеңейту құрылғысы (SSAD): 4 қадам

Бейне: Вибротактивті сенсорлық алмастыру және кеңейту құрылғысы (SSAD): 4 қадам
Бейне: Угрюм-река (1969) (1 серия) фильм 2024, Қараша
Anonim
Вибротактивті сенсорлық алмастыру және күшейту құрылғысы (SSAD)
Вибротактивті сенсорлық алмастыру және күшейту құрылғысы (SSAD)
Вибротактивті сенсорлық алмастыру және күшейту құрылғысы (SSAD)
Вибротактивті сенсорлық алмастыру және күшейту құрылғысы (SSAD)

Бұл жоба сенсорлық алмастыру мен күшейту саласындағы зерттеулерді жеңілдетуге бағытталған. Магистрлік диссертациямда SSAD прототиптерінің вибротактивті үлгілерін құрудың әр түрлі әдістерін зерттеуге мүмкіндігім болды. Сенсорлық алмастыру мен толықтыру тек компьютерлік ғалымдарды ғана емес, сонымен қатар когнитивті ғылым сияқты басқа да салалардың зерттеушілерін де қызықтыратын тақырып болғандықтан, біртіндеп нұсқаулық электроника мен информатика саласындағы сарапшыларға бұл прототипті өз бетімен жинауға мүмкіндік беруі керек. зерттеу мақсаттары.

Мен брендтің/өнімнің дәл бір түріне жарнама жасағым келмейді. Бұл жобаға ешқандай компания демеушілік жасаған жоқ. Мен қолданған материал техникалық ерекшеліктер мен ыңғайлылыққа байланысты таңдалды (жеткізу жылдамдығы/бағасы, қолжетімділігі және т.б.). Осы нұсқаулықта айтылған барлық өнімдер үшін бірдей қолайлы баламалар бар.

Ағымдағы нұсқаулықта 4 қозғалтқышы мен аналогтық датчиктері бар SSAD прототипін құру бойынша қадамдық нұсқаулар бар.

Нұсқаулыққа қосымша ретінде мен үш кеңейтім жасадым: Біріншіден, мен осы 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 тез прототиптеуге мүмкіндік береді, яғни ол тез жаңғыртылып, идеяларды арзан зерттеуге мүмкіндік береді.

Жабдықтар

Негізгі компоненттер (4 қозғалтқыш үшін шамамен 65 фунт, дәнекерлеу жабдығын қоспағанда)

  • 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 фунт/мотор)
  • Дәнекерлеуіш пен дәнекерлеу сымы
  • Сымдар

Қосымша (кеңейтімдерді қараңыз)

Егер айналмалы массасы жоқ ERM қозғалтқышы сатып алынса:

  • Винил түтік
  • Жұқа жұмсақ тақта
  • 3D принтері (Arduino корпусы үшін)

Егер сіз 4 -тен астам қозғалтқышты қолданғыңыз келсе (тағы 8 рет):

  • Adafruit Motorshield v2.3 және ерлердің жиналатын тақырыптары
  • Әйелдер жиналатын тақырыптар (мысалы,
  • 6 -дан астам қозғалтқышқа арналған Arduino Mega (мысалы,

1 -қадам: дәнекерлеу

Дәнекерлеу
Дәнекерлеу

Ілмектерді мотор қалқанына дәнекерлеңіз

Adafruit тақырыптарды мотор қалқанына қалай дәнекерлеуге болатыны туралы толық нұсқаулықты ұсынады (https://learn.adafruit.com/adafruit-motor-shield-v…):

  1. Алдымен, жинау тақырыптарын Arduino Uno түйреуіштеріне салыңыз,
  2. Содан кейін қалқанды түйреуіштердің қысқа жағы жабысып қалатындай етіп үстіне қойыңыз.
  3. Осыдан кейін, барлық түйреуіштерді қалқанға дәнекерлеңіз және дәнекердің түйреуіштің айналасында ағып, жанартау пішінін құрайтынына көз жеткізіңіз (https://cdn.sparkfun.com/assets/c/d/ сайтынан алынған суретті қараңыз) а/а/9/523b1189…).

Егер сіз дәнекерлеуді жаңадан бастаушы болсаңыз, https://learn.sparkfun.com/tutorials/how-to-solder… сияқты оқулықтарға көмектесіңіз.

Ұзын сымдарды моторға дәнекерлеңіз

Қозғалтқыштардың көпшілігі өте қысқа және жұқа сымдарсыз келетіндіктен, оларды ұзағырақ және берік сымдарға дәнекерлеу арқылы кеңейту қажет. Міне, сіз мұны қалай жасай аласыз:

  1. Пластмассаны сымдардың ұшынан алып тастаңыз және оларды суреттегідей ашық сымдар бойымен бір -бірімен байланыста болатындай етіп орналастырыңыз.
  2. Дәнекерлеуді екі сымның жіптеріне тигізіп, дәнекердің үстінен өтуіне жол беріңіз.

2 -қадам: Сымдарды жалғау

Сымдар
Сымдар
  1. Arduino үстіндегі мотор қалқаны.
  2. Қозғалтқышты мотор қалқанына бұраңыз.
  3. Arduino -ға аналогты сенсорлар қосылады (суретте бұл жарық сенсорларымен орындалады, бірақ басқа аналогты сенсорлар үшін бірдей схема көрінеді).

3 -қадам: кодтау

Кодтау
Кодтау
Кодтау
Кодтау
Кодтау
Кодтау
Кодтау
Кодтау

1. Жүктеу

Төменде берілген zip қалтасын жүктеңіз (SSAD_analogueInputs.zip). Оны ашыңыз.

Arduino IDE жүктеп алыңыз (https://www.arduino.cc/kz/main/software).

Arduino IDE көмегімен ашылмаған қалтадағы Arduino файлын (SSAD_analogueInputs.ino) ашыңыз.

2. Кітапханаларды орнатыңыз

Берілген кодты іске қосу үшін сізге кейбір кітапханаларды орнату қажет. Егер мақаланың соңында бекітілген Arduino файлы Arduino IDE ішінде ашық болса, келесі әрекеттерді орындаңыз:

  1. Басыңыз: Құралдар → Кітапханаларды басқару…
  2. Іздеу өрісінен «Adafruit Motor Shield V2 кітапханасын» іздеңіз
  3. Орнату түймесін басу арқылы оны орнатыңыз

Сол кітапханаларды жүктегеннен кейін, енді берілген кодтарға #include операторлары жұмыс істеуі керек. Мұны «Тексеру» түймесін басу арқылы тексеріңіз (сол жақта белгі қойыңыз). Сіз барлық кітапханалар жұмыс істейтінін білесіз, егер сіз бағдарламаның төменгі жағында «Орындалды» хабарламасын алсаңыз. Әйтпесе, қызыл жолақ пайда болады және сіз қате туралы хабарлама аласыз.

3. Кодексті өзгертіңіз

Төмендегі нұсқауларды орындау арқылы кодты пайдалану жағдайына сәйкес өзгертіңіз:

Қозғалтқыштарды іске қосу және олардың сенсорлық шығысы

Ең алдымен, қозғалтқыштардың қандай түйреуіштерді қолданатынын, сонымен қатар қозғалтқыштардың қандай диапазонда жұмыс істейтінін хабарлаңыз. Мысалы, M4 -ке қосылған және 25 және 175 (жылдамдық) диапазонында жұмыс істейтін қозғалтқыш осылай жарияланады (НЕГІЗІ түсініктеме астында):

Қозғалтқыш қозғалтқышы1 = Қозғалтқыш (4, 25, 175);

3 В дейінгі диапазонда жұмыс істейтін шағын діріл қозғалтқыштармен жұмыс жасағанда, қозғалтқыштың қалқанын абайлап қолдану керек, себебі ол 4,5 ВДС -тен 13,5 ВДС дейінгі қозғалтқыштарға арналған. 3В қозғалтқыштарына зақым келтірмеу үшін мен қалқанның вольтты шығуын 3 В (дәл 2.95В) дейін шектедім. Мен мұны 255 максималды жылдамдығы вольтпен өлшеп, мультиметрмен өлшедім, бұл 4,3 В. Сондықтан мен қозғалтқыштарға 3В шамасында болатын 175 -тен жоғары жылдамдыққа ешқашан жол бермедім.

Әр қозғалтқыш бір SensoryOutput арқылы қосылады.

Бір SensorOutput бір немесе бірнеше сенсорлық ынталандырудан тұрады. Мысалы, қозғалтқыш бір сенсорға сәйкес дірілдей алады, немесе әр түрлі орналасқан сенсорлардың орташа мәніне сәйкес.

Сондықтан, біріншіден, әрбір қозғалтқыш үшін бір SensoryOutput жариялануы керек. Жақшаның ішіндегі сандар сенсор (топ) қабылдай алатын ең төменгі және максималды мәні болып табылады. Аналогты сенсорлар үшін бұл негізінен 0 және 1023:

SensoryOutput шығысы1 = SensoryOutput (0, 1023);

Цикл () функциясында әрбір қозғалтқыш бір шығыс мәніне тағайындалады. Мұнда сіз әр қозғалтқыш үшін келесі мәлімдемені жазасыз және «output1» орнына SensoryOutput мәні оған қосылуға тиіс. Егер сіз басқа атауды қолдансаңыз, осы жолдағы барлық «output1» атауын өзгертуді ұмытпаңыз.

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

Қаласаңыз, бірнеше қозғалтқышты (мысалы, мотор1 және қозғалтқыш2) бірдей SensoryOutput (мысалы, шығыс1) бере аласыз.

Сонымен қатар, сіз бір сенсордың мәндерін бір қозғалтқышқа бере аласыз (келесі бөлімді қараңыз).

Сенсорларды анықтау

Setup () функциясында қозғалтқыштың қандай дірілі (SensoryOutput) құрамына қандай датчиктер кіретінін хабарлау қажет. Міне, Arduino Pin A0 -ге қосылған сенсорды қозғалтқышпен тербеліске аудару керек екенін анықтайтын мысал, демек шығыс1:

шығару1. қосу (A0);

Егер бір қозғалтқыш дірілінде бірнеше сенсорлық шығыс біріктірілуі керек болса, шығысқа1 басқа аналогтық кіріс штырын қосуға болады:

шығару1. қосу (A1);

Әйтпесе, келесі шығуды жалғастырыңыз:

output2.include (A1);

Бірнеше сенсорларды біріктіру

Жоғарыда айтылғандай, сенсордың бірнеше кірісін (мысалы, A0, A1 және A2) бір қозғалтқышқа қосуға болады. Мен ұсынатын код барлық сенсорлар оқитын мәндердің орташа мәнін есептейді. Сонымен, егер бұл сіздің пайдалану жағдайыңыз үшін жеткілікті болса және сіз, мысалы, төмен дірілге төмен сенсорлық кірісті тікелей салыстырғыңыз келсе, сіз аяқталды және келесілер туралы ойланудың қажеті жоқ:

Егер сізде бір немесе бірнеше сенсорлық кірістермен не істегіңіз келетіні туралы басқа идеялар болса, SensoryOutput класындағы int getValue () функциясының өзгеруіне сәйкес жасай аласыз:

int getValue () {

finalOutput = 0; // TODO сенсорлық мәндермен қалағаныңызды жасаңыз // мұнда орташа мән құрылады, егер бірнеше мәндер біріктірілсе (int i = 0; i <curArrayLength; i ++) {finalOutput+= analogRead (valueArray ); } finalOutput / curArrayLength қайтару; }

4. Arduino прототипіне кодты жүктеңіз

Arduino прототипін компьютерге қосыңыз (2 -қадамнан).

Tools → Port → Arduino/Genuino Uno жақшаға жазылған портты таңдаңыз

Құралдар → тақта → Arduino/Genuino Uno түймесін басыңыз

Енді қозғалтқыштар аналогтық датчиктердің кірісіне сәйкес жұмыс істеуі керек. Қаласаңыз, Arduino -ны компьютерден ажыратып, оны 9В батарея сияқты басқа қуат көзіне қосуға болады.

4 -қадам: Мүмкін кеңейтімдер

Мүмкін кеңейтімдер
Мүмкін кеңейтімдер
Мүмкін кеңейтімдер
Мүмкін кеңейтімдер
Мүмкін кеңейтімдер
Мүмкін кеңейтімдер

Сіз жасаған прототип тек аналогты кірістерге мүмкіндік береді және төрт қозғалтқышты басқара алады. Оның үстіне оны әлі киюге болмайды. Егер сіз бұл мүмкіндіктерді кеңейткіңіз келсе, келесі нұсқауларды қараңыз:

  • ERM қозғалтқыштарының айналмалы массаларын қамту:
  • SSAD-ны киюге болады:
  • 4-тен астам қозғалтқышты пайдалану-бірнеше мотор қалқаларын жинау:
  • Ультрадыбыстық жақындық сенсорын SSAD кірісі ретінде пайдалану:

Ұсынылған: