Kako narediti čevelj za samodejno vezanje z uporabo Arduina?

V sodobni dobi znanstveniki in inženirji poskušajo vse avtomatizirati. Pomeni, da bo vse delovalo samo od sebe brez kakršnega koli človeškega napora. V družbi so ugotovili zelo pogost problem, da imajo nekateri ljudje težave z vezanjem vezalk. Mednje spadajo invalidi, ljudje z bolečinami v hrbtu, otroci in slepi do neke mere. Torej je treba najti rešitev, da ti ljudje tega ne bodo videli kot problem.



Slika povzeta po navodilih

V tem projektu bomo naredili oddajo Automatic Lacing, ki bo samodejno zavezala svoje vezalke brez kakršnega koli človeškega napora. To bo storilo s pomočjo mikrokrmilne plošče, senzorja ščita motorja in servo motorja, takoj ko nogo postavite v čevelj.



Kako samodejno povezati vaš šov z uporabo Arduina?

Zdaj, ko poznamo povzetek projekta, začnimo z zbiranjem več informacij in pojdimo skozi postopek, kako izdelati ta čevelj AutoLace z uporabo Arduina.



1. korak: Zbiranje komponent

Najboljši pristop za začetek katerega koli projekta je, da sestavite seznam komponent in si ogledate kratko študijo teh komponent, ker nihče ne bo želel ostati sredi projekta samo zaradi manjkajoče komponente. Seznam komponent, ki jih bomo uporabili v tem projektu, je spodaj:



  • Arduino uno
  • Motorni ščit
  • Servo motor
  • Sila
  • LED
  • 1k-ohmski upor
  • Čevelj
  • Kovinski trak
  • Plastične zadrge
  • 1/8
  • Jumper žice
  • Baterija

2. korak: Preučevanje komponent

Zdaj, ko poznamo povzetek našega projekta in imamo tudi popoln seznam vseh komponent, pojdimo korak naprej in si oglejmo kratko študijo komponent, ki jih bomo uporabili.

Seeeduino v4.2 je ena najboljših Arduino združljivih plošč na svetu, ki temelji na mikrokrmilniku Atmega 328 MCU. ker je enostaven za uporabo, bolj stabilen in izgleda bolje kot mnoge druge plošče. Temelji na zagonskem nalagalniku Arduino. ima ATMEGA16U2 kot pretvornik UART v USB, ker se lahko uporablja kot čip FTDI. z računalnikom je povezan s kablom micro USB, ki ga na splošno imenujemo androidni kabel. Za napajanje plošče lahko uporabite tudi DC vtičnico. vhodna moč mora biti od 7V do 15V.

Seeeduino Board



Arduino Motor Shield vam omogoča enostavno upravljanje smeri in hitrosti motorja z uporabo Arduina. Z omogočanjem samo naslavljanja zatičev Arduino vam olajša zagon katerega koli motorja v vaše podjetje. Poleg tega vam omogoča možnost upravljanja motorja z drugačnim napajanjem do 12v. Najboljše od vsega je, da je ščit zelo enostavno najti. Zaradi vseh teh razlogov je Arduino Motor Shield, če je v vašem arzenalu malo kul za hitro izdelavo prototipov in splošno eksperimentiranje.

Motorni ščit

Upori senzorja sile (FSR) so zelo enostavni in enostavni za uporabo tlačnih senzorjev. Ovira FSR temelji na teži, ki se nanaša na območje odkrivanja. Večjo težo uporabite, manjša je nasprotovanja. Območje ovir je precej veliko:> 10 MΩ (brez teže) do ~ 200 Ω (največja teža). Večina FSR lahko zazna moč v območju od 100 g do 10 kg. FSR je sestavljen iz dveh slojev in distančnega lepila. Prevodne plasti so izolirane z tanko zračno režo, kadar se ne nalaga nobena teža. Eden od filmov vsebuje dve sledovi, ki tečeta od repa do detekcijskega območja (okrogli del). Te sledi so spletene skupaj, vendar ne v stiku. Drugi film je prekrit z vodilnim črnilom. Ko pritisnete na senzor, črnilo skrajša obe sledovi skupaj z opozicijo, ki je odvisna od teže.

Senzor sile

TO Servo motor je rotacijski ali linearni pogon, ki ga je mogoče krmiliti in premikati v natančnem koraku. Ti motorji se razlikujejo od enosmernih motorjev. Ti motorji omogočajo natančen nadzor kotnega ali rotacijskega gibanja. Ta motor je povezan s senzorjem, ki pošilja povratne informacije o svojem gibanju.

Servo moto

3. korak: Načelo dela

Načelo dela tega projekta je zelo preprosto. Senzor sile bo uporabljen za zaznavanje, ali je noga postavljena v predstavo ali ne. Če zazna nogo, bo poslal signal na ploščo Arduino, ki bo s pomočjo Arduino Motor Shielda premikala servo motor. Ta servo motor se bo premikal tako, da bo vlekel vse vezalke hkrati. Zato samodejno zavežemo vse vezalke čevlja.

4. korak: Sestavljanje komponent

Zdaj, ko poznamo glavno idejo in načelo dela, ki stoji za tem projektom, pojdimo korak naprej in začnimo sestavljati vse, da bomo naredili predstavo, ki se bo samodejno laserirala. Za izdelavo končnega izdelka sledite spodnjim korakom:

  1. Najprej obrežite majhno kovinsko ploščo, tako da je pritrjena na zadnji strani razstave. Uporabite sintetiko, da se trajno fiksira in ne zrahlja. Prepričajte se, da pustite režo med kovinsko ploščo in predstavo, ker bomo speljali nekaj kabelskih vezic iz te reže.
  2. Zdaj vzemite dva servo motorja in jih z vročim lepilom pritrdite na kovinsko ploščo. Zdaj, da jih trajno pritrdite, uporabite zadrge okoli njih, da se ti servo motorji pozneje ne bodo premikali. Ko so servo motorji v koraku, odrežite še preostali kabel.
  3. Zdaj namestite ohišje baterije pod motorje, tako da je stikalo za vklop obrnjeno navzven.
  4. Zdaj pritrdite ploščo Arduino na motorje. Preden povežete ščit motorja z Arduinom, je treba v vezje dodati nekaj stvari.
  5. Vzemite LED in spajkajte upor na pozitivno nogo in prilepite kratko žico na negativno nogo in drugo nogo upora. Nato ta sklop priključite na Arduino in ga potisnite v eno od neuporabljenih vtičnic za vezalke.
  6. Zdaj vzemite a Senzor sile in ga položite v čevlje, kjer bo počivala peta. ni priporočljivo spajkati nožic senzorja sile, ker lahko toplota spajkalnika stopi plastiko senzorja. Zato je bolje, če ga prilepite ali lepite.
  7. Končno uporabite zadrgo, da privežete vse vezalke na servo motor, tako da ko se motor vrti, povleče vse vezalke hkrati.

Prepričajte se, da je pozitivna žica LED priključena na pin2 Arduina. Vcc in ozemljitveni zatič senzorja sile bosta priključena na 5 V in ozemljitev Arduina, vtič IN senzorja sile pa bo povezan z zatičem A0 plošče Arduino. Na koncu zatiče servo motorja previdno priklopite na ščit motorja, da ne boste napačno povezali.

5. korak: Uvod v Arduino

Če Arduino IDE prej niste poznali, ne skrbite, ker spodaj vidite jasne korake zapisovanja kode na plošči mikrokrmilnika z uporabo Arduino IDE. Najnovejšo različico Arduino IDE lahko prenesete s spletnega mesta tukaj in sledite spodnjim korakom:

  1. Ko je plošča Arduino povezana z računalnikom, odprite »Nadzorna plošča« in kliknite »Strojna oprema in zvok«. Nato kliknite »Naprave in tiskalniki«. Poiščite ime vrat, na katera je priključena vaša plošča Arduino. V mojem primeru je 'COM14', vendar je v vašem računalniku morda drugačen.

    Iskanje pristanišča

  2. Za uporabo Servo Motorja bomo morali vključiti knjižnico. Knjižnica je skupaj s kodo priložena spodaj v povezavi za prenos. Pojdi do Skica> Vključi knjižnico> Dodaj .ZIP knjižnico.

    Vključi knjižnico

  3. Zdaj odprite Arduino IDE. V orodju nastavite ploščo Arduino na Arduino / Genuino UNO.

    Nastavitvena plošča

  4. V istem meniju Orodja nastavite številko vrat, ki ste jo videli na nadzorni plošči.

    Nastavitev vrat

  5. Prenesite spodnjo kodo in jo kopirajte v svoj IDE. Če želite naložiti kodo, kliknite gumb za prenos.

    Naloži

Kodo lahko prenesete do kliknite tukaj.

6. korak: koda

Koda je precej dobro komentirana in samoumevna. Toda kljub temu je koda na kratko razložena spodaj.

1. Na začetku je vključena posebna knjižnica, tako da je servo motor mogoče integrirati z mikroskrbniško ploščo in preko nje programirati. Ustvarjena sta dva predmeta za uporabo s servo motorjem. inicializirajo se nekateri zatiči ali Arduino, ki bodo povezani z gonilnikom motorja, razglašene pa so tudi nekatere spremenljivke, ki bodo shranile nekatere začasne vrednosti, ki bodo pozneje uporabljene v glavnem programu.

#include // vključi knjižnico za povezavo servo motorja z mikrokrmilniško ploščo Servo myservo; // ustvari servo objec 1 Servo myservo2; // ustvarimo servo objekt 2 int forcePin = 0; // analogni zatič 0 povezan s senzorjem sile int ledPin = 2; // digitalni zatič 2, priključen na LED int stikaloPin = 19; // nastavi stikalo za odklepanje na analogni zatič 5 int valF; // vrednost senzorja sile int valS; // vrednost stikala int thresHold = 500; // definira prag tlaka senzorja sile int servoUnlock = 0; // glavni servo postavi v nevtralni nevezan položaj (0 stopinj) int servoLock = 180; // glavni servo postavi v vezani položaj (180 stopinj) int servoUnlock2 = 180; // pomožni servo postavi v nevtralni nevezan položaj (0 stopinj) int servoLock2 = 0; // pomožni servo postavi v vezan položaj (180 stopinj)

2. void setup () je funkcija, ki se v zagonu zažene samo enkrat, ko se mikrokrmilnik napaja ali pritisne gumb za omogočanje. Pri tej funkciji so zatiči Arduina inicializirani, da se uporabljajo kot VHOD ali IZHOD. Predmeti, ki so bili prej ustvarjeni za servo motor, se uporabljajo za pritrditev servo motorja na določen zatič plošče Arduino, servo pa se premakne v začetno stanje brez povezave. V tej funkciji je nastavljena tudi hitrost prenosa. Hitrost prenosa je hitrost v bitih na sekundo, s katero mikrokrmilnik komunicira z zunanjimi priključenimi napravami.

void setup () {Serial.begin // nastavitev hitrosti prenosa v mikrokrmilniku pinMode (ledPin, OUTPUT); // digitalni pin 2 je izhod za LED pinMode (switchPin, INPUT); // analogni zatič 5 je vhod za stikalo myservo.attach (9); // servoposnetke pritrdi na zatiče 9 myservo2.attach (10); // servoposnetke pritrdi na nožice 10 myservo.write (servoUnlock); // premakni servo 1 v nevezane položaje myservo2.write (servoUnlock2); // premakni servo 2 v nevezane položaje}

3. void loop () je funkcija, ki se večkrat izvaja v zanki. Najprej analogno vrednost s odčita senzor sile. Nato počaka, da vrednost senzorja sile preseže mejno vrednost. Počakal bo, da se noga popolnoma umiri na svojem mestu in bo oba servo-serva postavil v položaj zaklepanja. Če pritisnete stikala, bo servo nastavljen na odklepanje in bo počakal, dokler LED ne utripne sedemkrat.

void loop () {valF = analogRead (forcePin); // odčitana vrednost senzorja sile valS = digitalRead (switchPin); // odčitava vrednost stikala, če (valF> = thresHold) {// čaka, da se senzor sile izenači ali preide prag tlaka in nato: zamuda (1000); // čaka, da se noga ustavi v čevelj myservo2.write (servoLock2); // pomožni servo nastavi na zaklenjen položaj (1000); // čaka eno sekundo myservo.write (servoLock); // glavni servo nastavi na zaklenjen položaj (1000); // čaka eno sekundo digitalWrite (ledPin, HIGH); // vklopi LED, dokler servo ni odklenjen. Odstranite to vrstico, da prihranite življenjsko dobo baterije. } if (valS == HIGH) {// čaka, da se pritisne stikalo, nato pa: myservo2.write (servoUnlock2); // odklene pomožno servo zakasnitev (1000); // čaka dve sekundi myservo.write (servoUnlock); // odklene glavno servo zakasnitev (500); // čakamo, nato 7-krat utripnemo LED digitalWrite (ledPin, LOW); zamuda (200); digitalWrite (ledPin, HIGH); zamuda (200); digitalWrite (ledPin, LOW); zamuda (200); digitalWrite (ledPin, HIGH); zamuda (200); digitalWrite (ledPin, LOW); zamuda (200); digitalWrite (ledPin, HIGH); zamuda (200); digitalWrite (ledPin, LOW); zamuda (200); digitalWrite (ledPin, HIGH); zamuda (200); digitalWrite (ledPin, LOW); zamuda (200); digitalWrite (ledPin, HIGH); zamuda (200); digitalWrite (ledPin, LOW); zamuda (200); digitalWrite (ledPin, HIGH); zamuda (200); digitalWrite (ledPin, LOW); zamuda (200); digitalWrite (ledPin, HIGH); zamuda (200); digitalWrite (ledPin, LOW); // izklopi zakasnitev LED (1000); }}

To je bil torej celoten postopek za oddajo, ki samodejno sama veže vezalke s pomočjo servo motorja, mikrokrmilnika in motornega ščita. Zdaj, ko poznate celoten postopek, uživajte v pripravi oddaje AutoLacing doma.