Com fer una sabata de cordatge automàtic amb Arduino?

A l'era moderna, científics i enginyers intenten que tot sigui automatitzat. Vol dir que tot funcionarà tot sol sense cap esforç humà. Es va identificar un problema molt comú a la societat: algunes persones tenen problemes per lligar-se els cordons per si soles. Entre aquestes persones hi ha discapacitats, persones amb mal d'esquena, nens i persones cegues fins a cert punt. Per tant, s’ha de solucionar perquè aquestes persones no ho vegin com un problema.



Imatge extreta d’instructibles

En aquest projecte, farem un espectacle de cordons automàtics que lligarà automàticament els cordons sense cap esforç humà. Ho farà amb l'ajuda d'una placa de microcontroladors, un sensor de protecció del motor i un servomotor, tan bon punt es col·loqui el peu dins de la sabata.



Com enllaçar automàticament el vostre programa amb Arduino?

Ara, ja que coneixem el resum del projecte, comencem a recopilar més informació i passem pel procediment de com fer aquesta sabata AutoLace mitjançant Arduino.



Pas 1: recollida dels components

El millor enfocament per iniciar qualsevol projecte és fer una llista de components i fer un breu estudi d’aquests components perquè ningú voldrà quedar-se enmig d’un projecte només per falta d’un component. A continuació es mostra una llista de components que utilitzarem en aquest projecte:



  • Arduino Un
  • Escut del motor
  • servo Motor
  • Força
  • LED
  • Resistència d'1k-ohm
  • Sabata
  • Franja de metall
  • Corbates de plàstic
  • 1/8
  • Jumper Wires
  • Bateria

Pas 2: estudiar els components

Ara, ja que coneixem el resum del nostre projecte i també tenim una llista completa de tots els components, anem a fer un pas endavant i fem un breu estudi dels components que utilitzarem.

Seeeduino v4.2 és una de les millors plaques compatibles Arduino del món basada en el microcontrolador Atmega 328 MCU. perquè és fàcil d’utilitzar, és més estable i té un aspecte millor que molts altres taulers. Es basa en el carregador d’arrencada Arduino. té un ATMEGA16U2 com a convertidor UART-a-USB, ja que es pot utilitzar com a xip FTDI. es connecta a l'ordinador mitjançant un cable micro USB que generalment s'anomena cable Android. També es pot utilitzar una presa de corrent continu per alimentar la placa. la potència d'entrada ha de ser de 7V a 15V.

Tauler Seeeduino



Escut del motor Arduino us permet controlar sense esforç la direcció i la velocitat del motor mitjançant un Arduino. En permetre-vos només adreçar els pins Arduino, facilita la conducció de qualsevol motor a la vostra empresa. A més, us permet tenir l'opció de controlar un motor amb una font d'alimentació diferent de fins a 12v. El millor de tot és que l’escut és molt fàcil de trobar. Per tots aquests motius, l'Arduino Motor Shield és una mica divertit que tingueu al vostre arsenal per fer prototips ràpids i experimentar en general.

Escut del motor

Resistors de sensor de força (FSR) són sensors de pressió molt senzills i fàcils d’utilitzar. L’obstrucció d’un FSR depèn del pes que s’aplica al territori de detecció. Com més pes apliqueu, menor serà l'oposició. El rang d'obstrucció és força gran:> 10 MΩ (sense pes) a ~ 200 Ω (pes màxim). La majoria dels FSR poden detectar energia en un abast de 100 g a 10 kg. Un FSR consta de dues capes i un adhesiu espaiador. Les capes conductores estan aïllades per una escassa obertura d’aire quan no s’aplica cap pes. Una de les pel·lícules conté dues traces que van des de la cua fins a la regió de detecció (la part rodona). Aquestes traces es teixeixen, però no es posen en contacte. L’altra pel·lícula està coberta amb una tinta principal. En prémer el sensor, la tinta redueix les dues traces juntes amb una oposició que depèn del pes.

Sensor de força

A servo Motor és un actuador rotatori o lineal que es pot controlar i moure amb increment exacte. Aquests motors són diferents dels motors de corrent continu. Aquests motors permeten controlar amb precisió el moviment angular o rotatori. Aquest motor està acoblat a un sensor que envia informació sobre el seu moviment.

servo Moto

Pas 3: Principi de treball

El principi de treball d’aquest projecte és molt senzill. S’utilitzarà un sensor de força per detectar si el peu es col·loca a l’espectacle o no. Si detecta el peu, enviarà un senyal a la placa Arduino que mourà un servomotor amb l'ajut d'un blindatge del motor Arduino. Aquest servomotor es mourà de manera que estirarà tots els cordons alhora. Per tant, lliga automàticament tots els cordons de la sabata.

Pas 4: Muntatge dels components

Ara, ja que coneixem la idea principal i el principi de treball que hi ha darrere d’aquest projecte, fem un pas endavant i comencem a muntar-ho tot per fer un espectacle que es redueixi automàticament. Per elaborar un producte final, seguiu els passos següents:

  1. Primer de tot, retalleu una petita placa de metall perquè quedi fixada a la part posterior de l’espectacle. Utilitzeu un sintètic perquè es fixi permanentment i no s’afluixi. Assegureu-vos que deixeu un buit entre la placa metàl·lica i l’espectacle, perquè passarem uns tirants per aquest buit.
  2. Ara agafeu dos servomotors i fixeu-los a la placa metàl·lica amb cola calenta. Ara, per solucionar-los permanentment, utilitzeu tirants al voltant perquè no es moguin aquests servomotors més tard. Quan els servomotors estiguin al ritme, talleu el cable addicional que queda.
  3. Ara munteu una funda de la bateria sota els motors perquè l’interruptor d’alimentació quedi cap a l’exterior.
  4. Ara connecteu la placa Arduino als motors. Abans, connectant el blindatge del motor amb l’Arduino, cal afegir algunes coses al circuit.
  5. Agafeu un LED i soldeu una resistència a la seva cama positiva i soldeu una petita longitud de cable a la cama negativa i a l’altra cama de la resistència. A continuació, connecteu aquest conjunt a l'Arduino i empenyeu-lo a un dels endolls de cordó no utilitzats.
  6. Ara prengui un Sensor de força i col·loqueu-lo a les sabates on descansarà el taló. no es recomana soldar els passadors del sensor de força perquè la calor del soldador pot fondre el plàstic del sensor. Per tant, és millor si el cola o enganxa.
  7. Finalment, utilitzeu un llaç amb cremallera per lligar tots els cordons al servomotor, de manera que quan el motor giri, estiri tots els cordons alhora.

Assegureu-vos que el cable positiu del LED està connectat al pin2 d’Arduino. El Vcc i el pin de terra del sensor de força es connectaran al 5V i la terra de l’Arduino i el pin IN del sensor de força es connectarà al pin A0 de la placa Arduino. Finalment, connecteu els passadors del servomotor a l’escut del motor amb cura perquè no feu una connexió incorrecta.

Pas 5: Introducció a Arduino

Si abans no esteu familiaritzat amb Arduino IDE, no us preocupeu, perquè a continuació podeu veure els passos clars de gravació de codi a la placa del microcontrolador mitjançant Arduino IDE. Podeu descarregar la versió més recent d'Arduino IDE des de aquí i seguiu els passos esmentats a continuació:

  1. Quan la placa Arduino estigui connectada al vostre PC, obriu el 'Tauler de control' i feu clic a 'Maquinari i so'. A continuació, feu clic a 'Dispositius i impressores'. Cerqueu el nom del port al qual està connectada la vostra placa Arduino. En el meu cas, és 'COM14', però pot ser diferent al vostre PC.

    Buscant Port

  2. Haurem d’incloure una biblioteca per utilitzar Servo Motor. La biblioteca s'adjunta a continuació a l'enllaç de descàrrega juntament amb el codi. Anar a Esbós> Inclou biblioteca> Afegeix biblioteca .ZIP.

    Inclou la biblioteca

  3. Ara obriu l'IDE Arduino. A Eines, configureu la placa Arduino a Arduino / Genuí UN.

    Taula de configuració

  4. Al mateix menú d'eines, definiu el número de port que heu vist al tauler de control.

    Configuració del port

  5. Baixeu-vos el codi adjunt a continuació i copieu-lo al vostre IDE. Per carregar el codi, feu clic al botó de càrrega.

    Pujar

Podeu descarregar el codi per fent clic aquí.

Pas 6: Codi

El codi està força ben comentat i s’explica per si mateix. Però, tot i així, el codi s’explica breument a continuació.

1. Al començament, s'inclou una biblioteca especial perquè el servomotor pugui integrar-se amb la placa de microcontroladors i programar-se a través d'ella. Es creen dos objectes per utilitzar-los amb el servomotor. s’inicialitzen alguns pins o Arduino que es connectaran al controlador del motor i també es declaren algunes variables que guardaran alguns valors temporals que s’utilitzaran posteriorment al programa principal.

#include // include library to interface servo motor with miccrocontroller board Servo myservo; // crea servo objec 1 Servo myservo2; // crear un objecte servo 2 int forcePin = 0; // pin analògic 0 connectat al sensor de força int ledPin = 2; // pin digital 2 connectat a LED int switchPin = 19; // estableix el commutador de desbloqueig al pin analògic 5 int valF; // valor del sensor de força int valS; // valor del commutador int thirHold = 500; // defineix el llindar de pressió del sensor de força int servoUnlock = 0; // estableix el servo principal a la posició neutra sense tancar (0 graus) int servoLock = 180; // estableix el servo principal a la posició lligada (180 graus) int servoUnlock2 = 180; // estableix el servo auxiliar a la posició neutra sense tancar (0 graus) int servoLock2 = 0; // estableix el servo auxiliar a la posició lligada (180 graus)

2. configuració nul·la () és una funció que s'executa només una vegada a l'inici quan el microcontrolador s'encén o es prem el botó d'activació. En aquesta funció, els pins de l’Arduino s’inicialitzen per utilitzar-los com INPUT o OUTPUT. Els objectes creats anteriorment per al servomotor s’utilitzen per connectar el servomotor al pin específic de la placa Arduino i el servo es mou a la condició inicial sense deslligar. La velocitat de transmissió també es defineix en aquesta funció. Baud Rate és la velocitat en bits per segon mitjançant la qual el microcontrolador es comunica amb els dispositius externs connectats.

void setup () {Serial.begin // configuració de la velocitat en bauds del pinMode del microcontrolador (ledPin, OUTPUT); // el pin digital 2 surt per a pinMode LED (switchPin, INPUT); // el pin analògic 5 és l'entrada del commutador myservo.attach (9); // adjunta els servos als pins 9 myservo2.attach (10); // adjunta els servos als pins 10 myservo.write (servoUnlock); // moure el servo 1 a posicions desencadenades myservo2.write (servoUnlock2); // moure el servo 2 a posicions sense tancar}

3. bucle buit () és una funció que s'executa repetidament en un bucle. En primer lloc, el sensor de força llegeix un valor analògic. A continuació, espera que el valor del sensor de força passi un valor llindar. Esperarà que el peu s’instal·li completament al seu lloc i posarà els servos en una posició de bloqueig. Si es premen els commutadors, el servo estarà configurat per desbloquejar-se i esperarà fins que el LED parpegi set vegades.

bucle buit () {valF = analogRead (forcePin); // valor de lectura del sensor de força valS = digitalRead (switchPin); // llegeix el valor del commutador si (valF> = ThrowHold) {// espera que el sensor de força sigui igual o superi el llindar de pressió i després: delay (1000); // espera que el peu s’instal·li a la sabata myservo2.write (servoLock2); // estableix el servo auxiliar en el retard de posició bloquejat (1000); // espera un segon myservo.write (servoLock); // estableix el servo principal en el retard de posició bloquejat (1000); // espera un segon digitalWrite (ledPin, HIGH); // encén el LED fins que el servo es desbloqueja. Traieu aquesta línia per estalviar vida de la bateria. } if (valS == HIGH) {// espera que es prem el commutador i, a continuació: myservo2.write (servoUnlock2); // desbloqueja el retard de servidors auxiliars (1000); // espera dos segons myservo.write (servoUnlock); // desbloqueja el retard del servo principal (500); // espereu, després parpellegeu LED 7 vegades digitalWrite (ledPin, LOW); retard (200); digitalWrite (ledPin, HIGH); retard (200); digitalWrite (ledPin, LOW); retard (200); digitalWrite (ledPin, HIGH); retard (200); digitalWrite (ledPin, LOW); retard (200); digitalWrite (ledPin, HIGH); retard (200); digitalWrite (ledPin, LOW); retard (200); digitalWrite (ledPin, HIGH); retard (200); digitalWrite (ledPin, LOW); retard (200); digitalWrite (ledPin, HIGH); retard (200); digitalWrite (ledPin, LOW); retard (200); digitalWrite (ledPin, HIGH); retard (200); digitalWrite (ledPin, LOW); retard (200); digitalWrite (ledPin, HIGH); retard (200); digitalWrite (ledPin, LOW); // apaga el retard del LED (1000); }}

Així doncs, aquest va ser tot el procediment per fer un espectacle que lliga els cordons automàticament per si mateix amb l'ajut d'un servomotor, un microcontrolador i un blindatge del motor. Ara, ja que ja coneixeu tot aquest procediment, gaudiu fent el vostre AutoLacing Show a casa vostra.