INSTITUTO TECNOLÓGICO DE LA LAGUNA DEPARTAMENTO METAL-MECÁNICA ASIGNATURA : SENSORES INTELIGENTES
I M M NGENIERÍA ECATRÓNICA ECATRÓNICA •
REPORTE DE PRÁCTICA #1:
“SENSOR ULTRASÓNICO DE DISTANCIA DISTANCIA CON ARDUINO, MOTOR DE PASOS Y LEDS LEDS” ALPHA SHALOM CÁRDENAS GONZÁLEZ N° DE CONTROL: 13130!" RANCISCO $A%IER GARC&A MOTA N° DE CONTROL: 1310"0! CARLOS ALE$ANDRO $UÁREZ RODR&GUEZ N° DE CONTROL: 13130'0 RO(ERTO ELEAZAR HERNÁNDEZ MORA N° DE CONTROL: 13131!"'
ACILITADOR DE LA LAZALDE RUELAS TORREÓN, COAHUILA E(RERO DE !01)
MATERIA: ING)
ARIEL
)
I.
Objetivo de la práctica.
Utilizando arduino, montar un sensor ultrasónico de distancia HC-SR04, y dependiendo de la distancia que se encuentre girar hacia un lado o hacia el otro el motor a pasos. dem!s de lo mencionado anteriormente agregar una serie por medio de "#$%s para indicar dichos sentidos.
II.
Marco teórico.
SENSOR ULTRASÓNICO) #l SR04 es un módulo de sensores por ultrasonidos, desarrollado por Devantech Ltd y comercializado en #spa&a por 'ntplus S." que es capaz de detectar o()etos y calcular la distancia a la que se encuentra en una rango de * a +0 cm. $e diminuto tama&o, este dispositio destaca por su (a)o consumo y gran precisión. Su aspecto /sico y coneiones se muestran en la siguiente igura.
#ste sensor unciona por ultrasonidos y contiene toda la electrónica encargada de hacer la medición. Su uso es tan sencillo como eniar el pulso de arranque y medir la anchura del pulso de retorno. #l sensor HC04 unciona emitiendo impulsos de ultrasonidos. "os impulsos emitidos ia)an a la elocidad del sonido hasta alcanzar un o()eto1 entonces el sonido es rele)ado y captado de nueo por el receptor de ultrasonidos. "o que hace el controlador incorporado es emitir una r!aga de impulsos, a continuación
empieza a contar el tiempo que tarda en llegar el eco. #ste tiempo se traduce en un pulso de eco de anchura proporcional a la distancia a la que se encuentra el o()eto.
"a relación entre la distancia medida y el ancho de pulso se muestra en la siguiente igura. 2or cada cent/metro de distancia de anchura del pulso se incrementa en 30s, siendo el rango de medida alido entre 560 s y 56m, correspondientes a * y *00 cm respectiamente.
MOTOR A PASOS) "os motores paso a paso son un tipo especial de motores que permiten el moimiento de su e)e en !ngulos muy precisos y por pasos, tanto a la izquierda como a la derecha. plicando a ellos una secuencia de pulsos. Cada paso tiene un !ngulo muy preciso,
determinado por la construcción del motor lo que permite realizar moimientos eactos. Son utilizados para generar moimientos precisos, por e)emplo en ro(ots, en equipos con moimientos 7-8, entre otros. #isten dos tipos de motores paso a paso9
M*+*. U/*2.: este tipo de motor tiene dos (o(inas en cada uno de los estatores y cada par de (o(inas tienen un punto com:n, es decir, tiene ó 3 terminales.
M*+*. (*2.: este tipo de motor tiene dos (o(inas y no poseen puntos comunes, es decir tiene cuatro terminales. 2ara controlar este tipo de motor paso a paso (ipolar es necesaria usar 6 transistores o circuitos integrados especiales.
TA(LILLA PROTO(OARD) E2 *+*4*5 * 454*5: #s una especie de ta(lero con oriicios, en la cual se pueden insertar componentes electrónicos y ca(les para armar circuitos. Como su nom(re lo indica, esta ta(leta sire para eperimentar con circuitos electrónicos, con lo que se asegura el (uen uncionamiento del mismo.
E.+67+6 52 *+*4*5: ;!sicamente un *+*4*5 se diide en tres regiones9
A8 C/2 7/+2: #s la región localizada en el medio del *+*4*5, se utiliza para colocar
los
circuitos
integrados.
(8 (6..: "os (uses se localizan en am(os etremos del proto(oard, se representan por las l/neas ro)as <(uses positios o de olta)e= y azules <(uses negatios o de tierra= y conducen de acuerdo a estas, no eiste coneión /sica entre ellas. "a uente de poder generalmente se conecta aqu/.
C8 P.+.9 "a pistas se localizan en la parte central del *+*4*5, se representan y conducen seg:n las l/neas rosas.
LED9S) #l "#$, acrónimo de >Light Emitting Diode”, o diodo emisor de luz de estado sólido (solid state), constituye un tipo especial de semiconductor , cuya caracter/stica principal es conertir en luz la corriente el?ctrica de (a)o olta)e que atraiesa su chip. $esde el punto de ista /sico un "#$ com:n se presenta como un (ul(o miniaturizado, carente de ilamento o de cualquier otro tipo de elemento o material peligroso, con la enta)a so(re otras tecnolog/as que no contamina el medio am(iente. $e acuerdo con las caracter/sticas de uncionamiento de cada "#$, el chip puede operar con una tensión o olta)e de polarización directa entre 5 y 4 @ <olt= aproimadamente, con una corriente que luct:a entre 50 y 40 m
la luz en todas direcciones de orma uniorme, los "#$s la emiten a partir de la supericie superior del chip y la proyecta directamente en orma de cono, ormando un !ngulo entre 5+0 y 540 grados.
ARDUINO ONE) A56/* <#stados Unidos=
#l rduino es una plataorma computacional /sica open-source (asada en una simple tar)eta de 'DE y un entorno de desarrollo que implementa el lengua)e 2rocessingDFiring. #l rduino Uno R* puede ser utilizado para desarrollar o()etos interactios o puede ser conectado a sotBare de tu computadora
C7+.+7.: •
Gicrocontrolador mega*+6.
•
@olta)e de entrada -5+@.
•
54 pines digitales de 'DE <3 salidas 2FG=.
•
3 entradas an!logas.
•
*+I de memoria Alash.
•
Relo) de 53GHz de elocidad.
$UMPERS) #n electrónica y en particular en inorm!tica, un jumper o .2+5* es un elemento que permite cerrar el circuito el?ctrico del que orma parte dos coneiones. #sto puede hacerse mediante soldadura
hilera o paralelo mediante una pieza de pl!stico que protege el material conductor que cierra el circuito. "os m!s ha(ituales tienen tama&os de +,4 mm, + mm y 5,+ mm. #l modo de uncionamiento del dispositio, que es lo opuesto a la coniguración por sotBare, donde de distinto modo se llega al mismo resultado9 cam(iar la coniguración, o modo de operación del dispositio.
III. Material y equipo.
a(lilla 2roto(oard. rduino Ene Gotor a pasos. "#$Js
IV. Procedimiento. #l procedimiento de uncionamiento a seguir para la realización de la pr!ctica es el siguiente9
DISTANCIA
Objeto a 10 cm. (exactos) Motor a pasos: Gira a la derecha
Objeto a 20 cm. (exactos) Motor a pasos: Gira a izquierda
NOTA: Objeto a cualquier otra distancia distinta a las indicadas. Moto a pasos: Parad SECUENCIA DE LEDS) SI GIRA A A I!"#I$RDA: $nceder el ed %enos si&ni'cati(o )asta lle&ar al *+. Despues de eso apa&arse todos , (ol(er a repetir el ciclo
SI GIRA A A D$R$C-A: $ncender el ed %enos si&ni'cati(o , apa&arlo continuar con el se&undo , asi sucesi(a%ente )asta lle&ar al /lti%o. $n esta secuencia nunca e0isten dos o %1s leds encendidos a la (e2.
V.
Código de programación.
#iclude !"e$i%.h& #de'e *GG+,$*" - /rduio pi tied to tri%%er pi o the ultrasoic sesor. #de'e +O,$*" 1 /rduio pi tied to echo pi o the ultrasoic sesor. #de'e M/3,4*5/"+ 200 Maximum distace e at to pi% 6or (i cetimeters). Maximum sesor distace is rated at 7008900cm. "e$i% soar(*GG+,$*" +O,$*" M/3,4*5/"+); "e$i% setup o6 pis ad maximum distace.
di%ital@rite(A EO@); di%ital@rite(10 *G); di%ital@rite(11 EO@); di%ital@rite(12 *G); dela?(10); di%ital@rite(A EO@); di%ital@rite(10 *G); di%ital@rite(11 *G);
di%ital@rite(12 EO@); dela?(10); di%ital@rite(A *G); di%ital@rite(10 EO@); di%ital@rite(11 *G); di%ital@rite(12 EO@); dela?(10); di%ital@rite(A *G); di%ital@rite(10 EO@); di%ital@rite(11 EO@); di%ital@rite(12 *G); dela?(10); di%ital@rite(FEO@); di%ital@rite(EO@); di%ital@rite(7*G); di%ital@rite(9EO@); di%ital@rite(EO@);
di%ital@rite(A EO@); di%ital@rite(10 *G); di%ital@rite(11 EO@); di%ital@rite(12 *G); dela?(10); di%ital@rite(A EO@); di%ital@rite(10 *G); di%ital@rite(11 *G); di%ital@rite(12 EO@); dela?(10); di%ital@rite(A *G); di%ital@rite(10 EO@); di%ital@rite(11 *G); di%ital@rite(12 EO@); dela?(10); di%ital@rite(A *G); di%ital@rite(10 EO@); di%ital@rite(11 EO@); di%ital@rite(12 *G); dela?(10); di%ital@rite(FEO@); di%ital@rite(EO@); di%ital@rite(7EO@); di%ital@rite(9*G); di%ital@rite(EO@);
di%ital@rite(A EO@); di%ital@rite(10 *G); di%ital@rite(11 EO@); di%ital@rite(12 *G); dela?(10); di%ital@rite(A EO@); di%ital@rite(10 *G); di%ital@rite(11 *G); di%ital@rite(12 EO@); dela?(10); di%ital@rite(A *G); di%ital@rite(10 EO@); di%ital@rite(11 *G); di%ital@rite(12 EO@); dela?(10); di%ital@rite(A *G); di%ital@rite(10 EO@);
di%ital@rite(11 EO@); di%ital@rite(12 *G); dela?(10); di%ital@rite(FEO@); di%ital@rite(EO@); di%ital@rite(7EO@); di%ital@rite(9EO@); di%ital@rite(*G); di%ital@rite(A EO@); di%ital@rite(10 *G); di%ital@rite(11 EO@); di%ital@rite(12 *G); dela?(10); di%ital@rite(A EO@); di%ital@rite(10 *G); di%ital@rite(11 *G); di%ital@rite(12 EO@); dela?(10); di%ital@rite(A *G); di%ital@rite(10 EO@); di%ital@rite(11 *G); di%ital@rite(12 EO@); dela?(10); di%ital@rite(A *G); di%ital@rite(10 EO@); di%ital@rite(11 EO@); di%ital@rite(12 *G); dela?(10); di%ital@rite(F*G); di%ital@rite(EO@); di%ital@rite(7EO@); di%ital@rite(9EO@); di%ital@rite(EO@); > else i6 (u5 D5,OD"4*$,M BB 20) = di%ital@rite(A *G); di%ital@rite(FEO@); di%ital@rite(EO@); di%ital@rite(7EO@); di%ital@rite(9EO@); di%ital@rite(EO@); di%ital@rite(10 EO@); di%ital@rite(11 EO@); di%ital@rite(12 *G); dela?(10); di%ital@rite(A *G); di%ital@rite(10 EO@); di%ital@rite(11 *G); di%ital@rite(12 EO@); dela?(10); di%ital@rite(A EO@); di%ital@rite(10 *G); di%ital@rite(11 *G); di%ital@rite(12 EO@); dela?(10); di%ital@rite(A EO@); di%ital@rite(10 *G); di%ital@rite(11 EO@); di%ital@rite(12 *G); dela?(10);
di%ital@rite(FEO@); di%ital@rite(9EO@); di%ital@rite(EO@); di%ital@rite(10 EO@); di%ital@rite(11 EO@); di%ital@rite(12 *G); dela?(10); di%ital@rite(A *G); di%ital@rite(10 EO@); di%ital@rite(11 *G); di%ital@rite(12 EO@); dela?(10); di%ital@rite(A EO@); di%ital@rite(10 *G); di%ital@rite(11 *G); di%ital@rite(12 EO@); dela?(10); di%ital@rite(A EO@); di%ital@rite(10 *G); di%ital@rite(11 EO@); di%ital@rite(12 *G); dela?(10); di%ital@rite(FEO@); di%ital@rite(9EO@); di%ital@rite(EO@); di%ital@rite(10 EO@); di%ital@rite(11 EO@); di%ital@rite(12 *G); dela?(10); di%ital@rite(A *G); di%ital@rite(10 EO@); di%ital@rite(11 *G); di%ital@rite(12 EO@); dela?(10); di%ital@rite(A EO@); di%ital@rite(10 *G); di%ital@rite(11 *G); di%ital@rite(12 EO@); dela?(10); di%ital@rite(A EO@); di%ital@rite(10 *G); di%ital@rite(11 EO@); di%ital@rite(12 *G); dela?(10); di%ital@rite(FEO@); di%ital@rite(9*G); di%ital@rite(EO@); di%ital@rite(10 EO@); di%ital@rite(11 EO@); di%ital@rite(12 *G); dela?(10); di%ital@rite(A *G); di%ital@rite(10 EO@); di%ital@rite(11 *G); di%ital@rite(12 EO@); dela?(10);
di%ital@rite(*G);
di%ital@rite(7EO@);
di%ital@rite(*G);
di%ital@rite(7*G);
di%ital@rite(*G);
di%ital@rite(7*G);
di%ital@rite(A EO@); di%ital@rite(10 *G); di%ital@rite(11 *G); di%ital@rite(12 EO@); dela?(10); di%ital@rite(A EO@); di%ital@rite(10 *G); di%ital@rite(11 EO@); di%ital@rite(12 *G); dela?(10); di%ital@rite(FEO@); di%ital@rite(9*G); di%ital@rite(*G); di%ital@rite(10 EO@); di%ital@rite(11 EO@); di%ital@rite(12 *G); dela?(10); di%ital@rite(A *G); di%ital@rite(10 EO@); di%ital@rite(11 *G); di%ital@rite(12 EO@); dela?(10); di%ital@rite(A EO@); di%ital@rite(10 *G); di%ital@rite(11 *G); di%ital@rite(12 EO@); dela?(10); di%ital@rite(A EO@); di%ital@rite(10 *G); di%ital@rite(11 EO@); di%ital@rite(12 *G); dela?(10); di%ital@rite(F*G); di%ital@rite(9*G); di%ital@rite(*G);
di%ital@rite(*G);
di%ital@rite(7*G);
di%ital@rite(*G);
di%ital@rite(7*G);
> else = di%ital@rite(2EO@); di%ital@rite(EO@); di%ital@rite(7EO@); di%ital@rite(9EO@); di%ital@rite(EO@); di%ital@rite(FEO@); di%ital@rite(-EO@); di%ital@rite(AEO@); di%ital@rite(10EO@); di%ital@rite(11EO@); di%ital@rite(12EO@); > >
VI. Evidencias de práctica.
VII. Conclusiones generales.
#l tra(a)o con distintos tipos de sensores en con)unto con rduino es acilitado gracias a la gran cantidad de inormación entre la comunidad de programadores y gracias a esto el mane)o de ellos se acilita mucho m!s. 2ara esta pr!ctica utilizamos una li(rer/a para el mane)o directo del sensor ultrasónico en espec/ico y (astó con agregar una condición a la salida de este programa para llegar al o()etio, el :nico inconeniente con nuestro primer intento ueron los retrasos que ten/an que entrar en cada condición para el mane)o de los leds en con)unto con el giro del motor ya que estos hac/an que el motor se detuiera en cada ciclo. 2ara esto la solución r!pida ue incorporar a cada una de las com(inaciones de luces un ciclo de giro del motor para as/ aminorar el tiempo de paro del mismo, esto causó que el código se etendiera (astante pero me)oró el resultado inal.
VII. uentes de in!ormación. http:arduio.clarduio8uo https:es.iHipedia.or%iHiIumper,(i6ormJJ/1tica) https:electroilab.cotiedasesor8de8distacia8de8ultrasoido8hc8sr07 https:.zoamaHer.comarduiomodulos8sesores8?8 shieldsultrasoido8hc8sr07 https:es.iHipedia.or%iHi/rduio http:.circuitoselectroicos.or%200F10el8protoboard8tableta8de8 experimetaci.html https:es.iHipedia.or%iHiMotor,paso,a,paso https:.0ohms.comblo%sblo%-990F0128motores8a8pasos8 uipolares8o8bipolares https:es.iHipedia.or%iHiEed