Como fazer um smart stick para cegos usando o Arduino?

Eu acredito fortemente em uma citação de Helen Keller que afirma “A única coisa pior do que ser cego é ter visão mas não ter visão”. A tecnologia pode ajudar pessoas com deficiência a viverem uma vida normal como outros seres humanos fazem. Todo mundo conhece a garota indiana chamada Arunima Sinha que perdeu a perna em um acidente de trem e teve que andar com as pernas protéticas pelo resto da vida. Após o acidente, ela decidiu escalar o Monte Everest com próteses de pernas e, portanto, a mais recente tecnologia abriu o caminho para ela realizar seu sonho.



Smart Stick

A tecnologia pode de fato neutralizar a deficiência humana; com isso em mente, vamos usar o poder de Arduino e sensores simples para construir uma vara de homem cego isso pode ser um salva-vidas para pessoas com deficiência visual. Um sensor ultrassônico será instalado em um stick que detectará a distância de uma pessoa de qualquer obstáculo, um LDR para detectar as condições de iluminação e um remoto RF que o cego poderá usar para localizar seu stick remotamente. Todas as instruções serão dadas ao cego por meio de uma campainha. Podemos usar um motor vibrador no lugar do Buzzer e avançar muito mais usando nossa criatividade.



Smart Stick para cegos (imagem cortesia: Circuit Digest)



Como usar o Arduino no projeto do circuito?

Já que conhecemos o resumo do projeto, vamos seguir em frente e reunir diversas informações para começar a trabalhar. Vamos primeiro fazer uma lista dos componentes, depois estudá-los brevemente e, em seguida, montar todos os componentes para fazer um sistema funcional.



Etapa 1: componentes necessários (hardware)

  • LDR
  • Campainha
  • CONDUZIU
  • Transmissor e receptor supperhetrodine
  • Resistor
  • Botão de apertar
  • Veroboard
  • Bateria 9V
  • Multímetro digital
  • Pistola de cola

Etapa 2: Componentes usados ​​(software)

  • Proteus 8 Professional (pode ser baixado de Aqui )

Depois de baixar o Proteus 8 Professional, projete o circuito nele. Incluímos simulações de software aqui para que seja conveniente para iniciantes projetar o circuito e fazer as conexões apropriadas no hardware.

Etapa 3: estudar os componentes

Agora, como fizemos uma lista de todos os componentes que vamos usar neste projeto. Vamos dar um passo adiante e fazer um breve estudo de todos os componentes principais.

  1. Arduino Nano: Arduino nano é uma placa microcontrolada usada para controlar ou realizar diferentes tarefas em um circuito. Nós queimamos um Código C no Arduino Nano para informar à placa do microcontrolador como e quais operações executar. O Arduino Nano tem exatamente a mesma funcionalidade do Arduino Uno, mas em um tamanho bem pequeno. O microcontrolador na placa Arduino Nano é ATmega328p.

    Arduino Nano



  2. Sensor Ultrassônico HC-SR04: A placa HC-SR04 é um sensor ultrassônico que é usado para determinar a distância entre dois objetos. Ele consiste em um transmissor e um receptor. O transmissor converte o sinal elétrico em um sinal ultrassônico e o receptor converte o sinal ultrassônico de volta ao sinal elétrico. Quando o transmissor envia uma onda ultrassônica, ela reflete após colidir com um determinado objeto. A distância é calculada usando o tempo que o sinal ultrassônico leva para ir do transmissor e voltar para o receptor.

    Sensor ultrasônico

  3. Transmissor e receptor RF 433mhz: Ele opera em uma frequência específica de 433MHz. Existem vários outros dispositivos de radiofrequência disponíveis no mercado e, em comparação com eles, o desempenho de um módulo de RF dependerá de vários fatores, como quando aumentamos a potência do transmissor, uma grande distância de comunicação será obtida. Isso causará um alto consumo de energia elétrica no dispositivo transmissor, o que reduz a vida útil dos dispositivos alimentados por bateria. Se usarmos este dispositivo com potência transmitida mais alta, o dispositivo criará interferência com outros dispositivos RF.

    Transmissor e receptor RF

  4. 7805 Regulador de tensão: Os reguladores de tensão têm uma importância significativa em circuitos elétricos. Mesmo se houver flutuação na tensão de entrada, este regulador de tensão fornece uma tensão de saída constante. Podemos encontrar a aplicação do 7805 IC na maioria dos projetos. O nome 7805 significa dois significados, “78” significa que é um regulador de tensão positivo e “05” significa que fornece 5 V como saída. Portanto, nosso regulador de tensão fornecerá uma tensão de saída de + 5V. Este IC pode lidar com corrente em torno de 1,5A. Um dissipador de calor é recomendado para projetos que consomem mais corrente. Por exemplo, se a tensão de entrada é 12 V e você está consumindo 1A, então (12-5) * 1 = 7W. Esses 7 Watts serão dissipados como calor.

    Regulador de voltagem

Etapa 4: montagem do circuito

Precisaremos projetar dois circuitos para este projeto. O primeiro circuito será colocado em um local adequado no bastão de um cego e o segundo será um Transmissor RF circuito e será usado para descobrir o circuito principal. Antes de projetar o circuito no Proteus, precisamos incluir a biblioteca proteus do receptor de RF no software. Você pode baixar a biblioteca de Aqui e depois de baixar a biblioteca abra o Biblioteca pasta e cópia MODULO_RF.LIB arquivo e cole-o na pasta Biblioteca do Proteus. Caso você não encontre a pasta da biblioteca, clique em (C: Arquivos de programas (x86) Labcenter Electronics Proteus 8 Professional LIBRARY). Depois de fazer isso, abra a pasta MODELS e copie RX.MDF e cole na pasta proteus MODELS. Caso você não encontre a pasta de modelos, clique em (C: Arquivos de programas (x86) Labcenter Electronics Proteus 8 Professional MODELS).

Diagrama de circuito (imagem cortesia: Circuit Digest)

O microcontrolador que será usado para controlar todos os sensores do circuito é Arduino Nano. A fonte de alimentação usada para o funcionamento do circuito é bateria de 9 V e esta tensão de 9 V é reduzida para 5 V usando um 7805 Regulador de voltagem. Pode-se ver no circuito que o Sensor ultrasônico é alimentado pelo Vout do regulador de tensão. Os pinos de disparo e eco do sensor são conectados ao pino 3 e pino 2 do Arduino, respectivamente. o Resistor dependente de luz (LDR) está conectado ao potenciômetro de valor 10k e o Analógico para Digital O pino de conversão A1 do Arduino é conectado a esse ponto para observar a diferença de tensão. Precisamos saber o sinal que é emitido pelo receptor RF, então conectamos o pino A0 do ADC para ler o sinal do receptor RF. A saída de todo o circuito é dada pelo campainha então, o pino positivo do buzzer é conectado ao pino 12 do Arduino e o pino negativo é conectado ao aterramento do sensor ultrassônico.

Não incluímos o transmissor de RF em nosso diagrama de circuito porque vamos montá-lo no hardware separadamente. Sempre que usarmos um transmissor e receptor super-heteródino de 433 MHz, precisamos de um microcontrolador para fazer a interface, mas neste projeto precisamos do único transmissor para enviar sinais para o receptor, portanto, conectamos o pino de dados do transmissor ao Vcc. O pino de dados do receptor é passado pelo filtro RC e, em seguida, conectado ao pino de dados A0 do Arduino, respectivamente. Vamos pressionar o botão localizado no transmissor repetidamente e quando o botão for pressionado o receptor fornecerá qualquer valor constante como saída.

Transmissor RF

Etapa 5: montagem do hardware

Como executamos a simulação, não estamos em posição de fazer um protótipo. Ao soldar os componentes da placa Perf preste atenção especial aos pinos do Arduino Nano. certifique-se de que os pinos não se toquem, caso contrário, o Arduino pode ser danificado. Encontre um stick em sua casa e conecte o circuito composto de Arduino e receptor RF nele. Você pode usar a pistola de cola quente para prender o circuito no bastão e é melhor colocar um pouco de cola nos terminais positivo e negativo para que os fios da fonte de alimentação não se soltem se o bastão for batido com firmeza no chão.

Circuito montado no hardware (cortesia da imagem: Circuit Digest)

Etapa 6: Introdução ao Arduino

Se você não está familiarizado com o Arduino IDE antes, não se preocupe porque abaixo, você pode ver as 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 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. Clique no menu Ferramentas. e definir a placa para Arduino Nano no menu suspenso.

    Tabuleiro de Configuração

  3. No mesmo menu de ferramentas, defina a porta para o número da porta que você observou antes no Dispositivos e Impressoras .

    Porta de configuração

  4. No mesmo menu de ferramentas, defina o processador para ATmega328P (antigo bootloader).

    Processador

  5. Baixe o código anexado abaixo e cole-o em seu IDE Arduino. Clique no Envio botão para gravar o código na placa do microcontrolador.

    Envio

Para baixar o código, Clique aqui.

Etapa 7: Compreendendo o Código

O código é bem comentado e autoexplicativo. Mas ainda assim, é explicado a seguir:

  1. No início do código, todos os pinos da placa Arduino Nano que estão conectados ao sensor ultrassônico e ao módulo de RF são inicializados.
const int trigger = 3; // Trigger pin do 1º Sensor const int echo = 2; // Pino de eco do 1º sensor const int Buzz = 13; // Pino para conectar a campainha const int Remote = A0; const int Light = A1; long time_taken; int dist; int Signal; int Intens; int similar_count;

2 void setup () é uma função que é usada para definir todos os pinos usados, como ENTRADA e RESULTADO. A taxa de transmissão é definida nesta função. A taxa de transmissão é a velocidade de comunicação pela qual a placa do microcontrolador se comunica com os sensores integrados a ela.

void setup () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (trigger, OUTPUT); pinMode (eco, INPUT); }

3. Agora, criaremos uma função que calculará a distância.

void calcule_distance (int trigger, int echo) {digitalWrite (trigger, LOW); atrasoMicrosegundos (2); digitalWrite (gatilho, HIGH); atrasoMicrosegundos (10); digitalWrite (disparador, LOW); time_taken = pulseIn (eco, HIGH); dist = time_taken * 0,034 / 2; se (dist> 300) dist = 300; }

Quatro. void loop () é uma função que é executada repetidamente em um ciclo. Nesta função, informamos à placa do microcontrolador como e quais operações realizar. No loop principal, vamos ler os dados dos sensores. Aqui, primeiro, o pino de disparo é definido para enviar um sinal que será detectado pelo pino de eco. Algumas condições são aplicadas para soar a campainha continuamente se um objeto for detectado a uma distância específica. A campainha emitirá um bipe com uma pequena pausa se detectar escuro e um bip com uma pausa um pouco maior se detectar o brilho.

void loop () {// loop infinito calcule_distância (gatilho, echo); Sinal = analogRead (remoto); Intens = analogRead (claro); // Verifique se Remoto está pressionado int temp = analogRead (Remoto); similar_count = 0; enquanto (Sinal == temp) {Sinal = analogRead (Remoto); similar_count ++; } // Se remoto pressionado if (similar_count<100) { Serial.print(similar_count); Serial.println('Remote Pressed'); digitalWrite(Buzz,HIGH);delay(3000);digitalWrite(Buzz,LOW); } //If very dark if (Intens800) { Serial.print(Intens); Serial.println('Low Light'); digitalWrite(Buzz,HIGH);delay(500);digitalWrite(Buzz,LOW);delay(500);digitalWrite(Buzz,HIGH);delay(500); digitalWrite(Buzz,LOW);delay(500); } if (dist<50) { Serial.print(dist); Serial.println('Object Alert'); digitalWrite(Buzz,HIGH); for (int i=dist; i>0; i--) atraso (10); digitalWrite (Buzz, LOW); para (int i = dist; i> 0; i--) atraso (10); } //Serial.print('dist= '); //Serial.println(dist); //Serial.print('Similar_count= '); //Serial.println(similar_count); //Serial.print('Intens= '); //Serial.println(Intens); }

Etapa 8: Teste

Como entendemos o código, carregamos no microcontrolador e montamos o hardware também, agora é hora de testar nosso projeto. Antes de testar, certifique-se de que as conexões foram feitas corretamente e verifique a continuidade do circuito usando o multímetro digital. Para virar EM ambos os circuitos usam bateria de 9V. Coloque um objeto na superfície em que você está testando e mova o sensor ultrassônico na frente dele e percebe-se que o som da campainha aumenta à medida que o sensor se aproxima do objeto. Existem duas possibilidades se o LDR estiver coberto de escuridão ou se você estiver testando sob a luz do sol, a campainha começará a soar. Se o botão for pressionado no transmissor RF, a campainha emitirá um bipe por um longo tempo. Se a campainha continuar soando por um longo tempo, significa que o alarme foi disparado erroneamente. Se você está enfrentando esse tipo de erro, abra o monitor serial do IDE do Arduino e verifique os parâmetros que estão causando esse tipo de problema.

Testando o hardware (imagem cortesia: Circuit Digest)

Essa foi a maneira mais simples de fazer um smart stick para cegos usando o Arduino. Siga todos os passos mencionados acima e depois de testar o projeto com sucesso procure uma pessoa com deficiência e ofereça-lhe este projeto para facilitar sua vida.