Com fer un Smart Stick per a persones cegues que utilitzen Arduino?

Crec fermament en una cita d'Helen Keller que afirma 'L'únic pitjor que estar cec és tenir visió però no tenir visió'. La tecnologia podria ajudar a les persones amb discapacitat a viure una vida normal com ho fan altres éssers humans. Tothom coneix la nena índia anomenada Arunima Sinha que va perdre la cama en un accident de tren i va haver de caminar sobre les cames pròtesis la resta de la seva vida. Després de l'accident, va decidir pujar a l'Everest amb cames protètiques i, per tant, l'última tecnologia li va obrir el camí per aconseguir el seu somni.



Smart Stick

La tecnologia pot neutralitzar la discapacitat humana; amb això en ment, fem servir el poder de Arduino i senzills sensors per construir un pal de Cec això podria ser un salvavides per a persones amb discapacitat visual. S'instal·larà un sensor d'ultrasons en un pal que detectarà la distància d'una persona de qualsevol obstacle, un LDR per detectar les condicions d'il·luminació i un comandament a distància RF que el cec podria utilitzar per localitzar remotament el seu pal. Totes les indicacions es donaran al cec mitjançant un timbre. Podem utilitzar un motor vibrador en lloc de Buzzer i avançar molt més utilitzant la nostra creativitat.



Smart Stick per a persones cegues (Cortesia de la imatge: Circuit Digest)



Com utilitzar Arduino en el disseny del circuit?

Ara, ja que coneixem el resum del projecte, anem a avançar i recollim informació diferent per començar a treballar. Primer farem una llista dels components, després els estudiarem breument i, a continuació, muntarem tots els components per fer un sistema de treball.



Pas 1: components necessaris (maquinari)

  • LDR
  • Zumbador
  • LED
  • Transmissor i receptor de supperhetrodina
  • Resistència
  • Polsador
  • Veroboard
  • Bateria de 9V
  • Multímetre digital
  • Pistola de cola

Pas 2: components utilitzats (programari)

  • Proteus 8 Professional (es pot descarregar des de Aquí )

Després de descarregar el Proteus 8 Professional, dissenyeu-ne el circuit. Hem inclòs simulacions de programari aquí per tal que sigui convenient per als principiants dissenyar el circuit i fer les connexions adequades al maquinari.

Pas 3: estudiar els components

Ara, ja que hem fet una llista de tots els components que farem servir en aquest projecte. Avancem un pas més i passem per un breu estudi de tots els components principals.

  1. Arduino Nano: Arduino nano és una placa de microcontroladors que s’utilitza per controlar o realitzar diferents tasques en un circuit. Cremem un Codi C a Arduino Nano per dir a la placa de microcontroladors com i quines operacions realitzar. Arduino Nano té exactament la mateixa funcionalitat que Arduino Uno, però en una mida força petita. El microcontrolador de la placa Arduino Nano és ATmega328p.

    Arduino Nano



  2. Sensor d'ultrasons HC-SR04: La placa HC-SR04 és un sensor d'ultrasons que s'utilitza per determinar la distància entre dos objectes. Consisteix en un transmissor i un receptor. El transmissor converteix el senyal elèctric en un senyal ultrasònic i el receptor torna a convertir el senyal ultrasònic en el senyal elèctric. Quan el transmissor envia una ona ultrasònica, es reflecteix després de xocar amb un objecte determinat. La distància es calcula utilitzant el temps que triga el senyal ultrasònic en passar del transmissor i tornar al receptor.

    Sensor d'ultrasons

  3. Transmissor i receptor de RF de 433 MHz: Funciona amb una freqüència específica de 433 MHz. Hi ha diversos altres dispositius de radiofreqüència disponibles al mercat i, en comparació amb ells, el rendiment d’un mòdul de RF dependrà de diversos factors, com quan augmentem la potència del transmissor, es recollirà una gran distància de comunicació. Provocarà un elevat consum de corrent elèctric al dispositiu transmissor, cosa que provocarà una vida útil més curta dels dispositius alimentats per bateria. Si fem servir aquest dispositiu a una potència transmesa més alta, el dispositiu crearà interferències amb altres dispositius de RF.

    Emissor i receptor de RF

  4. 7805 Regulador de tensió: Els reguladors de tensió tenen una importància significativa en els circuits elèctrics. Fins i tot si hi ha fluctuacions en la tensió d’entrada, aquest regulador de tensió proporciona una tensió de sortida constant. Podem trobar l’aplicació de l’IC 7805 a la majoria de projectes. El nom 7805 significa dos significats, '78' significa que és un regulador de tensió positiu i '05' significa que proporciona 5V com a sortida. Per tant, el nostre regulador de tensió proporcionarà una tensió de sortida de + 5V. Aquest CI pot gestionar el corrent al voltant de 1,5A. Es recomana un dissipador de calor per a projectes que consumeixen més corrent. Per exemple, si el voltatge d'entrada és de 12V i consumeix 1A, (12-5) * 1 = 7W. Aquests 7 watts es dissiparan com a calor.

    Regulador de voltatge

Pas 4: Muntatge del circuit

Haurem de dissenyar dos circuits per a aquest projecte. El primer circuit es col·locarà en un lloc adequat en un pal de cec i el segon serà un Transmissor de RF i s’utilitzarà per conèixer el circuit principal. Abans de dissenyar el circuit a Proteus, hem d’incloure la biblioteca proteus del receptor de RF al programari. Podeu descarregar la biblioteca des de Aquí i després de descarregar la biblioteca obriu el fitxer Biblioteca carpeta i còpia MODULO_RF.LIB arxiveu-lo i enganxeu-lo a la carpeta Biblioteca de Proteus. En cas que no trobeu la carpeta de la biblioteca, feu clic a (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional LIBRARY). Quan hàgiu fet això, obriu la carpeta MODELS i copieu RX.MDF i enganxeu-la a la carpeta MODELS de proteus. En cas que no trobeu la carpeta models, feu clic a (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional MODELS).

Diagrama de circuits (cortesia de la imatge: Circuit Digest)

El microcontrolador que s’utilitzarà per controlar tots els sensors del circuit és Arduino Nano. La font d'alimentació que s'utilitza per al funcionament del circuit és de bateria de 9V i aquest voltatge de 9V es redueix a 5V mitjançant un 7805 Regulador de voltatge. Es pot veure al circuit que el Sensor d'ultrasons és alimentat per la Vout del regulador de tensió. Els passadors de disparador i de ressò del sensor estan connectats al pin 3 i al pin 2 d'Arduino respectivament. El Resistència dependent de la llum (LDR) està connectat al potenciòmetre de valor 10k i el Analògic a digital el pin de conversió A1 d'Arduino està connectat a aquest punt per observar la diferència de tensió. Hem de conèixer el senyal que emet el receptor de RF, de manera que hem connectat el pin ADC A0 per llegir el senyal del receptor de RF. La sortida de tot el circuit ve donada per zumbador per tant, el pin positiu del brunzidor està connectat al pin 12 d’Arduino i el pin negatiu a la terra del sensor d’ultrasons.

No hem inclòs el transmissor de RF al nostre diagrama de circuits perquè el muntarem per separat al maquinari. Sempre que fem servir un transmissor i un receptor superheterodí de 433 MHz, necessitem un microcontrolador que els interfaci amb això, però en aquest projecte necessitem l’únic transmissor que enviï senyals al receptor, de manera que hem connectat el pin de dades del transmissor amb el Vcc. El pin de dades del receptor es fa passar pel filtre RC i després es connecta al pin de dades A0 de l'Arduino respectivament. Premeu repetidament el polsador col·locat al transmissor i quan es prem el botó el receptor donarà qualsevol valor constant com a sortida.

Transmissor de RF

Pas 5: Muntatge del maquinari

A mesura que hem realitzat la simulació, estem en condicions de fer un prototip. Mentre soldeu els components de la placa Perf, presteu especial atenció als pins d'Arduino Nano. assegureu-vos que els passadors no es toquin; en cas contrari, Arduino es podria danyar. Busqueu un pal a casa i connecteu-hi el circuit format per Arduino i receptor de RF. Podeu utilitzar una pistola de cola calenta per fixar el circuit al pal i és millor posar una mica de cola als terminals positiu i negatiu de manera que els cables de la font d’alimentació no es puguin deslligar si el pal s’acarona fermament a terra.

Circuit muntat al maquinari (cortesia de la imatge: Circuit Digest)

Pas 6: Introducció a Arduino

Si abans no esteu familiaritzat amb Arduino IDE, no us preocupeu, perquè a continuació podeu veure 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 següents:

  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. Feu clic al menú Eina. i fixeu el tauler a Arduino Nano des del menú desplegable.

    Taula de configuració

  3. Al mateix menú d'eines, establiu el port al número de port que heu observat anteriorment al fitxer Dispositius i impressores .

    Configuració del port

  4. Al mateix menú d'eines, configureu el processador a ATmega328P (Bootloader antic).

    Processador

  5. Baixeu-vos el codi adjunt a continuació i enganxeu-lo al vostre IDE Arduino. Feu clic al botó pujar per gravar el codi a la placa del microcontrolador.

    Pujar

Per descarregar el codi, clica aquí.

Pas 7: entendre el codi

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

  1. Al començament del codi, s’inicialitzen tots els pins de la placa Arduino Nano connectats al sensor d’ultrasons i al mòdul RF.
const int trigger = 3; // Pin de disparador del primer sensor const int echo = 2; // Pin de ressò del primer sensor const int Buzz = 13; // Fixa per connectar el brunzidor const int Remot = A0; const int Llum = A1; molt de temps_pres; int dist; int Senyal; int Intens; int recompte_sembla;

2. configuració nul·la () és una funció que s'utilitza per configurar tots els pins utilitzats, com ENTRADA i SORTIDA. La velocitat en bauds es defineix en aquesta funció. Baud Rate és la velocitat de comunicació mitjançant la qual la placa de microcontroladors es comunica amb els sensors integrats.

configuració nul·la () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (activador, OUTPUT); pinMode (eco, INPUT); }

3. Ara, crearem una funció que calcularà la distància.

void calculate_distance (int trigger, int echo) {digitalWrite (trigger, LOW); delayMicroseconds (2); digitalWrite (activador, ALT); delayMicroseconds (10); digitalWrite (activador, BAIX); time_taken = pulseIn (eco, HIGH); dist = time_taken * 0,034 / 2; si (dist> 300) dist = 300; }

4. bucle buit () és una funció que s'executa repetidament en un cicle. En aquesta funció, expliquem a la placa de microcontroladors com i quines operacions s'han de dur a terme. Al bucle principal, llegirem les dades dels sensors. En primer lloc, el pin de disparador està configurat per enviar un senyal que serà detectat pel pin de ressò. S’apliquen algunes condicions per fer sonar el brunzidor contínuament si es detecta un objecte a una distància determinada. El brunzidor emetrà un petit amb un petit trencament si detecta la foscor i emetrà un pit amb un trencament lleugerament superior si detecta la brillantor.

bucle buit () {// bucle infinit calcular_distància (activador, ressò); Senyal = analogRead (remot); Intens = analogRead (Light); // Comproveu si es prem Remot int temp = analogRead (Remot); recompte_similable = 0; while (Senyal == temp) {Senyal = analogRead (Remote); similar_count ++; } // Si es prem premut remot 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--) retard (10); digitalWrite (Buzz, LOW); for (int i = dist; i> 0; i--) retard (10); } //Serial.print('dist= '); //Serial.println(dist); //Serial.print('Similar_count= '); //Serial.println(count_similar); //Serial.print('Intens= '); //Serial.println(Intens); }

Pas 8: proves

Com hem entès el codi, l’hem penjat al microcontrolador i també hem muntat el maquinari, ara toca provar el nostre projecte. Abans de provar, assegureu-vos que les connexions es realitzen correctament i verifiqueu la continuïtat del circuit mitjançant el multímetre digital. Per girar ACTIVAT tots dos circuits utilitzen bateria de 9 V. Col·loqueu un objecte a la superfície on esteu provant i moveu el sensor d'ultrasons al davant i es nota que el so del brunzidor augmenta a mesura que el sensor s'apropa a l'objecte. Hi ha dues possibilitats si el LDR està cobert de foscor o si esteu provant a la llum del sol, el brunzidor començarà a sonar. Si es prem el botó del transmissor de RF, el brunzidor emetrà un so durant molt de temps. Si el timbre continua sonant durant molt de temps, significa que l'alarma s'ha activat falsament. Si us trobeu amb aquest tipus d’error, obriu el monitor sèrie de l’IDE ​​Arduino i comproveu els paràmetres que causen aquest tipus de problemes.

Prova del maquinari (Cortesia de la imatge: Circuit Digest)

Aquesta va ser la forma més senzilla de fabricar un llapis intel·ligent per a persones invidents que utilitzen Arduino. Seguiu tots els passos esmentats anteriorment i després de provar amb èxit el projecte, busqueu una persona amb discapacitat i oferiu-li aquest projecte per facilitar-li la vida.