- Materiais requisitados:
- Diagrama de Circuito Blind Stick:
- Programa Arduino para Smart Blind Stick:
- Arduino Blind Stick em ação:
Já ouviu falar de Hugh Herr? Ele é um famoso alpinista americano que quebrou as limitações de suas deficiências; ele acredita firmemente que a tecnologia pode ajudar pessoas com deficiência a viver uma vida normal. Em uma de suas palestras no TED, Herr disse “ Os humanos não são deficientes. Uma pessoa nunca pode ser quebrada. Nosso ambiente construído, nossas tecnologias, estão danificadas e desativadas. Nós, o povo, não precisamos aceitar nossas limitações, mas podemos transferir a deficiência por meio da inovação tecnológica ”. Estas não foram apenas palavras, mas ele viveu sua vida com elas, hoje ele usa pernas protéticas e afirma viver uma vida normal. Portanto, sim, a tecnologia pode de fato neutralizar a deficiência humana; com isso em mente, vamos usar algumas placas de desenvolvimento simples e sensores para construir uma bengala cega ultrassônica usando o Arduino que poderia realizar mais do que apenas uma vara para pessoas com deficiência visual.
Este stick inteligente terá um sensor ultrassônico para detectar a distância de qualquer obstáculo, LDR para detectar as condições de iluminação e um remoto RF com o qual o cego poderá localizar seu stick remotamente. Todos os feedbacks serão dados ao cego por meio de uma campainha. Claro que você pode usar um motor vibrador no lugar do Buzzer e avançar muito mais usando sua criatividade.
Materiais requisitados:
- Arduino Nano (qualquer versão funcionará)
- Sensor Ultrassônico HC-SR04
- LDR
- Buzzer e LED
- 7805
- Transmissor e receptor RF 433 MHz
- Resistores
- Capacitores
- Botão de apertar
- Quadro de desempenho
- Kit de Solda
- Baterias 9V
Você pode comprar todos os componentes necessários para este projeto smart blind stick aqui.
Diagrama de Circuito Blind Stick:
Este projeto do Arduino Smart Blind Stick requer dois circuitos separados. Um é o circuito principal que será montado no bastão do cego. O outro é um pequeno circuito transmissor de RF remoto que será usado para localizar o circuito principal. O diagrama de circuito da placa principal para construir um bastão cego usando sensor ultrassônico é mostrado abaixo:
Como podemos ver, um Arduino Nano é usado para controlar todos os sensores, mas você também pode construir este stick cego inteligente usando o arduino uno, mas seguindo as mesmas pinagens e programa. A placa completa é alimentada por uma bateria de 9V que é regulada para + 5V usando um regulador de tensão 7805. O sensor ultrassônico é alimentado por 5 V e o gatilho e o pino Echo são conectados aos pinos 3 e 2 do Arduino nano, conforme mostrado acima. O LDR é conectado com um resistor de valor 10K para formar um divisor de potencial e a diferença na tensão é lida pelo pino A1 do Arduino ADC. O pino ADC A0 é usado para ler o sinal do receptor RF. A saída da placa é dada pelo Buzzer que está conectado ao pino 12.
O circuito remoto RF é mostrado abaixo. Seu funcionamento também é explicado posteriormente.
Eu usei um pequeno hack para fazer este circuito de controle remoto RF funcionar. Normalmente, ao usar este módulo de RF de 433 MHz, é necessário um codificador e um decodificador ou dois MCU para funcionar, como em nosso circuito transmissor e receptor de RF anterior, usamos o HT12D e o HT12E, decodificador e codificador IC, respectivamente. Mas, em nosso aplicativo, precisamos apenas que o receptor detecte se o transmissor está enviando alguns sinais. Portanto, o pino de dados do transmissor é conectado ao aterramento ou Vcc da fonte.
O pino de dados do receptor é passado por um filtro RC e, em seguida, fornecido ao Arduino, conforme mostrado abaixo. Agora, sempre que o botão é pressionado, o receptor emite algum valor ADC constante repetidamente. Esta repetição não pode ser observada quando o botão não está pressionado. Então, escrevemos o programa Arduino para verificar os valores repetidos para detectar se o botão foi pressionado. Então é assim que uma pessoa cega pode rastrear sua vara. Você pode verificar aqui: como o transmissor e receptor RF funcionam.
Eu usei uma placa de perfuração para soldar todas as conexões de modo que fiquem intactas com o stick. Mas, você também pode torná-los em uma placa de ensaio. Estas são as placas que fiz para este projeto blind stick usando o arduino.
Programa Arduino para Smart Blind Stick:
Assim que estivermos prontos com nosso hardware, podemos conectar o Arduino ao nosso computador e iniciar a programação. O código completo usado para esta página pode ser encontrado na parte inferior desta página, você pode carregá-lo diretamente para sua placa Arduino. No entanto, se você está curioso para saber como o código funciona, leia mais.
Como todos os programas, começamos com void setup () para inicializar os pinos de entrada e saída. Em nosso programa, o pino Buzzer e Trigger é um dispositivo de saída e o pino de eco é um dispositivo de entrada. Também inicializamos o monitor serial para depuração.
void setup () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (trigger, OUTPUT); pinMode (eco, INPUT); }
Dentro do loop principal , estamos lendo todos os dados dos sensores. Começamos com a leitura dos dados do sensor do sensor ultrassônico para distância, LDR para intensidade de luz e sinal de RF para verificar se o botão está pressionado. Todos esses dados são salvos em uma variável conforme mostrado abaixo para uso futuro.
calcular distância_ (gatilho, eco); Sinal = analogRead (remoto); Intens = analogRead (claro);
Começamos com a verificação do sinal remoto. Usamos uma variável chamada similar_count para verificar quantas vezes os mesmos valores estão sendo repetidos do receptor RF. Essa repetição ocorrerá apenas quando o botão for pressionado. Assim, disparamos o alarme remoto pressionado se a contagem exceder um valor de 100.
// Verifique se Remoto está pressionado int temp = analogRead (Remoto); similar_count = 0; enquanto (sinal == temp) {sinal = analogRead (remoto); similar_count ++; } // Se pressionado remotamente if (semelhante_contagem <100) {Serial.print (semelhante_contagem); Serial.println ("Remoto Pressed"); digitalWrite (Buzz, HIGH); atraso (3000); digitalWrite (Buzz, LOW); }
Você também pode verificar no Serial Monitor do seu computador:
Em seguida, verificamos a intensidade da luz ao redor do cego. Se o LDR der um valor menor que 200 assume-se que está muito escuro e damos a ele o aviso por buzzer com um tom específico de atraso com 200ms. Se a intensidade for muito brilhante, for superior a 800, então também damos um aviso com outro tom. O tom e a intensidade do alarme podem ser facilmente variados, alterando o respectivo valor no código abaixo.
// Se muito escuro if (Intens <200) {Serial.print (Intens); Serial.println ("Bright Light"); digitalWrite (Buzz, HIGH); atraso (200); digitalWrite (Buzz, LOW); atraso (200); digitalWrite (Buzz, HIGH); atraso (200); digitalWrite (Buzz, LOW); atraso (200); atraso (500); } // Se muito claro if (Intens> 800) {Serial.print (Intens); Serial.println ("Pouca luz"); digitalWrite (Buzz, HIGH); atraso (500); digitalWrite (Buzz, LOW); atraso (500); digitalWrite (Buzz, HIGH); atraso (500); digitalWrite (Buzz, LOW); atraso (500); }
Por fim, começamos a medir a distância de qualquer obstáculo. Não haverá alarme se a distância medida for superior a 50cm. Porém, se for menor que 50cm, o alarme começará a soar a campainha. Conforme o objeto se aproxima da campainha, o intervalo do sinal sonoro também diminui. Quanto mais próximo o objeto estiver, mais rápido será o sinal sonoro. Isso pode ser feito criando um atraso proporcional à distância medida. Uma vez que o delay () no Arduino não pode aceitar variáveis, temos que usar um loop for cujo loop é baseado na distância medida, conforme mostrado abaixo.
if (dist <50) {Serial.print (dist); Serial.println ("Alerta de objeto"); digitalWrite (Buzz, HIGH); para (int i = dist; i> 0; i--) atraso (10); digitalWrite (Buzz, LOW); para (int i = dist; i> 0; i--) atraso (10); }
Saiba mais sobre como medir a distância usando sensor ultrassônico e Arduino.
O programa pode ser facilmente adaptado para sua aplicação, alterando o valor que usamos para comparar. Use o monitor serial para depurar se um alarme falso for acionado. Se você tiver algum problema, pode usar a seção de comentários abaixo para postar suas perguntas
Arduino Blind Stick em ação:
Finalmente é hora de testar nosso projeto arduino blind stick. Certifique-se de que as conexões sejam feitas de acordo com o diagrama de circuito e que o programa tenha sido carregado com sucesso. Agora, ligue ambos os circuitos usando uma bateria de 9 V e você deve começar a ver os resultados. Mova o sensor Ultra Sonic para mais perto do objeto e você notará o sinal sonoro e a frequência do sinal sonoro aumenta à medida que o stick se aproxima do objeto. Se o LDR estiver escuro ou se houver muita luz, a campainha emitirá um bipe. Se tudo estiver normal, a campainha não soará.
Quando você pressiona o botão no controle remoto, a campainha emite um longo bipe. O funcionamento completo deste Smart Stick para cegos usando o Arduino é mostrado no Vídeo fornecido no final desta página. Eu também uso um pequeno bastão para montar o conjunto completo, você pode usar um maior ou um bastão cego real e colocá-lo em ação.
Se a sua campainha está sempre soando, isso significa que o alarme está sendo acionado de forma falsa. Você pode abrir o monitor serial para verificar os parâmetros e verificar qual está caindo em crítico e ajustar isso. Como sempre, você pode postar seu problema na seção de comentários para obter ajuda. Espero que você tenha entendido o projeto e gostado de construir algo.