{"id":2020,"date":"2020-04-20T14:53:46","date_gmt":"2020-04-20T19:53:46","guid":{"rendered":"https:\/\/naps.com.mx\/blog\/?p=2020"},"modified":"2020-04-22T08:31:36","modified_gmt":"2020-04-22T13:31:36","slug":"programacion-del-sensor-sr04-en-arduino","status":"publish","type":"post","link":"https:\/\/naps.com.mx\/blog\/programacion-del-sensor-sr04-en-arduino\/","title":{"rendered":"Programaci\u00f3n del sensor sr04 en Arduino"},"content":{"rendered":"<p>El sensor sr04 en Arduino es un sensor ultras\u00f3nico utilizado para medir distancias. En \u00e9ste art\u00edculo veremos c\u00f3mo realizar la programaci\u00f3n b\u00e1sica de \u00e9ste sensor.<\/p>\n<p><!--more--><\/p>\n<p>El sensor sr04 en Arduino nos ofrece un rango de medici\u00f3n de 2 a 400 cent\u00edmetros. Su funcionamiento se basa en la emisi\u00f3n de ultrasonidos. El sonido se emite a trav\u00e9s de uno de los dos cilindros y el rebote se recibe por el otro.<\/p>\n<p>El sensor entrega el tiempo que transcurre entre la emisi\u00f3n y la recepci\u00f3n del ultrasonido (<a href=\"https:\/\/books.google.com.mx\/books?id=8PiEDwAAQBAJ&amp;lpg=PA217&amp;dq=sensor%20sr04%20arduino&amp;pg=PA217#v=onepage&amp;q=sensor%20sr04%20arduino&amp;f=false\" target=\"_blank\" rel=\"noopener\">Millahual, 2017<\/a>).<\/p>\n<h2>Programaci\u00f3n del sensor sr04 en Arduino<\/h2>\n<h2>Parte 1. Montaje del prototipo<\/h2>\n<p>Conecte GND (en el sensor) con GND (en la placa Arduino)<\/p>\n<p>Conecte VCC (en el sensor) con 5V (en la placa Arduino)<\/p>\n<p>Conecte trig(en el sensor) con el pin digital 3 (en la placa Arduino)<\/p>\n<p>Conecte echo (en el sensor) con el pin digital 2 (en la placa Arduino)<\/p>\n<p><a href=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/sensor-sr04-en-arduino.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2023\" src=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/sensor-sr04-en-arduino.jpg\" alt=\"sensor sr04 en arduino\" width=\"1500\" height=\"2000\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/sensor-sr04-en-arduino.jpg 1500w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/sensor-sr04-en-arduino-225x300.jpg 225w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/sensor-sr04-en-arduino-768x1024.jpg 768w\" sizes=\"auto, (max-width: 1500px) 100vw, 1500px\" \/><\/a><\/p>\n<p>C\u00f3digo Arduino para la programaci\u00f3n del sensor sr04<\/p>\n<pre class=\"lang:c decode:true \">const byte trig = 3;  \/\/ Pin digital 3 conectado a trig\r\nconst byte echo = 2;  \/\/ Pin digital 2 contectado a echo\r\n\r\nvoid setup() {\r\n  Serial.begin(9600);\r\n  pinMode(trig, OUTPUT); \/\/ Pin trig es de salida\r\n  pinMode(echo, INPUT);  \/\/ Pin echo es de entrada\r\n  digitalWrite(trig, LOW);\r\n}\r\n\r\nvoid loop() {\r\n  Serial.println(mide_distancia());  \/\/ Se muestra en el monitor serial la distancia en cent\u00edmetros\r\n}\r\n\r\nint mide_distancia(){\r\n  emite_pulso();\r\n  long tiempo = pulseIn(echo, HIGH);  \/\/ Obtiene el tiempo desde que se emite hasta que regresa el sonido\r\n  int distancia = tiempo \/ 58;  \/\/ Se calcula la distancia en cent\u00edmetros. Se considera 29 microsegundos por 1 cent\u00edmetro.\r\n  return distancia;\r\n}\r\n\r\nvoid emite_pulso(){\r\n  digitalWrite(trig,HIGH); \/\/ Emite un pulso\r\n  delayMicroseconds(10);   \/\/ Durante 10 microsegundos\r\n  digitalWrite(trig,LOW);  \/\/ Detiene la emisi\u00f3n.\r\n}<\/pre>\n<h2>Explicaci\u00f3n de las funciones Arduino utilizadas<\/h2>\n<h3>Serial.begin<\/h3>\n<p>Establece la comunicaci\u00f3n serial. Se utiliza 9600 expresado en bits por segundo como velocidad. El monitor serial o programa que lea los datos, debe recibir los datos a la misma velocidad.<\/p>\n<h3>Pinmode<\/h3>\n<p>Configura un pin digital como de entrada o de salida.<\/p>\n<h3>DigitalWrite<\/h3>\n<p>Escribe un valor bajo o alto en un pin digital. El valor alto puede ser 5V o 3.3V y el valor bajo es 0.<\/p>\n<h3>Serial.println.<\/h3>\n<p>Imprime datos por el puerto serial seguido de un retorno de carro o caracter de salto de l\u00ednea.<\/p>\n<h3>PulseIn<\/h3>\n<p>Lee un pulso en un pin. Devuelve la longitud del pulso en microsegundos.<\/p>\n<h3>DelayMicroseconds<\/h3>\n<p>Pausa el programa una cantidad de tiempo t expresada en microsegundos.<\/p>\n<p>&nbsp;<\/p>\n<h2>Salida<\/h2>\n<p><a href=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/sensor-sr04-en-arduino-salida.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2024\" src=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/sensor-sr04-en-arduino-salida.png\" alt=\"sensor sr04 en arduino - salida\" width=\"481\" height=\"408\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/sensor-sr04-en-arduino-salida.png 762w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/sensor-sr04-en-arduino-salida-300x254.png 300w\" sizes=\"auto, (max-width: 481px) 100vw, 481px\" \/><\/a><\/p>\n<p>La salida nos muestra la distancia en cent\u00edmetros entre el sensor y un obst\u00e1culo.<\/p>\n<h2>Aplicaciones<\/h2>\n<p>El sensor sr04 es muy \u00fatil para diversos campos, entre los que se pueden mencionar: medir el nivel de l\u00edquido contenido en un recipiente, controlar la altura de un brazo mec\u00e1nico, evitar colisiones en veh\u00edculos, \u00a0detectar espacios vac\u00edos, contar objetos, etc\u00e9tera.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El sensor sr04 en Arduino es un sensor ultras\u00f3nico utilizado para medir distancias. En \u00e9ste art\u00edculo veremos c\u00f3mo realizar la programaci\u00f3n b\u00e1sica de \u00e9ste sensor.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"amp_status":"","footnotes":""},"categories":[278],"tags":[270,271,279,272],"class_list":["post-2020","post","type-post","status-publish","format-standard","hentry","category-arduino","tag-arduino","tag-lenguajes-de-interfaz","tag-sensores","tag-sistemas-programables"],"_links":{"self":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/2020","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/comments?post=2020"}],"version-history":[{"count":3,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/2020\/revisions"}],"predecessor-version":[{"id":2039,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/2020\/revisions\/2039"}],"wp:attachment":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/media?parent=2020"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/categories?post=2020"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/tags?post=2020"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}