Kako napraviti cipelu za automatsko vezanje pomoću Arduina?

U modernoj eri znanstvenici i inženjeri pokušavaju sve automatizirati. Znači da će sve funkcionirati samo od sebe bez ikakvog ljudskog napora. U društvu je utvrđen vrlo čest problem da neki ljudi imaju problema s vezanjem pertle sami. Ti ljudi donekle uključuju osobe s invaliditetom, osobe s bolovima u leđima, djecu i slijepe osobe. Dakle, treba donijeti rješenje kako ti ljudi ovo ne bi vidjeli kao problem.



Slika preuzeta iz uputstava

U ovom ćemo projektu napraviti emisiju Automatic Lacing koja će automatski vezati svoje vezice bez ikakvog ljudskog napora. Učinit će to uz pomoć ploče mikrokontrolera, senzora štitnika motora i servo motora, čim postavite nogu unutar cipele.



Kako automatski povezati svoju emisiju pomoću Arduina?

Sada, budući da znamo sažetak projekta, počnimo prikupljati više informacija i proći kroz postupak izrade ove cipele AutoLace pomoću Arduina.



Korak 1: Prikupljanje komponenata

Najbolji pristup za početak bilo kojeg projekta je sastavljanje popisa komponenata i prolazak kroz kratku studiju tih komponenata, jer nitko neće htjeti ostati usred projekta samo zbog nedostajuće komponente. Popis komponenata koje ćemo koristiti u ovom projektu dan je u nastavku:



  • Arduino uno
  • Motorni štit
  • Servo motor
  • Sila
  • LED
  • Otpornik od 1 k-ohma
  • Cipela
  • Metalna traka
  • Plastične patentne kopče
  • 1/8
  • Jumper žice
  • Baterija

Korak 2: Proučavanje komponenata

Sad kad znamo sažetak našeg projekta i imamo i cjelovit popis svih komponenata, pomaknimo se korak naprijed i prođite kroz kratku studiju komponenata koje ćemo koristiti.

Seeeduino v4.2 jedna je od najboljih Arduino kompatibilnih ploča na svijetu koja se temelji na mikrokontroleru Atmega 328 MCU. jer je jednostavan za upotrebu, stabilniji i izgleda bolje od mnogih drugih ploča. Temelji se na pokretačkom programu Arduino. ima ATMEGA16U2 kao UART-to-USB pretvarač, jer se može koristiti kao FTDI čip. povezan je s računalom pomoću mikro USB kabela koji se općenito naziva android kabel. Istosmjerna utičnica također se može koristiti za napajanje ploče. ulazna snaga mora biti od 7V do 15V.

Odbor Seeeduino



Arduino motorni štit omogućuje vam bez napora kontrolu smjera i brzine motora koristeći Arduino. Omogućujući vam da samo adresirate Arduino pribadače, olakšava ulazak bilo kojeg motora u vaš posao. Dodatno vam omogućuje mogućnost upravljanja motorom s različitim napajanjem do 12v. Najbolje od svega je što je štit vrlo jednostavno pronaći. Iz svih ovih razloga, Arduino Motor Shield ako vam je malo cool za brzo prototipiranje i općenito eksperimentiranje.

Motorni štit

Otpornici osjetnika sile (FSR) su vrlo jednostavni i laki za upotrebu senzori pritiska. Prepreka FSR oslanja se na težinu koja se nanosi na područje otkrivanja. Što više težine primijenite, protivljenje je niže. Raspon prepreka je prilično velik:> 10 MΩ (bez težine) do ~ 200 Ω (maksimalna težina). Većina FSR-a može otkriti snagu u opsegu od 100 g do 10 kg. FSR se sastoji od dva sloja i razmaknog ljepila. Provodljivi slojevi izolirani su tankim zračnim razmakom kada se ne nanosi nikakva težina. Jedan od filmova sadrži dva traga koji idu od repa do područja detekcije (okrugli dio). Ti su tragovi isprepleteni, ali ne dolaze u kontakt. Drugi je film prekriven vodećom tintom. Kad pritisnete senzor, tinta kratka dva traga zajedno s oporbom koja se oslanja na težinu.

Osjetnik sile

DO Servo motor je rotacijski ili linearni aktuator koji se može kontrolirati i pomicati u točnom koraku. Ovi se motori razlikuju od istosmjernih motora. Ovi motori omogućuju precizno upravljanje kutnim ili rotacijskim kretanjem. Ovaj je motor povezan sa senzorom koji šalje povratne informacije o svom kretanju.

Servo moto

Korak 3: Načelo rada

Princip rada ovog projekta vrlo je jednostavan. Senzor sile koristit će se za otkrivanje je li stopalo postavljeno u show ili ne. Ako otkrije stopalo, poslat će signal Arduino ploči koja će pomicati servo motor uz pomoć Arduino Motor Shield-a. Ovaj će se servo motor pomicati na takav način da će povući sve vezice odjednom. Stoga se automatski vežu sve vezice cipele.

Korak 4: Sastavljanje komponenata

Sad kad znamo glavnu ideju i princip rada koji stoje iza ovog projekta, pomaknimo se korak naprijed i započnimo sastavljati sve kako bismo napravili predstavu koja će se automatski laserizirati. Da biste napravili konačni proizvod, prođite kroz korake dane u nastavku:

  1. Prije svega, obrežite malu metalnu pločicu tako da bude učvršćena na poleđini predstave. Upotrijebite sintetiku tako da se trajno fiksira i ne olabavi. Svakako ostavite razmak između metalne ploče i predstave jer ćemo proći nekoliko kabelskih vezica iz tog razmaka.
  2. Sada uzmite dva servo motora i pričvrstite ih vrućom ljepilom na metalnu ploču. Da biste ih trajno fiksirali, upotrijebite patentne zatvarače oko sebe kako se ovi servo motori kasnije ne bi pomicali. Nakon što servo motori krenu u ritmu, prerežite dodatni kabel koji je ostao.
  3. Sada montirajte kućište baterije ispod motora tako da je prekidač napajanja prema van.
  4. Sada pričvrstite ploču Arduino na motore. Prije spajanja oklopa motora s Arduinom, neke stvari treba dodati u krug.
  5. Uzmite LED i zalemite otpornik na pozitivnu nogu i zalemite kratku žicu na negativnu nogu i drugu nogu otpora. Zatim spojite ovaj sklop na Arduino i gurnite ga u jednu od neiskorištenih utičnica za pertle.
  6. Sada uzmite a Osjetnik sile i stavite je u cipele tamo gdje će se odmarati peta. ne preporučuje se lemljenje nožica osjetnika sile jer toplina lemilice može otopiti plastiku senzora. Stoga je bolje ako ga zalijepite ljepljivom trakom.
  7. Na kraju upotrijebite patentni zatvarač kako biste svezali sve vezice za servo motor, tako da kada se motor okreće povuče sve vezice odjednom.

Provjerite je li pozitivna žica LED diode spojena na pin2 Arduina. Vcc i uzemljeni pin senzora sile bit će povezani na 5 V i uzemljenje Arduina, a IN pin osjetnika sile povezan će s A0 pinom Arduino ploče. Na kraju, pažljivo priključite klinove servo motora na štit motora kako ne biste pogrešno povezali.

Korak 5: Početak rada s Arduinom

Ako prije niste bili upoznati s Arduino IDE-om, ne brinite jer u nastavku možete vidjeti jasne korake sagorijevanja koda na ploči mikrokontrolera pomoću Arduino IDE-a. Najnoviju verziju Arduino IDE-a možete preuzeti sa stranice ovdje i slijedite dolje navedene korake:

  1. Kad je ploča Arduino spojena na vaše računalo, otvorite 'Upravljačka ploča' i kliknite 'Hardver i zvuk'. Zatim kliknite 'Uređaji i pisači'. Pronađite naziv priključka na koji je spojena vaša Arduino ploča. U mom slučaju to je 'COM14', ali na vašem se računalu može razlikovati.

    Pronalaženje luke

  2. Morat ćemo uključiti knjižnicu da bismo koristili Servo Motor. Knjižnica je u prilogu dolje na linku za preuzimanje zajedno s kodom. Ići Skica> Uključi biblioteku> Dodaj .ZIP biblioteku.

    Uključi biblioteku

  3. Sada otvorite Arduino IDE. Iz alata postavite ploču Arduino na Arduino / Genuino UNO.

    Odbor za postavljanje

  4. Iz istog izbornika Alat postavite broj porta koji ste vidjeli na upravljačkoj ploči.

    Postavka porta

  5. Preuzmite dolje priloženi kôd i kopirajte ga u svoj IDE. Da biste prenijeli kôd, kliknite gumb za prijenos.

    Učitaj

Kôd možete preuzeti do klikom ovdje.

6. korak: kôd

Kôd je prilično dobro komentiran i samorazumljiv. Ali ipak, kôd je ukratko objašnjen u nastavku.

1. Na početku je uključena posebna knjižnica kako bi se servo motor mogao integrirati s pločom mikrokontrolera i programirati kroz nju. Stvorena su dva objekta koja će se koristiti sa servo motorom. inicijaliziraju se neki pinovi ili Arduino koji će biti povezani s pokretačkim programom motora, a proglašavaju se i neke varijable koje će spremiti neke privremene vrijednosti koje će se kasnije koristiti u glavnom programu.

#include // uključi biblioteku za povezivanje servo motora s mikrokontrolerskom pločom Servo myservo; // stvara servo objec 1 Servo myservo2; // stvorimo servo objekt 2 int forcePin = 0; // analogni pin 0 spojen na senzor sile int ledPin = 2; // digitalni pin 2 spojen na LED int switchPin = 19; // postavlja prekidač za otključavanje na analogni pin 5 int valF; // vrijednost senzora sile int valS; // vrijednost prekidača int thresHold = 500; // definira prag tlaka senzora sile int servoUnlock = 0; // glavni servo postavlja u neutralni položaj bez veze (0 stupnjeva) int servoLock = 180; // glavni servo postavlja u vezan položaj (180 stupnjeva) int servoUnlock2 = 180; // postavlja pomoćni servo u neutralni položaj bez veze (0 stupnjeva) int servoLock2 = 0; // postavlja pomoćni servo u vezan položaj (180 stupnjeva)

2. void postavljanje () je funkcija koja se pokreće samo jednom u startu kada se mikrokontroler napaja onim ili se pritisne tipka za omogućivanje. U ovoj su funkciji pinovi Arduina inicijalizirani da bi se koristili kao ULAZ ili IZLAZ. Objekti koji su prije bili stvoreni za servo motor, koriste se za pričvršćivanje servo motora na određeni pin Arduino ploče, a servo se premješta u početno stanje bez veze. Brzina prijenosa je također postavljena u ovoj funkciji. Brzina prijenosa je brzina u bitovima u sekundi kojom mikrokontroler komunicira s priključenim vanjskim uređajima.

void setup () {Serial.begin // podešavanje brzine prijenosa pinMode mikrokontrolera (ledPin, OUTPUT); // digitalni pin 2 je izlaz za LED pinMode (switchPin, INPUT); // analogni pin 5 je ulaz za prekidač myservo.attach (9); // pričvršćuje servo osovinice 9 myservo2.attach (10); // pričvršćuje servo osovine na 10 myservo.write (servoUnlock); // premjestiti servo 1 u nevezane položaje myservo2.write (servoUnlock2); // premjestiti servo 2 u nevezane položaje}

3. petlja void () je funkcija koja se ponavlja u petlji. Prvo, analognu vrijednost s očitava osjetnik sile. Zatim se čeka da vrijednost osjetnika sile prijeđe graničnu vrijednost. Pričekat će da se noga potpuno namjesti na svoje mjesto i postavit će oba serva u zaključani položaj. Ako se prekidači pritisnu, servo će se postaviti na otključavanje i pričekat će dok LED ne zatreperi sedam puta.

void loop () {valF = analogRead (forcePin); // očitavanje vrijednosti senzora sile valS = digitalRead (switchPin); // očitavanje vrijednosti prekidača if (valF> = thresHold) {// čeka da se osjetnik sile izjednači ili pređe prag tlaka, a zatim: kašnjenje (1000); // čeka da se stopalo namjesti na svoje mjesto u cipeli myservo2.write (servoLock2); // postavlja pomoćni servo na zaključavanje u zaključanom položaju (1000); // čeka jednu sekundu myservo.write (servoLock); // postavlja glavni servo na zaključavanje u zaključanom položaju (1000); // čeka jednu sekundu digitalWrite (ledPin, HIGH); // uključuje LED dok se servo ne otključa. Uklonite ovu liniju radi uštede baterije. } if (valS == HIGH) {// čeka da se pritisne prekidač, a zatim: myservo2.write (servoUnlock2); // otključava pomoćno kašnjenje servoa (1000); // čeka dvije sekunde myservo.write (servoUnlock); // otključava glavno servo kašnjenje (500); // čekamo, a zatim trepćemo LED 7 puta digitalWrite (ledPin, LOW); kašnjenje (200); digitalWrite (ledPin, HIGH); kašnjenje (200); digitalWrite (ledPin, LOW); kašnjenje (200); digitalWrite (ledPin, HIGH); kašnjenje (200); digitalWrite (ledPin, LOW); kašnjenje (200); digitalWrite (ledPin, HIGH); kašnjenje (200); digitalWrite (ledPin, LOW); kašnjenje (200); digitalWrite (ledPin, HIGH); kašnjenje (200); digitalWrite (ledPin, LOW); kašnjenje (200); digitalWrite (ledPin, HIGH); kašnjenje (200); digitalWrite (ledPin, LOW); kašnjenje (200); digitalWrite (ledPin, HIGH); kašnjenje (200); digitalWrite (ledPin, LOW); kašnjenje (200); digitalWrite (ledPin, HIGH); kašnjenje (200); digitalWrite (ledPin, LOW); // isključuje odgađanje LED diode (1000); }}

Dakle, ovo je bio cijeli postupak izrade emisije koja automatski veže svoje vezice uz pomoć servo motora, mikrokontrolera i štitnika motora. Sad kad znate cijeli ovaj postupak, uživajte u stvaranju svog AutoLacing Showa kod kuće.