0% encontró este documento útil (0 votos)
56 vistas6 páginas

Codigo Arduino

Este documento describe el funcionamiento del sensor ultrasónico HC-SR04 para medir distancias. Explica que envía ultrasonidos y mide el tiempo que tardan en rebotar para calcular la distancia a objetos. Luego detalla cómo conectarlo a Arduino, incluir bibliotecas, y guardar las mediciones en una tarjeta SD.

Cargado por

Kevin Valdez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
56 vistas6 páginas

Codigo Arduino

Este documento describe el funcionamiento del sensor ultrasónico HC-SR04 para medir distancias. Explica que envía ultrasonidos y mide el tiempo que tardan en rebotar para calcular la distancia a objetos. Luego detalla cómo conectarlo a Arduino, incluir bibliotecas, y guardar las mediciones en una tarjeta SD.

Cargado por

Kevin Valdez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

sensor ultrasonidos HC-SR04

El sensor de ultrasonidos se enmarca dentro de los sensores para medir distancias o


superar obstculos, entre otras posibles funciones.
En este caso vamos a utilizarlo para la medicin de distancias. Esto lo consigue
enviando un ultrasonido (inaudible para el odo humano por su alta frecuencia) a
travs de uno de la pareja de cilindros que compone el sensor (un transductor) y
espera a que dicho sonido rebote sobre un objeto y vuelva, retorno captado por el otro
cilindro.

El sensor consta de 4 pines: "VCC" conectado a la salida de 5V de la placa, "Trig"


conectado al pin digital de la placa encargado de enviar el pulso ultrasnico, "Echo" al
pin de entrada digital que recibir el eco de dicho pulso y "GND" a tierra.

#include <SPI.h>
-

Es una librera para comunicarse con los dispositivos que


utilizan la Interfaz Perifrico Serial (SPI) Autobs

#include <SD.h>
-

Comando con la cual incluimos la tarjeta SD para poder


guardar los datos

#include <NewPing.h>
-

Comando el cual nos servir para medir, imprimir y


modificar el perido de tiempo con la cual deseamos que el
sensor tome medidas, en este caso para nuestro proyecto
con un in periodo de 10 minutos.

#define TRIGGER_PIN 6 // Arduino pin tied to trigger pin on the ultrasonic


sensor.
-

el pin 6 es el que emite la onda (Honda origanal)

#define ECHO_PIN
sensor.
-

5 // Arduino pin tied to echo pin on the ultrasonic

El pin 5 es el que recibe la onda luego de chocar con algn


objeto (onda reflejada)

#define MAX_DISTANCE 400


-aquie tenemos los comando para configurar los pines donde
esta conectado el
sensor.

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup


of pins and maximum distance.
-con este comando creamos el objeto de la clase NewPing

// On the Ethernet Shield, CS is pin 4. Note that even if it's not


// used as the CS pin, the hardware CS pin (10 on most Arduino boards,
// 53 on the Mega) must be left as an output or the SD library
// functions will not work.

const int chipSelect = 8;

void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}

Serial.print("Initializing SD card...");
-

Este comando nos permite inicializar la tarjeta SD

// make sure that the default chip select pin is set to


// output, even if you don't use it:
pinMode(10, OUTPUT);
-

Con este comando declaramos el pin 10 con salida (pulso


ultra sonido original )

// see if the card is present and can be initialized:


if (!SD.begin(chipSelect)) {
-con este comando comprobamos si la tarjeta esta presente y
puede se inicializada
Serial.println("Card failed, or not present");
-

Comando que escribe y da como lectura que la tarjeta no


esta presente.

// don't do anything more:


return;
-

El comando return nos permite retornar al primer paso para


inicializar e inicializar la tarjeta SD

}
Serial.println("card initialized.");
-

Este comando se imprime en el texto luego de comprar e


inicializar el la tarjeta SD sin ningn error.

void loop()
{

unsigned int uS = sonar.ping(); // Send ping, get ping time in microseconds


(uS).

// open the file. note that only one file can be open at a time,
// so you have to close this one before opening another.
File dataFile = SD.open("nivel.txt", FILE_WRITE);
-

Este comando nos permite crear el archivo .txt con el


nombre nivel y abrir para guardar las medidas

// if the file is available, write to it:


if (dataFile) {
dataFile.print("Distancia: ");
-

Comando nos permitir imprimir distancia medida en el


archivo nivel.txt la cual esta alojada en el la micro SD.

dataFile.print(sonar.convert_cm(uS));//
-Este comando nos permite convertir el tiempo que demora la
onda en ir y volver hacia el receptor, para luego imprimir en el
archivo nivel.txt la cual esta alojada en la micro SD
dataFile.println(" cm");
-

Este comando nos permite dale una extencion al resultado


de conversin del comando anterior.

dataFile.close();
-este comando nos permite cerrar el documento nivel.txt ya
guardando los datos impresos de las medidas
// print to the serial port too:
Serial.print("Distancia: ");
-

Comando el cual nos permitir imprimir la distancia medida


ala consola para visualizar en el programa arduino

Serial.print(sonar.convert_cm(uS)); //
Serial.println(" cm");

Estos dos ltimos comandos nos permite calcular la


distancia con base a una constante en este caso recoger
los datos en cm

}
// if the file isn't open, pop up an error:
else {
Serial.println("error opening nivel.txt");
-

Este comando nos permitir visualizar el correcto


funcionamiento del sensor tanto en la toma de distancia y
guardado de ellas en la tarjeta SD, de lo contrario nos saldr
el siguiente error en la consola arduino error opening
nivel.txt"

delay(600000); //milisegundos, 1seg=1000ms, 36000=1hora


-

Este comando nos permite modificar el periodo de tiempo


con el cual emite la seal para recoger la medida (en este
caso cada 10 min)

También podría gustarte