Как да си направим обувка за автоматично връзване с помощта на Arduino?

В съвременната ера учени и инженери се опитват да направят всичко автоматизирано. Това означава, че всичко ще работи от само себе си, без никакви човешки усилия. Идентифициран е много често срещан проблем в обществото, че някои хора имат проблеми да завържат обувките си сами. Тези хора включват хора с увреждания, хора с болки в гърба, деца и слепи до известна степен. И така, трябва да се намери решение, така че тези хора да не виждат това като проблем.



Снимка, направена от инструкции

В този проект ще направим шоу за автоматично завързване, което автоматично ще завърже връзките си без никакви човешки усилия. Той ще го направи с помощта на микроконтролерна платка, сензор за щит на двигателя и серво мотор, веднага щом поставите крака вътре в обувката.



Как да автоматизирате вашето шоу с помощта на Arduino?

Сега, тъй като знаем резюмето на проекта, нека започнем да събираме повече информация и да преминем през процедурата как да направите тази обувка на AutoLace с помощта на Arduino.



Стъпка 1: Събиране на компонентите

Най-добрият подход за стартиране на всеки проект е да се направи списък с компоненти и да се премине през кратко проучване на тези компоненти, защото никой няма да иска да остане в средата на проекта само поради липсващ компонент. Списък на компонентите, които ще използваме в този проект, е даден по-долу:



  • Arduino uno
  • Моторен щит
  • Серво мотор
  • Сила
  • LED
  • 1k-омов резистор
  • Обувки
  • Метална лента
  • Пластмасови връзки с цип
  • 1/8
  • Джъмперни проводници
  • Батерия

Стъпка 2: Изучаване на компонентите

Сега, тъй като знаем резюмето на нашия проект и също така разполагаме с пълен списък на всички компоненти, нека направим крачка напред и да преминем през кратко проучване на компонентите, които ще използваме.

Seeeduino v4.2  е една от най-добрите съвместими с Arduino платки в света, базирана на микроконтролера Atmega 328 MCU. защото е лесен за използване, по-стабилен и изглежда по-добре от много други дъски. Той се основава на Arduino буутлоудъра. той има ATMEGA16U2 като преобразувател UART към USB, тъй като той може да се използва като FTDI чип. той е свързан към компютъра чрез микро USB кабел, който обикновено се нарича андроид кабел. За захранване на платката може да се използва и жак за постоянен ток. входната мощност трябва да бъде от 7V до 15V.

Seeeduino съвет



Arduino Motor Shield ви позволява лесно да контролирате посоката и скоростта на двигателя, използвайки Arduino. Като ви позволява просто да адресирате щифтовете на Arduino, това улеснява вкарването на всеки мотор във вашето предприятие. Освен това ви дава възможност да управлявате мотор с различно захранване до 12v. Най-хубавото е, че щитът е много лесен за намиране. Поради всички тези причини, Arduino Motor Shield е страхотно малко, което да имате в арсенала си за бързо прототипиране и общи експерименти.

Моторен щит

Резистори на сензора за сила (FSR) са много прости и лесни за използване сензори за налягане. Препятствието на FSR разчита на тежестта, която се прилага към откриващата територия. Колкото повече тежест прилагате, толкова по-ниска е опозицията. Обхватът на препятствията е доста огромен:> 10 MΩ (без тегло) до ~ 200 Ω (максимално тегло). Повечето FSR могат да открият мощност в обхвата от 100 g до 10 kg. FSR се състои от два слоя и дистанционно лепило. Провеждащите слоеве са изолирани от тънка въздушна междина, когато не се прилага тежест. Един от филмите съдържа две следи, преминаващи от опашката до зоната за откриване (кръглата част). Тези следи са вплетени заедно, но не контактуват. Другият филм е покрит с водещо мастило. Когато натиснете сензора, мастилото скъсява двете следи заедно с опозиция, която разчита на теглото.

Датчик за сила

ДА СЕ Серво мотор е въртящ се или линеен задвижващ механизъм, който може да се управлява и премества с точно нарастване. Тези двигатели се различават от двигателите с постоянен ток. Тези двигатели позволяват прецизно управление на ъгловото или въртящото се движение. Този двигател е свързан със сензор, който изпраща обратна връзка за своето движение.

Серво мото

Стъпка 3: Работен принцип

Принципът на работа на този проект е много прост. Ще се използва сензор за сила, за да се установи дали кракът е поставен в шоуто или не. Ако открие крака, той ще изпрати сигнал до дъската на Arduino, която ще премести серво мотор с помощта на Arduino Motor Shield. Този серво мотор ще се движи по такъв начин, че да дърпа всички връзки наведнъж. Следователно автоматично връзване на всички връзки на обувката.

Стъпка 4: Сглобяване на компонентите

Сега, след като знаем основната идея и принципа на работа зад този проект, нека направим крачка напред и започнем да сглобяваме всичко, за да направим шоу, което автоматично ще се лазерира. За да направите краен продукт, преминете през стъпките, дадени по-долу:

  1. На първо място, отрежете малка метална плоча, така че да е фиксирана на гърба на шоуто. Използвайте синтетичен, така че да се фиксира трайно и да не се разхлабва. Уверете се, че сте оставили празнина между металната плоча и шоуто, защото ще преминем няколко кабелни връзки от тази празнина.
  2. Сега вземете два серво мотора и ги прикрепете към металната плоча с горещо лепило. Сега, за да ги фиксирате постоянно, използвайте ципове около тях, така че тези серво мотори да не се движат по-късно. След като сервомоторите са в крачка, отрежете допълнителния кабел, който е останал.
  3. Сега монтирайте кутия за батерия под двигателите, така че превключвателят на захранването да е навън.
  4. Сега прикрепете дъската Arduino към двигателите. Преди да свържете екрана на двигателя с Arduino, някои неща трябва да бъдат добавени към веригата.
  5. Вземете светодиод и запойте резистор в положителния му крак и спойте къса дължина на проводника към отрицателния крак и другия крак на резистора. След това свържете този монтаж към Arduino и го натиснете към един от неизползваните гнезда за връзки.
  6. Сега вземете a Датчик за сила и го поставете в обувките си там, където петата ви ще почива. не се препоръчва запояване на щифтовете на датчика за сила, тъй като топлината на поялника може да стопи пластмасата на сензора. Така че е по-добре, ако го залепите или залепите с тиксо.
  7. Накрая използвайте вратовръзка с цип, за да завържете всички връзки към серво мотора, така че когато моторът се върти, той издърпва всички връзки наведнъж.

Уверете се, че положителният проводник на светодиода е свързан към pin2 на Arduino. Vcc и заземяващият щифт на датчика за сила ще бъдат свързани към 5V и заземяването на Arduino, а IN изводът на датчика за сила ще бъде свързан към A0 извода на платката Arduino. И накрая, включете щифтовете на сервомотора внимателно към екрана на двигателя, за да не направите грешна връзка.

Стъпка 5: Първи стъпки с Arduino

Ако не сте запознати с Arduino IDE преди, не се притеснявайте, защото по-долу можете да видите ясни стъпки за записване на код на платката на микроконтролера с помощта на Arduino IDE. Можете да изтеглите най-новата версия на Arduino IDE от тук и следвайте стъпките, споменати по-долу:

  1. Когато платката Arduino е свързана с вашия компютър, отворете „Контролен панел“ и кликнете върху „Хардуер и звук“. След това кликнете върху „Устройства и принтери“. Намерете името на порта, към който е свързана вашата платка Arduino. В моя случай това е “COM14”, но може да е различно на вашия компютър.

    Намиране на порт

  2. Ще трябва да включим библиотека, за да използваме Servo Motor. Библиотеката е приложена по-долу в линка за изтегляне заедно с кода. Отидете на Скица> Включване на библиотека> Добавяне на .ZIP библиотека.

    Включете библиотека

  3. Сега отворете IDE на Arduino. От Инструменти задайте дъската Arduino на Arduino / Genuino UNO.

    Съвет за настройка

  4. От същото меню на инструмента задайте номера на порта, който видяхте в контролния панел.

    Настройка на порт

  5. Изтеглете кода, приложен по-долу, и го копирайте във вашата IDE. За да качите кода, щракнете върху бутона за качване.

    Качване

Можете да изтеглите кода от щракнете тук.

Стъпка 6: Код

Кодът е доста добре коментиран и обясним сам по себе си. Но все пак кодът е обяснен накратко по-долу.

1. В началото е включена специална библиотека, така че сервомоторът да може да бъде интегриран с платката на микроконтролера и програмиран през нея. Създадени са два обекта, които да се използват със серво мотора. инициализират се някои пинове или Arduino, които ще бъдат свързани към драйвера на двигателя, а също така се декларират някои променливи, които ще запазят някои временни стойности, които по-късно ще бъдат използвани в основната програма.

#include // включва библиотека за интерфейс на сервомотора с микроконтролер платка Servo myservo; // създава servo objec 1 Servo myservo2; // създаваме серво обект 2 int forcePin = 0; // аналогов щифт 0, свързан към датчика за сила int ledPin = 2; // цифров щифт 2, свързан към LED int switchPin = 19; // задава ключа за отключване на аналогов щифт 5 int valF; // стойност на датчика за сила int valS; // стойност на превключвателя int thresHold = 500; // дефинира прага на налягане на силата на налягане int servoUnlock = 0; // задава основното серво в неутрално незавързано положение (0 градуса) int servoLock = 180; // задава основното серво на завързано положение (180 градуса) int servoUnlock2 = 180; // задава спомагателното серво в неутрално незавързано положение (0 градуса) int servoLock2 = 0; // настройва спомагателното серво в завързано положение (180 градуса)

2. настройка за празнота () е функция, която се стартира само веднъж в старта, когато микроконтролерът се захранва ono или е натиснат бутонът за активиране. В тази функция щифтовете на Arduino се инициализират, за да се използват като INPUT или OUTPUT. Обектите, които са създадени за серво мотор преди, се използват за закрепване на серво мотора към конкретния щифт на платката Arduino и серво се премества в първоначалното състояние без връзки. Скорост на предаване също е зададена в тази функция. Скорост на предаване е скоростта в битове в секунда, с която микроконтролерът комуникира с прикрепените външни устройства.

void setup () {Serial.begin // задаване на скоростта на предаване на pinMode на микроконтролера (ledPin, OUTPUT); // извежда се цифров щифт 2 за LED pinMode (switchPin, INPUT); // аналогов щифт 5 е вход за превключвател myservo.attach (9); // прикрепя серво серво към щифтове 9 myservo2.attach (10); // прикрепя сервомеханизмите към щифтове 10 myservo.write (servoUnlock); // преместване на серво 1 в незавързани позиции myservo2.write (servoUnlock2); // преместване на серво 2 в незавързани позиции}

3. цикъл void () е функция, която се изпълнява многократно в цикъл. Първо, аналогова стойност s се отчита от сензора за сила. След това изчаква стойността на датчика за сила да премине прагова стойност. Той ще изчака кракът да се установи напълно на мястото си и ще постави двата сервосигнала в заключено положение. Ако превключвателите бъдат натиснати, серво серво ще бъде отключено и ще изчака, докато светодиодът премигне седем пъти.

празен цикъл () {valF = analogRead (forcePin); // четене на стойността на датчика за сила valS = digitalRead (switchPin); // четене на стойността на превключвателя, ако (valF> = thresHold) {// изчаква сензорът за сила да се изравни или да премине прага на налягането и след това: закъснение (1000); // чака кракът да се настани на място в обувката myservo2.write (servoLock2); // настройва спомагателното серво на закъснение в заключено положение (1000); // чака една секунда myservo.write (servoLock); // задава основното серво на заключено положение закъснение (1000); // чака една секунда digitalWrite (ledPin, HIGH); // включва LED до отключване на серво. Премахнете тази линия, за да спестите живота на батерията. } if (valS == HIGH) {// изчаква натискането на превключвателя и след това: myservo2.write (servoUnlock2); // отключва допълнително серво закъснение (1000); // чака две секунди myservo.write (servoUnlock); // отключва основно серво закъснение (500); // изчакайте, след това мига LED 7 пъти digitalWrite (ledPin, LOW); забавяне (200); digitalWrite (ledPin, HIGH); забавяне (200); digitalWrite (ledPin, LOW); забавяне (200); digitalWrite (ledPin, HIGH); забавяне (200); digitalWrite (ledPin, LOW); забавяне (200); digitalWrite (ledPin, HIGH); забавяне (200); digitalWrite (ledPin, LOW); забавяне (200); digitalWrite (ledPin, HIGH); забавяне (200); digitalWrite (ledPin, LOW); забавяне (200); digitalWrite (ledPin, HIGH); забавяне (200); digitalWrite (ledPin, LOW); забавяне (200); digitalWrite (ledPin, HIGH); забавяне (200); digitalWrite (ledPin, LOW); забавяне (200); digitalWrite (ledPin, HIGH); забавяне (200); digitalWrite (ledPin, LOW); // изключва светодиодното забавяне (1000); }}

Така че това беше цялата процедура за правене на шоу, което автоматично връзва връзките си само по себе си с помощта на серво мотор, микроконтролер и мотор щит. След като вече знаете цялата тази процедура, насладете се да правите вашето шоу AutoLacing у дома си.