Sensor Ultrasonido Con Pic
-
Upload
roberto-carlos-ayala -
Category
Documents
-
view
215 -
download
0
Transcript of Sensor Ultrasonido Con Pic
-
7/24/2019 Sensor Ultrasonido Con Pic
1/7
SENSOR ULTRASONIDO CON PIC
Sensor ultrasonico de distancia basado en el principio del sonar.
Caracteristicas:
Alimentacion: !
An"ulo de sensado: #$
Ran"o de distancia: % a && cm
Numero de pines: ' (!CC)TRI*)EC+O)*ND,
Dimensiones:
-odo de uncionamiento:
Para /acer una lectura con el SENSOR ULTRASONIDO basta con se"uir estos
pasos:
#, en0iar un pulso de minimo #&us por el pin TRI* (disparo, para iniciar la
lectura.
%, el sensor en0iara 1 pulsos de ultrasonido 2 colocara su salida EC+O a alto)
debes detectar este e0ento e iniciar un 3conteo de tiempo3
4, la salida EC+O se mantendra en alto /asta recibir el eco re5e6ado por el
obstaculo a lo cual el sensor pondra su pin EC+O a ba6o) es decir) terminas de
3contar el tiempo3
', La distancia es proporcional a la duracion del pulso 2 puedes calcularla con
las si"uientes ormulas:
-
7/24/2019 Sensor Ultrasonido Con Pic
2/7
Distancia en C- 7 tiempo medido en us 8 &.
Distancia en PUL*ADAS 7 tiempo medido en us 8 &.&&9
Nota: si la duracion del pulso es ma2or a 4&ms entonces asumes ;ue no /a2
obstaculo.
Este es el dia"rama de tiempos:
Ear una uncion ;ue se
encar"ara de la lectura del sensor) esta uncion debera ir uera 2 antes de la
uncion -AIN. Lo primero es de?nir los pines de nuestro sensor
@de?ne tri" pinc9
@de?ne ec/o input(pinc,
Renombrar pines acilita el entendimiento posterior del codi"o 2 ademas
permite ;ue cambies los pines ;ue 0as a usar con simplemente modi?car las
lineas de codi"o anteriores en lu"ar de buscarlas 2 modi?carlas dentro del
codi"o.
-u2 bien) sabemos ;ue el sensor puede lle"ar a medir /asta &&cm) por lo
cual nuestra uncion tendra un DATO DE SALIDA del tipo lon" unsi"ned 2a
;ue sobrepasa los % de una 0ariable unsi"ned normal) asi ;ue nuestra
uncion comien=a con un int#9:
-
7/24/2019 Sensor Ultrasonido Con Pic
3/7
int#9 midedistancia(0oid,B
int#9 centimetros creamos una 0ariable local para los centimetros medidos
codi"o para medicion de distancia...
a/ora comien=a la secuencia) si recuerdas /abremos de en0iar un pulso de
almenos #&us por el pin TRI*) 2o le puse &us para no allar:
output/i"/(tri", pulso de disparo
dela2us(&,
outputlo(tri",
lue"o /a2 ;ue esperar el pulso del pin ec/o ;ue de inicio esta en cero) asi
;ue usaremos un /ile ;ue espera mientras el pin ec/o este en cero 2
continuara cuando el pin este en #:
/ile(ec/o77&, espera 5anco de subida
-u2 acil 0erdad) a/ora comien=a la medicion de la distancia) usaremos un
ciclo /ile ;ue incrementa cada 9&us la 0ariable centimetros mientras el pin
ec/o sea 7 uno. Los 9&us es el tiempo aproFimado ;ue tarda en 0ia6ar el
sonido %cm osea #cm ida 2 0uelta:
/ile(ec/o77#,B
centimetrosGG
dela2us(1,
H
-
7/24/2019 Sensor Ultrasonido Con Pic
4/7
Este /ile termina cuando el pin ec/o a ido a cero) es decir 2a termino la
lectura) asi ;ue terminamos con una demora de &ms) tiempo su"erido por el
datas/eet del sensor 2 retornaremos con el 0alor de los centimetros medidos:
dela2ms(&,
return(centimetros,
H ?n de la uncion 3midedistancia3
Nuestra uncion completa ;ueda entonces de la si"uiente manera:
@de?ne tri" pinc9
@de?ne ec/o input(pinc,
int#9 midedistancia(0oid,B
int#9 centimetros7&
pulso de disparo:
output/i"/(tri",
dela2us(&,
outputlo(tri",
espera 5anco de subida por el pin ec/o
/ile(ec/o77&,
comien=a a contar centimetros /asta ;ue pin ec/o sea cero
/ile(ec/o77#,B
centimetrosGG
dela2us(1,
H
-
7/24/2019 Sensor Ultrasonido Con Pic
5/7
demora de se"uridad 2 retorna con el 0alor de centimetros contados
dela2ms(&,
return(centimetros,
H
Recuerda ;ue esta uncion /abra de ir auera 2 antes de la uncion -AIN) un
e6emplo de uso seria asi: +acer un medidor de distancia con sensor
ultrasonico 2 un lcd ;ue mar;ue la distancia en C- 2 ten"a un led ;ue
enciende cuando /a2 una lectura 0alida 2 apa"a cuando no /a2 una lectura
0alida o no /a2a ob6eto:
88888888888888888888888888888888888888888888888888888888888888888888
Cabecera del pro"rama) depende del pic ;ue uses
88888888888888888888888888888888888888888888888888888888888888888888
88888888888888888888888888888888888888888888888888888888888888888888
uncion de mide distancia de sensor ultrasonico@de?ne tri" pinc9
@de?ne ec/o input(pinc,
int#9 midedistancia(0oid,B
int#9 centimetros7&
pulso de disparo:
output/i"/(tri",
dela2us(&,
outputlo(tri",
espera 5anco de subida por el pin ec/o
-
7/24/2019 Sensor Ultrasonido Con Pic
6/7
/ile(ec/o77&,
comien=a a contar centimetros /asta ;ue pin ec/o sea cero
/ile(ec/o77#,B
centimetrosGG
dela2us(1,
H
demora de se"uridad 2 retorna con el 0alor de centimetros contados
dela2ms(&,
return(centimetros,
H
88888888888888888888888888888888888888888888888888888888888888888888
88888888888888888888888888888888888888888888888888888888888888888888
uncion principal del pro"rama0oid main( 0oid ,B
int#9 distancia
int1 i
lcdinit(, iniciali=a lcd
/ile (true,B la=o in?nito
distancia7midedistancia(, AJUI USA-OS NUESTRA PODEROSA
UNCIONKKK
lcd"otoF2(#)#,
i(distancia&&,B si lectura &&cm entonces no es 0alida) osea no /a2
-
7/24/2019 Sensor Ultrasonido Con Pic
7/7
ob6eto
lcdputc(MM, orra LCD
print(lcdputc)3NO DETECTEDK3,
outputlo(pinc&,
H
elseB si distancia ue &&cm es una distancia 0alida 2 la imprime en LCD
print(lcdputc)3Q&4lucm 3)distancia,
output/i"/(pinc&,
H
H cierra la=o in?nito
H cierra main
88888888888888888888888888888888888888888888888888888888888888888888