codigo arduino

Upload: kevin-valdez

Post on 07-Mar-2016

1 views

Category:

Documents


0 download

DESCRIPTION

sensor ultra sonido kevin valdez mendoza

TRANSCRIPT

sensor ultrasonidos HC-SR04El 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 Es una librera para comunicarse con los dispositivos que utilizan la Interfaz Perifrico Serial (SPI) Autobs#include Comando con la cual incluimos la tarjeta SD para poder guardar los datos

#include 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 5 // Arduino pin tied to echo pin on the ultrasonic sensor. 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)

}