- Materials necessaris:
- Diagrama del circuit de pal cec:
- Programa Arduino per a Smart Blind Stick:
- Arduino Blind Stick en acció:
Heu sentit a parlar d’Hugh Herr? És un famós escalador nord-americà que ha trencat les limitacions de les seves discapacitats; creu fermament que la tecnologia pot ajudar les persones amb discapacitat a viure una vida normal. En una de les seves xerrades sobre TED, Herr va dir: “ Els humans no som discapacitats. Mai es pot trencar una persona. El nostre entorn construït, les nostres tecnologies, estan trencats i desactivats. Les persones no necessitem acceptar les nostres limitacions, però podem transferir la discapacitat mitjançant la innovació tecnològica ”. No eren només paraules, sinó que va viure la seva vida per a ells, avui en dia fa servir cames protèsiques i afirma viure la vida normal. Així que sí, la tecnologia pot neutralitzar la discapacitat humana; amb això en ment, fem servir algunes senzilles plaques de desenvolupament i sensors per construir un bastó persian ultrasònic amb Arduino que podria funcionar més que un simple pal per a persones amb discapacitat visual.
Aquest Smart Stick tindrà un sensor d’ultrasons per detectar la distància de qualsevol obstacle, un LDR per detectar les condicions d’il·luminació i un comandament a distància RF que el cec podria localitzar remotament el seu stick. Tots els comentaris es donaran al cec a través d’un timbre. Per descomptat, podeu utilitzar un motor vibrador en lloc de Buzzer i avançar molt més utilitzant la vostra creativitat.

Materials necessaris:
- Arduino Nano (qualsevol versió funcionarà)
- Sensor d'ultrasons HC-SR04
- LDR
- Zumbador i LED
- 7805
- Transmissor i receptor de RF de 433 MHz
- Resistències
- Condensadors
- Polsador
- Tauler de perf
- Kit de soldadura
- Bateries de 9V
Podeu comprar tots els components necessaris per a aquest projecte de blind blind intel·ligent des d’aquí.
Diagrama del circuit de pal cec:
Aquest projecte Arduino Smart Blind Stick requereix dos circuits separats. Un és el circuit principal que es muntarà al pal del cec. L’altre és un petit circuit transmissor de RF remot que s’utilitzarà per localitzar el circuit principal. A continuació es mostra el diagrama de circuits de la placa principal per construir un pal cec mitjançant un sensor d’ultrasons:

Com podem veure, un Arduino Nano s’utilitza per controlar tots els sensors, però també podeu construir aquest cegues intel·ligent amb arduino uno seguint els mateixos pinouts i el mateix programa. La placa completa s’alimenta d’una bateria de 9V que es regula a + 5V mitjançant un regulador de voltatge 7805. El sensor ultrasònic funciona amb 5V i el gatell i el pin Echo estan connectats als pins Pin 3 i 2 d'Arduino, tal com es mostra més amunt. El LDR està connectat amb una resistència de valor 10K per formar un divisor de potencial i la diferència de tensió la llegeix el pin A1 Arduino ADC. El pin ADC A0 s’utilitza per llegir el senyal del receptor de RF. La sortida de la placa ve donada pel buzzer que està connectat al pin 12.
A continuació es mostra el circuit remot de RF. El seu funcionament també s'explica més.

He utilitzat un petit hack per fer funcionar aquest circuit de control remot de RF. Normalment, mentre s’utilitza aquest mòdul de 433 MHz, es necessita un codificador i un descodificador o dos MCU per funcionar, com en el nostre anterior circuit de transmissors i receptors de RF, hem utilitzat els circuits HT12D i HT12E, el codificador i el codificador IC respectivament. Però, a la nostra aplicació només necessitem que el receptor detecti si el transmissor envia alguns senyals. Per tant, el pin de dades del transmissor està connectat a terra o Vcc del subministrament.
El pin de dades del receptor es fa passar per un filtre RC i després es lliura a l'Arduino com es mostra a continuació. Ara, sempre que es prem el botó, el receptor emet repetidament algun valor ADC constant. Aquesta repetició no es pot observar quan no es prem el botó. Per tant, escrivim el programa Arduino per comprovar si hi ha valors repetits per detectar si es prem el botó. Així és com una persona cega pot rastrejar el seu pal. Podeu consultar aquí: com funcionen el transmissor i el receptor de RF.
He utilitzat una placa perf per soldar totes les connexions de manera que quedi intacta amb el pal. Però també podeu fer-les en una taula de tall. Aquests són els taulers que he fet per a aquest projecte de blind stick amb arduino.


Programa Arduino per a Smart Blind Stick:
Un cop estem preparats amb el nostre maquinari, podem connectar l'Arduino al nostre ordinador i començar a programar. El codi complet utilitzat per a aquesta pàgina es troba a la part inferior d’aquesta pàgina; podeu penjar-lo directament a la vostra placa Arduino. Tanmateix, si teniu curiositat per saber com funciona el codi, llegiu més.
Com tots els programes, comencem amb void setup () per inicialitzar els pins de sortida d'entrada. Al nostre programa, el pin Buzzer and Trigger és un dispositiu de sortida i el pin Echo és un dispositiu d’entrada. També inicialitzem el monitor sèrie per a la depuració.
configuració nul·la () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (activador, OUTPUT); pinMode (eco, INPUT); }
Dins del bucle principal estem llegint totes les dades dels sensors. Comencem llegint les dades del sensor del sensor ultrasònic per a la distància, LDR per a la intensitat de la llum i el senyal de RF per comprovar si es prem el botó. Totes aquestes dades es guarden en una variable tal com es mostra a continuació per al seu ús futur.
calcular_distància (activador, ressò); Senyal = analogRead (remot); Intens = analogRead (Light);
Comencem comprovant el senyal remot. Utilitzem una variable anomenada similar_count per comprovar quantes vegades es repeteixen els mateixos valors des del receptor de RF. Aquesta repetició només es produirà quan es prem el botó. Per tant, activem l’alarma premuda remota si el recompte supera el valor de 100.
// Comproveu si es prem Remot int temp = analogRead (Remot); recompte_similable = 0; while (Senyal == temp) {Senyal = analogRead (Remote); similar_count ++; } // Si es prem remotament if (similar_count <100) {Serial.print (similar_count); Serial.println ("Pressió remota"); digitalWrite (Buzz, HIGH); delay (3000); digitalWrite (Buzz, LOW); }
També podeu consultar-lo a Serial Monitor al vostre ordinador:

A continuació, comprovem la intensitat de la llum al voltant del cec. Si l'LDR dóna un valor inferior a 200, se suposa que és molt fosc i li donem l'avís a través d'un brunzidor amb un to de retard específic amb 200 ms. Si la intensitat és molt brillant, és a dir, més de 800, donem també un avís amb un altre to. El to i la intensitat de l'alarma es poden variar fàcilment canviant el valor respectiu al codi següent.
// Si és molt fosc si (Intens <200) {Serial.print (Intens); Serial.println ("Llum brillant"); digitalWrite (Buzz, HIGH); delay (200); digitalWrite (Buzz, LOW); delay (200); digitalWrite (Buzz, HIGH); delay (200); digitalWrite (Buzz, LOW); delay (200); retard (500); } // Si és molt brillant si (Intens> 800) {Serial.print (Intens); Serial.println ("poca llum"); digitalWrite (Buzz, HIGH); delay (500); digitalWrite (Buzz, LOW); delay (500); digitalWrite (Buzz, HIGH); delay (500); digitalWrite (Buzz, LOW); delay (500); }

Finalment, comencem a mesurar la distància de qualsevol obstacle. No hi haurà cap alarma si la distància mesurada és superior a 50 cm. Però, si fa menys de 50 cm, l'alarma començarà fent sonar el timbre. A mesura que l’objecte s’acosti al brunzidor, l’interval de so també disminuirà. Com més a prop l’objecte estigui, més ràpidament sonarà el timbre. Això es pot fer creant un retard proporcional a la distància mesurada. Com que el delay () d'Arduino no pot acceptar variables, hem d'utilitzar un bucle for que es basa en la distància mesurada com es mostra a continuació.
if (dist <50) {Serial.print (dist); Serial.println ("Alerta d'objectes"); digitalWrite (Buzz, HIGH); for (int i = dist; i> 0; i--) retard (10); digitalWrite (Buzz, LOW); for (int i = dist; i> 0; i--) retard (10); }
Obteniu més informació sobre com mesurar la distància mitjançant el sensor d’ultrasons i Arduino.
El programa es pot adaptar fàcilment a la vostra aplicació canviant el valor que fem servir per comparar. Utilitzeu el monitor sèrie per depurar si s’activa una alarma falsa. Si teniu algun problema, podeu fer servir la secció de comentaris següent per publicar les vostres preguntes
Arduino Blind Stick en acció:
Finalment, és hora de provar el nostre projecte arduino de blind stick. Assegureu-vos que les connexions es realitzen segons el diagrama del circuit i que el programa es carrega correctament. Ara, alimenteu els circuits amb una bateria de 9V i hauríeu de començar a veure resultats. Mou el sensor Ultra Sonic més a prop de l’objecte i notaràs que el timbre emet un pit i aquesta freqüència de pitxes augmenta a mesura que el pal s’acosta a l’objecte. Si el LDR està cobert de foscor o si hi ha massa llum, el brunzidor emetrà un so. Si tot és normal, el brunzidor no emetrà cap so.
En prémer el botó del comandament a distància, el brunzidor emetrà un llarg bip. El funcionament complet d’aquest Smart Stick per a invidents amb Arduino es mostra al vídeo que es mostra al final d’aquesta pàgina. També faig servir un pal petit per muntar el conjunt complet. Podeu utilitzar-ne un de més gran o un pal cec real i posar-lo en acció.

Si el vostre timbre sempre emet un so, significa que s’activa falsament l’alarma. Podeu obrir el monitor sèrie per comprovar els paràmetres i comprovar quins són els crítics i ajustar-lo. Com sempre, podeu publicar el vostre problema a la secció de comentaris per obtenir ajuda. Espero que hagueu entès el projecte i us hagi agradat construir alguna cosa.
