Como fazer um sapato com AutoLacing usando o Arduino?

Na era moderna, cientistas e engenheiros estão tentando tornar tudo automatizado. Isso significa que tudo funcionará por conta própria, sem nenhum esforço humano. Foi identificado um problema muito comum na sociedade que algumas pessoas têm dificuldade em amarrar os cadarços sozinhas. Essas pessoas incluem deficientes, pessoas com dores nas costas, crianças e cegos até certo ponto. Então, uma solução deve ser feita para que essas pessoas não vejam isso como um problema.



Foto tirada de instructables

Neste projeto, vamos fazer um show Automatic Lacing que irá amarrar seus cadarços automaticamente sem nenhum esforço humano. Isso será feito com o auxílio de uma placa microcontrolada, um sensor de blindagem do motor e um servo motor, assim que se colocar o pé dentro do calçado.



Como fazer o AutoLace do seu show usando o Arduino?

Agora, como sabemos o resumo do projeto, vamos começar a coletar mais informações e passar pelo procedimento de como fazer este calçado AutoLace usando o Arduino.



Etapa 1: Coletando os componentes

A melhor abordagem para iniciar qualquer projeto é fazer uma lista de componentes e passar por um breve estudo desses componentes, porque ninguém vai querer ficar no meio de um projeto apenas por causa de um componente ausente. Uma lista de componentes que vamos usar neste projeto é fornecida abaixo:



  • Arduino uno
  • Escudo do motor
  • Servo motor
  • Força
  • CONDUZIU
  • Resistor de 1k-ohm
  • Sapato
  • Barra de metal
  • Gravatas de plástico
  • 1/8
  • Jumper Wires
  • Bateria

Etapa 2: estudar os componentes

Agora que conhecemos o resumo do nosso projeto e também temos uma lista completa de todos os componentes, vamos dar um passo à frente e fazer um breve estudo dos componentes que vamos usar.

Seeeduino v4.2 é uma das melhores placas compatíveis com Arduino do mundo que é baseada no microcontrolador Atmega 328 MCU. porque é fácil de usar, mais estável e tem uma aparência melhor do que muitas outras placas. É baseado no gerenciador de inicialização Arduino. tem um ATMEGA16U2 como conversor UART-USB, pois pode ser usado como um chip FTDI. ele é conectado ao computador por meio de um cabo micro USB, geralmente chamado de cabo Android. Um conector DC também pode ser usado para alimentar a placa. a alimentação de entrada deve ser de 7V a 15V.

Seeeduino Board



Arduino Motor Shield permite controlar sem esforço a direção e velocidade do motor utilizando um Arduino. Ao permitir que você apenas endereça os pinos do Arduino, torna-se mais fácil conduzir qualquer motor em seu empreendimento. Além disso, permite que você tenha a opção de controlar um motor com uma fonte de alimentação diferente de até 12v. O melhor de tudo é que o escudo é muito fácil de encontrar. Por todas essas razões, o Arduino Motor Shield é um pouco legal para ter em seu arsenal para prototipagem rápida e experimentação geral.

Escudo do motor

Resistores do sensor de força (FSRs) são sensores de pressão muito simples e fáceis de usar. A obstrução de um FSR depende do peso que é aplicado ao território de detecção. Quanto mais peso você aplicar, menor será a oposição. A faixa de obstrução é bastante grande:> 10 MΩ (sem peso) a ~ 200 Ω (peso máximo). A maioria dos FSRs pode detectar potência na faixa de 100 ga 10 kg. Um FSR é composto por duas camadas e um adesivo espaçador. As camadas condutoras são isoladas por um pequeno espaço de ar quando nenhum peso é aplicado. Um dos filmes contém dois traços que vão da cauda até a região de detecção (a parte redonda). Esses traços são tecidos juntos, porém não entram em contato. O outro filme é coberto com uma tinta principal. Quando você empurra o sensor, a tinta curto os dois traços juntos com uma oposição que depende do peso.

Sensor de força

PARA Servo motor é um atuador rotativo ou linear que pode ser controlado e movido em incrementos exatos. Esses motores são diferentes dos motores DC. Esses motores permitem o controle preciso do movimento angular ou rotatório. Este motor é acoplado a um sensor que envia feedback sobre seu movimento.

Servo Moto

Etapa 3: Princípio de funcionamento

O princípio de funcionamento deste projeto é muito simples. Um sensor de força será usado para detectar se o pé está colocado no show ou não. Se detectar o pé, ele enviará um sinal para a placa Arduino que moverá um servo motor com a ajuda de um Arduino Motor Shield. Este servo motor se moverá de tal forma que puxará todos os laços de uma vez. Daí amarrar automaticamente todos os cadarços do sapato.

Etapa 4: montagem dos componentes

Agora que conhecemos a ideia principal e o princípio de funcionamento por trás deste projeto, vamos dar um passo à frente e começar a montar tudo para fazer um show que se perderá automaticamente. Para fazer um produto final, siga as etapas abaixo:

  1. Em primeiro lugar, apare uma pequena placa de metal para que fique fixada na parte de trás do show. Use um sintético para que ele se fixe permanentemente e não se solte. Certifique-se de deixar um espaço entre a placa de metal e o show porque vamos passar algumas braçadeiras para esse espaço.
  2. Agora pegue dois servo motores e fixe-os na placa de metal com cola quente. Agora, para torná-los fixos permanentemente, use laços de zíper ao redor deles para que esses servo motores não se movam depois. Depois que os servo motores estiverem funcionando, corte o cabo extra que sobrou.
  3. Agora monte um estojo de bateria sob os motores de forma que o interruptor de alimentação fique para fora.
  4. Agora conecte a placa Arduino aos motores. Antes de conectar a blindagem do motor com o Arduino, algumas coisas precisam ser adicionadas ao circuito.
  5. Pegue um LED e solde um resistor em sua perna positiva e solde um pequeno pedaço de fio na perna negativa e a outra perna do resistor. Em seguida, conecte esse conjunto ao Arduino e empurre-o para um dos soquetes de cadarço não utilizados.
  6. Agora pegue um Sensor de força e coloque-o nos sapatos, onde o calcanhar vai descansar. não é recomendado soldar os pinos do sensor de força porque o calor do ferro de solda pode derreter o plástico do sensor. Portanto, é melhor se você colar ou colocar fita adesiva.
  7. Por fim, use um zíper para amarrar todos os laços ao servo motor, de modo que quando o motor girar, ele puxe todos os laços de uma vez.

Certifique-se de que o fio positivo do LED esteja conectado ao pino 2 do Arduino. O Vcc e o pino de aterramento do Sensor de Força serão conectados aos 5V e o aterramento do Arduino e o pino IN do sensor de força será conectado ao pino A0 da placa Arduino. Por fim, conecte os pinos do servo motor à blindagem do motor com cuidado para não fazer uma conexão errada.

Etapa 5: Introdução ao Arduino

Se você não está familiarizado com o Arduino IDE antes, não se preocupe porque abaixo, você pode ver etapas claras de gravação de código na placa do microcontrolador usando o Arduino IDE. Você pode baixar a versão mais recente do Arduino IDE em aqui e siga as etapas mencionadas abaixo:

  1. Quando a placa Arduino estiver conectada ao seu PC, abra o “Painel de Controle” e clique em “Hardware e Sons”. Em seguida, clique em “Dispositivos e Impressoras”. Encontre o nome da porta à qual sua placa Arduino está conectada. No meu caso é “COM14” mas pode ser diferente no seu PC.

    Encontrar o porto

  2. Teremos que incluir uma biblioteca para usar o Servo Motor. A biblioteca está anexada abaixo no link de download junto com o código. Vamos para Esboço> Incluir biblioteca> Adicionar biblioteca .ZIP.

    Incluir Biblioteca

  3. Agora abra o IDE do Arduino. Em Ferramentas, defina a placa Arduino para Arduino / Genuino UNO.

    Tabuleiro de Configuração

  4. No mesmo menu de ferramentas, defina o número da porta que você viu no painel de controle.

    Porta de configuração

  5. Baixe o código anexado abaixo e copie-o para o seu IDE. Para fazer upload do código, clique no botão upload.

    Envio

Você pode baixar o código por clicando aqui.

Etapa 6: Código

O código é muito bem comentado e autoexplicativo. Mesmo assim, o código é explicado resumidamente a seguir.

1. No início, uma biblioteca especial é incluída para que o servo motor possa ser integrado com a placa do microcontrolador e programado através dela. Dois objetos são criados para serem usados ​​com o servo motor. São inicializados alguns pinos ou Arduino que serão conectados ao driver do motor e algumas variáveis ​​também são declaradas que irão salvar alguns valores temporários que serão usados ​​posteriormente no programa principal.

#include // inclui biblioteca para fazer a interface do servo motor com a placa do microcontrolador Servo myservo; // cria servo objec 1 Servo myservo2; // cria o objeto servo 2 int forcePin = 0; // pino analógico 0 conectado ao sensor de força int ledPin = 2; // pino digital 2 conectado ao LED int switchPin = 19; // define a chave de desbloqueio para o pino analógico 5 int valF; // valor do sensor de força int valS; // valor do switch int thresHold = 500; // define o limite de pressão do sensor de força int servoUnlock = 0; // configura o servo principal para a posição neutra não alinhada (0 graus) int servoLock = 180; // define o servo principal para a posição atada (180 graus) int servoUnlock2 = 180; // define o servo auxiliar para a posição neutra não alinhada (0 graus) int servoLock2 = 0; // define o servo auxiliar para a posição atada (180 graus)

2 configuração vazia () é uma função que é executada apenas uma vez na inicialização, quando o microcontrolador é ligado ou o botão de habilitação é pressionado. Nesta função, os pinos do Arduino são inicializados para serem usados ​​como INPUT ou OUTPUT. Objetos que foram criados para servo motor antes estão sendo usados ​​para anexar o servo motor ao pino específico da placa Arduino e o servo está sendo movido para a condição inicial sem fivela. A taxa de transmissão também é definida nesta função. A taxa de transmissão é a velocidade em bits por segundo pela qual o microcontrolador se comunica com os dispositivos externos conectados.

void setup () {Serial.begin // configurando a taxa de transmissão do microcontrolador pinMode (ledPin, OUTPUT); // pino digital 2 é emitido para LED pinMode (switchPin, INPUT); // pino analógico 5 é inserido para switch myservo.attach (9); // anexa os servos aos pinos 9 myservo2.attach (10); // anexa os servos aos pinos 10 myservo.write (servoUnlock); // move o servo 1 para as posições não alinhadas myservo2.write (servoUnlock2); // move o servo 2 para as posições não alinhadas}

3 - void loop () é uma função que é executada repetidamente em um loop. Primeiro, um valor analógico está sendo lido pelo sensor de força. Em seguida, ele espera que o valor do sensor de força ultrapasse um valor limite. Ele esperará que o pé se acomode completamente em seu lugar e ajustará ambos os servos para uma posição travada. Se os interruptores forem pressionados, o servo será definido para desbloquear e aguardará até que o LED pisque sete vezes.

loop vazio () {valF = analogRead (forcePin); // lê o valor do sensor de força valS = digitalRead (switchPin); // lê o valor da chave if (valF> = thresHold) {// espera que o sensor de força se iguale ou passe o limite de pressão e então: delay (1000); // espera que o pé se acomode no sapato myservo2.write (servoLock2); // define servo auxiliar para posição travada delay (1000); // espera um segundo myservo.write (servoLock); // define o servo principal para a posição travada delay (1000); // espera um segundo digitalWrite (ledPin, HIGH); // liga o LED até o servo destravado. Remova esta linha para economizar bateria. } if (valS == HIGH) {// espera que o interruptor seja pressionado e então: myservo2.write (servoUnlock2); // desbloqueia o atraso do servo auxiliar (1000); // espera dois segundos myservo.write (servoUnlock); // desbloqueia o atraso do servo principal (500); // aguarde e pisque o LED 7 vezes digitalWrite (ledPin, LOW); atraso (200); digitalWrite (ledPin, HIGH); atraso (200); digitalWrite (ledPin, LOW); atraso (200); digitalWrite (ledPin, HIGH); atraso (200); digitalWrite (ledPin, LOW); atraso (200); digitalWrite (ledPin, HIGH); atraso (200); digitalWrite (ledPin, LOW); atraso (200); digitalWrite (ledPin, HIGH); atraso (200); digitalWrite (ledPin, LOW); atraso (200); digitalWrite (ledPin, HIGH); atraso (200); digitalWrite (ledPin, LOW); atraso (200); digitalWrite (ledPin, HIGH); atraso (200); digitalWrite (ledPin, LOW); atraso (200); digitalWrite (ledPin, HIGH); atraso (200); digitalWrite (ledPin, LOW); // desliga o LED delay (1000); }}

Então esse foi todo o procedimento para fazer um show que automaticamente amarra seus cadarços por si só com a ajuda de um servo motor, microcontrolador e uma blindagem do motor. Agora que você já conhece todo esse procedimento, aproveite para fazer seu AutoLacing Show em sua casa.