Electronics">
Nothing Special   »   [go: up one dir, main page]

Arduino C3 Senales Analogicas

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 20

FACULTAD DE INGENIERÍA Y ARQUITECTURA

CARRERA DE INGENIERÍA INDUSTRIAL

Clase 3: Señales Analógicas en Arduino

¿Qué es una señal Analógica?

Las señales analógicas son señales continuas, es decir, es una señal que varía en el
tiempo y cuya cantidad (por ejemplo, corriente, voltaje, potencia) varía con el tiempo.
Si se observa el gráfico de una señal analógica, se verá que es un gráfico continuo que
tiene un valor definido en cada caso de tiempo.

La mayoría de las señales que representan una magnitud física (temperatura,


luminosidad, humedad, etc.) son señales analógicas.

Pines analógicos en Arduino UNO


Arduino UNO solo dispone 6 pines analógicos de entrada, nominados de A0 hasta A5,
rotuladas como ANALOG IN. Arduino no posee salidas analógicas puras, en algunos
casos se puede utilizar salidas PWM para solucionar la falta de estos. Dispones de 6
salidas de tipo PWM en los pines digitales 3,5,6,9,10 y 11. Estan marcados con el
símbolo ~.
FACULTAD DE INGENIERÍA Y ARQUITECTURA
CARRERA DE INGENIERÍA INDUSTRIAL

¿Qué es una entrada analógica en Arduino?


Una entrada analógica puede tomar cualquier valor dentro de un intervalo –Vcc y +
Vcc. Por ejemplo, una señal analógica de tensión entre 0V y 5V podría valer 2,72V, o
cualquier otro valor con cualquier número de decimales. Por contra, recordemos que
una señal digital de tensión teórica únicamente podía registrar dos valores 0V o 5V.

Las entradas analógicas tienen una resolución de 1024 (10 bits). Si dividimos 5V entre
1024 tenemos que ser capaz de detectar variaciones en el nivel de la señal de entrada
de casi 5 mV.

Conexión de un sensor analógico en Arduino


En la siguiente imagen se puede observar cómo se conecta un sensor analógico en el
PIN A5 del Arduino UNO.

Variedad de Sensores analógicos


Algunos de los sensores analógicos usados en distintas aplicaciones:

 Acelerómetros  Sensores de distancia,


 Sensores calidad del aire proximidad IR y ultrasonidos
 Sensores de temperatura  Sensores de distancia y
 Compas Magnetómetro proximidad inductivos
 Sensores Giroscopios (MEMS)  Sensores de luz y de color
 Sensores inerciales (IMU)  Sensores de sonido
 Sensores médicos  Sensores de presión
 Sensores magnéticos  Sensores de gas
 Sensores de caudal  Sensores de reflexión
 Sensores de nivel de fluido  Sensores de movimiento
 Sensores meteorológicos  Sensores de humedad
 Sensores de corriente  Lectores de Huellas Dactilares
FACULTAD DE INGENIERÍA Y ARQUITECTURA
CARRERA DE INGENIERÍA INDUSTRIAL

Sensor ultrasónico

El sensor HC-SR04 es un módulo que incorpora un par de transductores de ultrasonido


que se utilizan de manera conjunta para determinar la distancia del sensor con un objeto
colocado enfrente de este.

El sensor ultrasónico utiliza un transductor que emite una onda del ultrasonido y el otro
transductor que capta el rebote de dicha onda. El tiempo que tarda la onda sonora en ir y
regresar a un objeto puede utilizarse para conocer la distancia que existe entre el origen
del sonido y el objeto.
FACULTAD DE INGENIERÍA Y ARQUITECTURA
CARRERA DE INGENIERÍA INDUSTRIAL

Sensor de temperatura

El sensor LM35 mide la temperatura de forma lineal generando un voltaje proporcional


al valor de la temperatura y viene calibrado en grados Celsius.

Es un sensor que presenta únicamente 3 pines (VCC, GND y Data), por ello su
conexión es muy sencilla

Para leer la temperatura de estos sensores, solo necesitas leer el voltaje de salida del
sensor con un pin analógico de la placa Arduino y emplear la función analogRead () en
tu sketch y conseguirás lecturas de temperatura con dos puntos decimales.
FACULTAD DE INGENIERÍA Y ARQUITECTURA
CARRERA DE INGENIERÍA INDUSTRIAL

Configurar las entradas analógicas en Arduino IDE


Para configurar las entradas analógicas es de manera muy similar al que vimos para las
entradas digitales. Para este caso realizaremos la lectura mediante AnalogRead() y
almacenamos el valor devuelto para mostrarlo en el Monitor Serial.
FACULTAD DE INGENIERÍA Y ARQUITECTURA
CARRERA DE INGENIERÍA INDUSTRIAL

¿Qué es una salida de tipo PWM en Arduino?

En principio el término PWM proviene del inglés Pulse Width Modulation que
significa modulación por ancho de pulsos. Una señal PWM es una señal digital similar
al tren de pulsos cuadrados que hemos visto antes.

La principal diferencia con el tren de pulsos es que en la señal PWM, es posible variar
el tiempo que la señal se mantiene en estado alto, pero siempre manteniendo el
periodo constante

Vuelvo a repetir, el periodo y la frecuencia son constantes. Lo que varía es el tiempo


que está en estado alto (HIGH) y bajo (LOW).

Para que sirven las salidas de tipo PWM


La capacidad de variar el tiempo en estado alto, es lo que realmente hace que la señal
PWM sea tan útil y práctica por que nos puede servir para:

 Para controlar un servomotor mediante señales pulsantes con diferentes


tiempos en alto.
 Para emular una salida analógica.
FACULTAD DE INGENIERÍA Y ARQUITECTURA
CARRERA DE INGENIERÍA INDUSTRIAL

Como funciona una salida de tipo PWM

El ciclo de trabajo o duty cycle de una señal es de los conceptos más importantes de
una señal PWM. El ciclo de trabajo se representa mediante la letra D y se define como
la razón entre el tiempo en estado alto (TON) y el periodo de la señal (T).

Por lo tanto, el ciclo de trabajo permite controlar el voltaje promedio de la señal es


decir, variar el voltaje de salida.

Por ejemplo podrías cambiar el voltaje de salida de 5V a 3,75V.


FACULTAD DE INGENIERÍA Y ARQUITECTURA
CARRERA DE INGENIERÍA INDUSTRIAL

Configurar las salidas de tipo PWM en Arduino IDE


Para generar una señal PWM con Arduino utilizaremos la función analogWrite()

analogWrite(pin, valor)

pin: Es el pin de Arduino por donde queremos sacar la señal. Tiene que estar marcado
con el símbolo ~.

valor: Es el ciclo de trabajo. Puede tomar valores entre 0 (apagado 0V) y 255
(encendido 5V).

Ejemplo: Vamos a controlar la intensidad de un led conectado al PIN 3.


FACULTAD DE INGENIERÍA Y ARQUITECTURA
CARRERA DE INGENIERÍA INDUSTRIAL

Simulación en tinkercad señales analógicas

Ejercicio 1
Abrimos el tinkercad, seleccionamos la opción circuitos y luego en Crear nuevo
circuito.

2
1

nos dirigimos a lista de componentes con clic, seleccionamos la opción Arduino.

1
2
FACULTAD DE INGENIERÍA Y ARQUITECTURA
CARRERA DE INGENIERÍA INDUSTRIAL

Insertamos la primera opción placa de pruebas con un clic y luego otro sobre el área
de trabajo para soltarlo.

Para empezar, sacaremos dentro de lista de componentes básicos, usaremos un led y


su resistencia
Se realizará la variación de la salida digital con control de PWM
FACULTAD DE INGENIERÍA Y ARQUITECTURA
CARRERA DE INGENIERÍA INDUSTRIAL

Se realiza la conexión como se observa en la imagen desde el pin 11 hacia la


resistencia.
Ingresamos a código y seleccionamos texto 1
2

Copiamos el código
void setup()
{
pinMode(11, OUTPUT);
}
void loop()
{
analogWrite(11, 0);
delay(1000); // Wait for 1000 millisecond(s)
analogWrite(11, 50);
delay(1000); // Wait for 1000 millisecond(s)
analogWrite(11, 100);
delay(1000); // Wait for 1000 millisecond(s)
analogWrite(11, 150);
delay(1000); // Wait for 1000 millisecond(s)
analogWrite(11, 200);
delay(1000); // Wait for 1000 millisecond(s)
analogWrite(11, 255);
delay(1000); // Wait for 1000 millisecond(s)
}
FACULTAD DE INGENIERÍA Y ARQUITECTURA
CARRERA DE INGENIERÍA INDUSTRIAL

Iniciamos la prueba con el botón de iniciar simulación, observemos como varia la


intensidad del led en cada segundo.
1

Link del programa:


FACULTAD DE INGENIERÍA Y ARQUITECTURA
CARRERA DE INGENIERÍA INDUSTRIAL

https://www.tinkercad.com/things/coEHxlRGwFj

Ejercicio 2
Para este ejercicio usaremos un nuevo componente que es el potenciómetro, es una
resistencia variable manualmente será nuestra entrada análoga todos los
componentes lo encontraremos en componentes>>básicos realizaremos las
conexiones correspondientes como se muestra en la imagen.
1
GND
5V
2
Pin 11

A0

Tabla de conexión de Arduino

led pin 13
potenciómetro A0
FACULTAD DE INGENIERÍA Y ARQUITECTURA
CARRERA DE INGENIERÍA INDUSTRIAL

Copiamos el siguiente código


//código de Arduino potenciómetro
int sensorValue = 0;

int outputValue = 0;

void setup()
{
pinMode(A0, INPUT);
pinMode(11, OUTPUT);
Serial.begin(9600);

void loop()
{
sensorValue = analogRead(A0);
outputValue = map(sensorValue, 0, 1023, 0, 255);
analogWrite(11, outputValue);
Serial.print("sensor = ");
Serial.print(sensorValue);
Serial.print("\t output = ");
Serial.println(outputValue);
delay(100);
}
FACULTAD DE INGENIERÍA Y ARQUITECTURA
CARRERA DE INGENIERÍA INDUSTRIAL

Le seleccionamos iniciar simulación, luego daremos clic a monitor en serie para abrir
la ventana donde veremos los datos que se están leyendo del potenciómetro y la
salida del led
Y comenzamos a girar el potenciómetro

1
3

2
FACULTAD DE INGENIERÍA Y ARQUITECTURA
CARRERA DE INGENIERÍA INDUSTRIAL

Al realizar el giro del potenciómetro podemos observar el cambio de la entrada y


nuestra salida, respectivamente.

Link del programa:


https://www.tinkercad.com/things/av7svmYvvR5
FACULTAD DE INGENIERÍA Y ARQUITECTURA
CARRERA DE INGENIERÍA INDUSTRIAL

Ejercicio 3
Para el ejercicio 2 usaremos un sensor de temperatura TMP36 lo encontramos en
componentes todos, para poder tener un breve comentario cambiamos la vista de los
componentes a tipo lista con detalles.

1 2

GND

5V

Pin 11

3
Pin A0

Tabla de conexión del TMP 36


Potencia 5V
Tierra GND
Vout A0
potencia Tierra
Vout
FACULTAD DE INGENIERÍA Y ARQUITECTURA
CARRERA DE INGENIERÍA INDUSTRIAL

Copiamos el código:
void setup()
{
Serial.begin(9600);//Set Baud Rate to 9600 bps
}

void loop()
{
uint16_t val;
double dat;

val=analogRead(A0); //Connect LM35 on Analog 0


dat = (double) val * (5/10.23)-50;
if (dat>=40)
{
digitalWrite(11,HIGH);
delay(3000);
digitalWrite(11,LOW);
delay(500);
}
else
{digitalWrite(11,LOW);
}
Serial.print("Temperatura:"); //Display the temperature on Serial monitor
Serial.print(dat);
Serial.println("C");
delay(500);
}

Leemos el valor del sensor, aplicamos la fórmula para este tipo de sensor TMP36 para
obtener la temperatura en Celsius, controlamos el encendido del led a través del pin
11 si la temperatura supera o es igual a 40° C entonces el Led encenderá.
FACULTAD DE INGENIERÍA Y ARQUITECTURA
CARRERA DE INGENIERÍA INDUSTRIAL

Iniciamos simulación para la demostración del código, el sensor al iniciar simulación


tiene una slider para deslizar y manipular la temperatura virtualmente.

Como observamos a mayor de 40° se enciende el led


FACULTAD DE INGENIERÍA Y ARQUITECTURA
CARRERA DE INGENIERÍA INDUSTRIAL

Link del programa:


https://www.tinkercad.com/things/1iPDPj2wEgq

También podría gustarte