Pract3 Arduino Uno

April 10, 2023 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Pract3 Arduino Uno...

Description

 

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTA DE INGENIERIA

CONTROL 1 MICROCONTROLADORES

 

1/5

PRÁCTICA 3 OPERACIÓN DE UN MICROCONTROLADOR MI CROCONTROLADOR ARDUINO ARDUINO UNO Y UN SENSOR ULTRASÓNICO HC-SR04. El sensor de ultrasonidos se enmarca dentro de los sensores para medir distancias o superar obstáculos, entre otras posibles funciones. En este caso vamos a utilizarlo para la medición de distancias. Esto lo consigue enviando un ultrasonido (inaudible para el oído humano por su alta frecuencia) a través 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. Este sensor en concreto tiene un rango de distancias sensible entre 3cm y 3m con una precisión de 3mm.

¿Qué recibimos en el sensor? El tiempo que transcurre entre el envío y la recepción del ultrasonido. ¿Cómo vamos a traducir dicho tiempo en distancia?  Aprovechando que la velocidad  Aprovechando velocidad de dicho ultr ultrasonido asonido en el aire es es de valor 340 m/s, o 0,034 cm/microseg cm/microseg (ya que trabajaremos con centímetros y microsegundos). Para calcular la distancia, recordaremos que v=d/t (definición de velocidad: distancia recorrida en un determinado tiempo). De la fórmula anterior despejamos d, obteniendo d=v·t, siendo v la constante anteriormente citada y t el valor devuelto por el sensor a la placa Arduino. También habrá que dividir el resultado entre 2 dado que el tiempo recibido es el tiempo de ida y vuelta.

Material   Sensor ultrasónico HC-SR04   Placa Arduino UNO

  3 LED (Rojo. Amarillo y Verde)   3 resistencias de 330Ω













  Cables (jumpers M-M)   Cable USB



Circuito

  Protoboard

 

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTA DE INGENIERIA

CONTROL 1 MICROCONTROLADORES

 

2/5

Procedimiento 1. Preparar conexión En primerla lugar, conectamos nuestra placa Arduino mediante un cable USB A-B, del tipo que se emplean habitualmente para conectar impresoras. De momento no hace falta la conexión de alimentación o cable adicional, para realizar la programación es suficiente únicamente con el USB.

2. A continuación abrimos el entorno IDE de Arduino.

3. Seleccionamos el modelo de placa que estemos estemos empleando.

 

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTA DE INGENIERIA

CONTROL 1 MICROCONTROLADORES

 

3/5

4. Seleccionamos el puerto de comunicación al q que ue está conectado. conectado.



   



En a lgo tipo algo COM1, COM3… En Windows Linux seráserá del estilo /dev/ttyACM0

Ya tenemos la conexión configurada y lista para realizar la carga de nuestro nue stro primer programa.

5. Carga del programa de programa En el IDE de Arduino estandard los programas tienen siempre la siguiente estructura //Zona DECLARACIONES void setup() { // Zona funcion SETUP } void loop() { // Zona funcion LOOP } Donde cada parte tiene la siguiente función:   Zona declaraciones:  En esta parte se declaran variables, funciones, objetos, y estructuras.   Funcion setup: Esta función se ejecuta cada vez que se enciende la placa de Arduino, o se pulsa la tecla Reset. Realiza funciones de inicialización de periféricos, comunicaciones, variables, etc.   Funcion loop:  Esta función se ejecuta contínuamente. Realiza el grueso de tareas del autómata. 





El código del programa de la práctica es el siguiente:

 

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTA DE INGENIERIA

CONTROL 1 MICROCONTROLADORES

 

4/5

CODIGO DE PROGRAMACION /************************************************ /******************************* ********************************** ********************************* ******************/ **/ long distancia; long tiempo; void setup(){ Serial.begin(9600); pinMode(9, OUTPUT); /*activación del pin 9 como salida: para el pulso ultrasónico*/ pinMode(8, INPUT); /*activación del pin 8 como entrada: tiempo del rebote del ultrasonido*/ pinMode(13, OUTPUT);/*activación OUTPUT);/*activación del pin 13 1 3 como salida: salida LED Rojo*/ pinMode(12, OUTPUT);/*activación OUTPUT);/*activación del pin 12 1 2 como salida: salida LED Amarillo*/ Am arillo*/ pinMode(7, OUTPUT);/*activación OUTPUT);/*activación del pin 7 como salida: salida LED LE D Verde*/ } void loop(){ digitalWrite(13,LOW); /* Inicializar LED*/ digitalWrite(9,LOW); /* Por cuestión de estabilización del sensor*/ delayMicroseconds(5); digitalWrite(9, HIGH); /* envío del pulso ultrasónico*/ delayMicroseconds(10); tiempo=pulseIn(8, HIGH); HIGH); /* Función para medir la longitud del pulso entrante. Mide el tiempo que transcurrido entre el envío del pulso ultrasónico y cuando el sensor recibe el rebote, es decir: desde que el pin 12 empieza a recibir el rebote, HIGH, hasta que deja de hacerlo, LOW, la longitud del pulso entrante*/ distancia= int(0.017*tiempo); /*fórmula para calcular la distancia obteniendo un valor entero*/ /*Respuesta seg[un la distancia medida en cm*/ if (distancia10)&&(distancia50){ digitalWrite(13, LOW); /*Apagarr el LED Rojo*/ digitalWrite(12, LOW); /*Apagar el LED Amarillo*/ digitalWrite(7, HIGH); /*Encender el LED Verde*/ delay(100); } /*Monitorización en centímetros por el monitor serial*/ Serial.println("Distancia "); Serial.println(distancia); Serial.println(" cm"); delay(1000); } /****************************************************************************************/

 

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTA DE INGENIERIA

CONTROL 1 MICROCONTROLADORES

  Finalmente, pulsamos en el botón remarcado para compilar y enviar la programación a nuestra placa Arduino. Tras unos segundos, el IDE compilará el programa y lo subirá a la placa.

Tras unos parpadeos, la placa empezará a ejecutar el programa, indicando la distancia y encendiendo el LED correspondiente a la distancia programada.

5/5

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF