Pract3 Arduino Uno
April 10, 2023 | Author: Anonymous | Category: N/A
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