Cum se face un pantof AutoLacing folosind Arduino?

În era modernă, oamenii de știință și inginerii încearcă să facă totul automatizat. Înseamnă că totul va funcționa de la sine, fără niciun efort uman. O problemă foarte comună a fost identificată în societate, că unii oameni au probleme cu legarea șireturilor singuri. Printre aceste persoane se numără persoanele cu dizabilități, persoanele cu dureri de spate, copiii și persoanele nevăzătoare într-o oarecare măsură. Deci, trebuie să se facă o soluție pentru ca acești oameni să nu vadă acest lucru ca pe o problemă.



Imagine luată din instructabile

În acest proiect, vom face un spectacol de șireturi automate care își va lega automat șireturile fără niciun efort uman. O va face cu ajutorul unei plăci de microcontroler, a unui senzor de protecție a motorului și a unui servomotor, de îndată ce se așează piciorul în interiorul pantofului.



Cum să-ți AutoLace emisiunea folosind Arduino?

Acum, așa cum știm rezumatul proiectului, să începem să colectăm mai multe informații și să parcurgem procedura de realizare a acestui pantof AutoLace folosind Arduino.



Pasul 1: Colectarea componentelor

Cea mai bună abordare pentru a începe orice proiect este de a face o listă de componente și de a parcurge un scurt studiu al acestor componente, deoarece nimeni nu va dori să rămână în mijlocul unui proiect doar din cauza unei componente lipsă. O listă a componentelor pe care le vom folosi în acest proiect este prezentată mai jos:



  • Arduino uno
  • Scutul motorului
  • Servo motor
  • Forta
  • LED
  • Rezistor 1k-ohm
  • Pantof
  • Benzi metalice
  • Cravate cu fermoar din plastic
  • 1/8
  • Sârme jumper
  • Baterie

Pasul 2: Studierea componentelor

Acum, pe măsură ce cunoaștem rezumatul proiectului nostru și avem, de asemenea, o listă completă a tuturor componentelor, permiteți-ne să facem un pas înainte și să parcurgem un scurt studiu al componentelor pe care le vom folosi.

Seeeduino v4.2 este una dintre cele mai bune plăci compatibile Arduino din lume, care se bazează pe microcontrolerul Atmega 328 MCU. deoarece este ușor de utilizat, mai stabil și arată mai bine decât multe alte plăci. Se bazează pe bootloader-ul Arduino. are un ATMEGA16U2 ca convertor UART-to-USB deoarece poate fi folosit ca cip FTDI. este conectat la computer folosind un cablu micro USB, care se numește în general un cablu Android. O mufă de curent continuu poate fi utilizată și pentru alimentarea plăcii. puterea de intrare trebuie să fie de la 7V la 15V.

Seeeduino Board



Scut motor Arduino vă permite să controlați fără efort direcția și viteza motorului utilizând un Arduino. Permițându-vă să vă adresați doar pinilor Arduino, este ușor să conduceți orice motor în întreprinderea dvs. În plus, vă permite să aveți opțiunea de a controla un motor cu o sursă de alimentare diferită de până la 12v. Cel mai bun dintre toate, scutul este foarte ușor de găsit. Din toate aceste motive, Arduino Motor Shield este un pic rece în arsenalul dvs. pentru prototipare rapidă și experimentare generală.

Scutul motorului

Rezistențe senzor de forță (FSR) sunt senzori de presiune foarte simpli și ușor de utilizat. Obstrucția unui FSR se bazează pe greutatea care se aplică teritoriului de detectare. Cu cât aplicați mai multă greutate, cu atât opoziția este mai mică. Intervalul de obstrucție este destul de mare:> 10 MΩ (fără greutate) până la ~ 200 Ω (greutate maximă). Majoritatea FSR-urilor pot detecta puterea în domeniul de la 100 g la 10 kg. Un FSR cuprinde două straturi și un adeziv distanțier. Straturile conductoare sunt izolate printr-un spațiu subțire atunci când nu se aplică greutate. Unul dintre filme conține două urme care merg de la coadă la regiunea de detectare (partea rotundă). Aceste urme sunt țesute împreună, însă nu sunt în contact. Celălalt film este acoperit cu o cerneală principală. Când apăsați senzorul, cerneala scurtcircuită cele două urme împreună cu o opoziție care se bazează pe greutate.

Senzor de forță

LA Servo motor este un actuator rotativ sau liniar care poate fi controlat și deplasat în increment exact. Aceste motoare sunt diferite de motoarele de curent continuu. Aceste motoare permit controlul precis al mișcării unghiulare sau rotative. Acest motor este cuplat la un senzor care trimite feedback despre mișcarea sa.

Servo Moto

Pasul 3: Principiul de lucru

Principiul de lucru al acestui proiect este foarte simplu. Un senzor de forță va fi folosit pentru a detecta dacă piciorul este plasat sau nu în spectacol. Dacă detectează piciorul, va trimite un semnal către placa Arduino care va muta un servomotor cu ajutorul unui scut Arduino Motor Shield. Acest servomotor se va deplasa în așa fel încât va trage toate șireturile simultan. Prin urmare, legați automat toate șireturile pantofului.

Pasul 4: Asamblarea componentelor

Acum, pe măsură ce cunoaștem ideea principală și principiul de lucru din spatele acestui proiect, haideți să facem un pas înainte și să începem să asamblăm totul pentru a face un spectacol care se va lăsa automat. Pentru a realiza un produs final, parcurgeți pașii de mai jos:

  1. În primul rând, tăiați o mică placă de metal, astfel încât să fie fixată pe spatele spectacolului. Folosiți un material sintetic, astfel încât să se fixeze permanent și să nu se slăbească. Asigurați-vă că lăsați un spațiu între placa metalică și spectacol, deoarece vom trece niște legături de cablu.
  2. Acum luați două servomotoare și atașați-le pe placa metalică cu adeziv fierbinte. Acum, pentru a le fixa definitiv, folosiți fermoare în jurul lor, astfel încât aceste servomotoare să nu se miște mai târziu. După ce servo-motoarele sunt în ritm, tăiați cablul suplimentar rămas.
  3. Acum montați o carcasă pentru baterii sub motoare, astfel încât comutatorul de alimentare să fie exterior.
  4. Acum atașați placa Arduino la motoare. Înainte de a conecta scutul motorului cu Arduino, trebuie adăugate câteva lucruri la circuit.
  5. Luați un LED și lipiți un rezistor la piciorul său pozitiv și lipiți o lungime scurtă de sârmă la piciorul negativ și celălalt picior al rezistorului. Apoi, conectați acest ansamblu la Arduino și împingeți-l pe una dintre prizele de șiret neutilizate.
  6. Acum ia o Senzor de forță și așezați-l în pantofii în care vă va odihni călcâiul nu este recomandat să lipiți pinii senzorului de forță, deoarece căldura fierului de lipit poate topi plasticul senzorului. Deci, este mai bine dacă îl lipiți sau îl lipiți cu bandă adezivă.
  7. În cele din urmă, utilizați o cravată cu fermoar pentru a lega toate șireturile de servomotor, astfel încât atunci când motorul se rotește, acesta trage toate șireturile simultan.

Asigurați-vă că firul pozitiv al LED-ului este conectat la pinul 2 al Arduino. Vcc-ul și pinul de masă al senzorului de forță vor fi conectate la 5V și la masă ale Arduino, iar pinul IN al senzorului de forță va fi conectat la pinul A0 al plăcii Arduino. În cele din urmă, conectați cu atenție pinii servomotorului la ecranul motorului, astfel încât să nu faceți o conexiune greșită.

Pasul 5: Noțiuni introductive despre Arduino

Dacă nu sunteți familiarizați cu Arduino IDE înainte, nu vă faceți griji, deoarece mai jos puteți vedea pași clari de ardere a codului pe placa microcontrolerului utilizând Arduino IDE. Puteți descărca cea mai recentă versiune a Arduino IDE de la aici și urmați pașii menționați mai jos:

  1. Când placa Arduino este conectată la computer, deschideți „Panoul de control” și faceți clic pe „Hardware și sunet”. Apoi faceți clic pe „Dispozitive și imprimante”. Găsiți numele portului la care este conectată placa Arduino. În cazul meu, este „COM14”, dar poate fi diferit pe computer.

    Găsirea portului

  2. Va trebui să includem o bibliotecă pentru a utiliza Servo Motor. Biblioteca este atașată mai jos în linkul de descărcare împreună cu codul. Mergi la Schiță> Includeți bibliotecă> Adăugați bibliotecă .ZIP.

    Includeți biblioteca

  3. Acum deschideți IDE-ul Arduino. Din Instrumente, setați placa Arduino la Arduino / Genuino UNO.

    Placă de setare

  4. Din același meniu Instrument, setați numărul de port pe care l-ați văzut în panoul de control.

    Setarea portului

  5. Descărcați codul atașat mai jos și copiați-l în IDE. Pentru a încărca codul, faceți clic pe butonul de încărcare.

    Încărcare

Puteți descărca codul prin făcând clic aici.

Pasul 6: Cod

Codul este destul de bine comentat și se explică de la sine. Dar, totuși, codul este explicat pe scurt mai jos.

1. La început, este inclusă o bibliotecă specială, astfel încât servomotorul să poată fi integrat cu placa microcontrolerului și programat prin intermediul acestuia. Două obiecte sunt create pentru a fi utilizate cu servomotorul. sunt inițializați unii pini sau Arduino care vor fi conectați la driverul motorului și se declară și unele variabile care vor salva unele valori temporare care vor fi folosite ulterior în programul principal.

#include // include bibliotecă pentru interfața servomotorului cu placa de microcontroler Servo myservo; // creează servo obiect 1 Servo myservo2; // creați obiectul servo 2 int forcePin = 0; // pin analogic 0 conectat la senzorul de forță int ledPin = 2; // pinul digital 2 conectat la LED int switchPin = 19; // setează comutatorul de deblocare pe pinul analogic 5 int valF; // valoarea senzorului de forță int valS; // valoarea comutatorului int trezor = 500; // definește pragul de presiune al senzorului de forță int servoUnlock = 0; // setează servo-ul principal în poziția neutră nelasată (0 grade) în servoLock = 180; // setează servo principal în poziție dantelată (180 grade) int servoUnlock2 = 180; // setează servo auxiliar în poziția neutră fără dezacord (0 grade) în servoLock2 = 0; // setează servo auxiliar în poziție dantelată (180 grade)

2. configurare nulă () este o funcție care rulează o singură dată la pornire când microcontrolerul este pornit sau butonul de activare este apăsat. În această funcție, pinii Arduino sunt inițializați pentru a fi folosiți ca INPUT sau OUTPUT. Obiectele care au fost create anterior pentru servomotor, sunt utilizate pentru a atașa servomotorul la pinul specific al plăcii Arduino, iar servo este mutat în starea inițială nelasată. Baud Rate este, de asemenea, setat în această funcție. Baud Rate este viteza în biți pe secundă prin care microcontrolerul comunică cu dispozitivele externe atașate.

void setup () {Serial.begin // setarea ratei de transmisie a microcontrolerului pinMode (ledPin, OUTPUT); // pinul digital 2 este ieșit pentru LED pinMode (switchPin, INPUT); // pinul analogic 5 este intrare pentru comutatorul myservo.attach (9); // atașează servosele la pinii 9 myservo2.attach (10); // atașează servo-urile la pinii 10 myservo.write (servoUnlock); // mutați servo 1 în poziții nelasate myservo2.write (servoUnlock2); // mutați servo 2 în poziții nelegate}

3. bucla nulă () este o funcție care rulează în mod repetat într-o buclă. În primul rând, o valoare analogică este citită de senzorul de forță. Apoi așteaptă ca valoarea senzorului de forță să treacă o valoare prag. Acesta va aștepta ca piciorul să se așeze complet la locul său și va pune ambele servouri într-o poziție de blocare. Dacă butoanele sunt apăsate, servo-ul va fi setat să se deblocheze și va aștepta până când LED-ul va suna de șapte ori.

bucla void () {valF = analogRead (forcePin); // citiți valoarea senzorului de forță valS = digitalRead (switchPin); // citiți valoarea comutatorului dacă (valF> = merge) {// așteaptă ca senzorul de forță să fie egal sau să treacă pragul de presiune și apoi: întârziere (1000); // așteaptă ca piciorul să se așeze în locul în pantoful myservo2.write (servoLock2); // setează servo auxiliar la întârzierea poziției blocate (1000); // așteaptă o secundă myservo.write (servoLock); // setează servo principal la întârzierea poziției blocate (1000); // așteaptă o secundă digitalWrite (ledPin, HIGH); // pornește LED-ul până când servo-ul este deblocat. Scoateți această linie pentru a economisi durata de viață a bateriei. } if (valS == HIGH) {// așteaptă apăsarea butonului și apoi: myservo2.write (servoUnlock2); // deblochează servo întârzierea auxiliară (1000); // așteaptă două secunde myservo.write (servoUnlock); // deblochează întârzierea servo principală (500); // așteptați, apoi clipește LED-ul de 7 ori digitalWrite (ledPin, LOW); întârziere (200); digitalWrite (ledPin, HIGH); întârziere (200); digitalWrite (ledPin, LOW); întârziere (200); digitalWrite (ledPin, HIGH); întârziere (200); digitalWrite (ledPin, LOW); întârziere (200); digitalWrite (ledPin, HIGH); întârziere (200); digitalWrite (ledPin, LOW); întârziere (200); digitalWrite (ledPin, HIGH); întârziere (200); digitalWrite (ledPin, LOW); întârziere (200); digitalWrite (ledPin, HIGH); întârziere (200); digitalWrite (ledPin, LOW); întârziere (200); digitalWrite (ledPin, HIGH); întârziere (200); digitalWrite (ledPin, LOW); întârziere (200); digitalWrite (ledPin, HIGH); întârziere (200); digitalWrite (ledPin, LOW); // stinge LED întârziere (1000); }}

Deci, aceasta a fost întreaga procedură pentru a face un spectacol care își leagă automat șireturile de la sine cu ajutorul unui servomotor, microcontroler și un scut al motorului. Acum, după cum știți toată această procedură, bucurați-vă să vă faceți AutoLacing Show acasă.