Skip to main content

map() – Adaptar señales – Ejemplo con Arduino Nº 13

Con la función map(), podemos adaptar un valor de un rango determinado a otro con un rango diferente, es decir, podemos “escalar” una señal a nuestra conveniencia. En el ejemplo siguiente, vas a adaptar una señal de entrada analógica, que va de 0 a 1023, a una señal también analógica, pero esta vez con un margen de valores que va de 0 a 255. osea que cuando la señal de entrada vale cero la señal de salida también valdrá cero, pero cuando la señal de entrada sea 1023 la señal de salida tomará un valor de 255, y así proporcionalmente para todos los valores intermedios.

Además de todo lo anterior, colocarás un LED en la salida analógica del pin número 9, y utilizarás el monitor serie para ver los valores, tanto el valor de entrada (0-1023), como el valor de salida(0-255).

HARDWARE NECESARIO:

Para realizar este circuito necesitarás:

  • Tarjeta Arduino o Genuino
  • Potenciómetro
  • Led rojo
  • Resistencia de 220 ohmios
  • Protoboard
  • Cables de conexión

CIRCUITO:

Para montar este ejemplo utilizarás cualquiera de los circuitos que ya has utilizado antes, para trabajar con entradas analógicas

CÓDIGO:

En este programa la placa Arduino está constantemente leyendo el valor de la entrada analógica, y mediante la función map(valor, MinimoValorEntrada, MaximoValorEntrada, MinimoValorSalida, MaximoValorSalida), escalaremos el valor de la variable y lo mostraremos en la salida 9.

El programa definitivo queda así:

const int PinEntradaAnalogico=A0;

const int PinSalidaAnalogico=9;

int ValorLeido=0;

int ValorSalida=0;

void setup()

{

Serial.begin(9600);

}

void loop()

{

ValorLeido=analogRead(PinEntradaAnalogico);

ValorSalida=map(ValorLeido,0,1023,0,255);

analogWrite(PinSalidaAnalogico,ValorSalida);

Serial.print(“sensor = “);

Serial.print(ValorLeido);

Serial.print(“\t output = “);

Serial.println(ValorSalida);

delay(2);

}

 

analogRead() – Lectura de entradas analógicas – Ejemplo con Arduino Nº 05

En este ejemplo te enseñare como leer el valor presente en una entrada analógica, mediante la función analogRead(), usando un potenciómetro que simulará una señal proveniente de un sensor.

El potenciómetro es el mecanismo más simple para obtener una señal eléctrica variable. Conectando los dos extremos del potenciómetro a la tensión de alimentación y a masa respectivamente, dispondrás en la patilla común una señal eléctrica variable entre 0 voltios y Vic (Tensión de alimentación), podrás crear un divisor de tensión que simulará la señal eléctrica que te proporcionaría un sensor de cualquier magnitud física.

En este ejemplo, además veremos el valor que nos proporciona el conversor analógico integrado dentro de la placa arduino, a través del monitor del puerto serie.

CIRCUITO ELÉCTRICO

analogreadserial_bb
analogreadserial_bb

Para la realización de este circuito, conectaremos una de las patillas del extremo del potenciómetro a masa (GND) y el otro extremo a 5 voltios (Vcc), la patilla del centro del potenciómetro la conectaremos a la entrada analógica A2.

Cuando el potenciómetro se encuentra en uno de los extremos tendrás en la patilla del centro, O voltios y cuando este girado hasta el otro extremo tendrás 5 voltios en la patilla del medio del potenciómetro.

La placa de Arduino tiene un conversor de Analógico a Digital que te proporciona un valor de 0 cuando en la patilla tienes 0 Voltios y 1023 cuando la tensión en la patilla es de 5 voltios. El valor leído por el conversor analógico a digital (ADC) se lee mediante la función analogRead() que te devuelve un valor entre 0 y 1023, proporcionalmente a la tensión aplicada al pin de entrada analógica.

CÓDIGO

void setup()

{

Serial.begin(9600);

}

void loop()

{

int LecturaDelSensor= analogRead(A2);

Serial.println(LecturaDelSensor);

}

Recuerda abrir el monitor del Puerto serie que se encuentra en la esquina superior derecha del IDE de Arduino.

analogWrite() – Manejo de salidas analógicas – Ejemplo con Arduino Nº 04

En este ejemplo voy a tratar de explicarte cómo funciona la salida analógica de tu placa Arduino, para ello utilizaré la función analogWrite(), una salida con un “falso valor analógico” ya que utiliza una modulación por ancho de pulso para proporcionarnos un valor de tensión analógico (que puede variar entro dos valores sin perder su continuidad).

Así como la función analogRead() puede leer valores que van del 0 al 1023, con la función analogWrite() solamente podrás escribir valores de 0 a 255 en la salida analógica.

Las salidas analógicas son aquellas que tienen el símbolo de la corriente alterna ( ~ ) serigrafiado en su costado.

CIRCUITO:

Para realizar el circuito de este ejemplo conectarás el ánodo del diodo LED al pin de la salida digital 9, a través de una resistencia de 220 ohmios, y la otra patilla del LED, el cátodo la conectarás directamente a masa.

CÓDIGO:

Para comprobar el funcionamiento de esta función utilizaremos una variable Brillo que irá variando su valor de 0 a 255 y de 255 a 0 sucesivamente, con lo que conseguirás que el LED se valla encendiendo y apagando progresivamente, en lugar del ejemplo del parpadeo, en el que el LED se encendía y apagaba en un TODO / NADA, APAGADO / ENCENDIDO.

El programa definitivo quedará de la siguiente manera:

int LED=9;                                           // Asigno a la variable LED el valor 9

int Brillo = 0;                                      // Asigno a la variable Brillo el valor 0

int IncrementoBrillo = 5;               // Asigno a la variable IncrementoBrillo el valor 5

void setup()

{

pinMode( LED, OUTPUT);  // Establezco el pin 9 como salida

}

void loop()

{

analogWrite( LED, Brillo);                // Envío al pin 9 el valor de la variable Brillo

Brillo = Brillo + IncrementoBrilo   // Incremento el Brillo para la próxima iteración

If(Brillo <= 0 || Brillo >= 255)      // Si el brillo llega a su límite superior o inferior

{

IncrementoBrillo = -IncrementoBrillo     // Cambio de incremento a decremento según

}                                                                             // convenga

delay(30);            // Espero 30 milisegundos para poder observar el efecto

}

Con este simple programa podrás observar el efecto de la salida analógica, te invito a utilizar el monitor serie, y la función Serial.println() para poder observar cuantitativamente el valor que enviamos al LED y a hallar la correspondiente función de equivalencia en voltios de los valores de salida.

conexiones

Proyecto con Arduino Nº 07 – Lampara pulsante

Presentación del proyecto

En este proyecto con arduino, vas a aprender a utilizar las salidas analógicas que nos proporciona la placa arduino, para ello vamos a realizar un proyecto donde controlaremos el brillo de un Led, mediante una salida analógica. Recuerda que las salidas analógicas de ardunino, son salidas que utilizan el ancho de pulso para proporcionarte un “falso” valor analógico.

Componentes necesarios

  • 1 Placa protoboard
  • 1 Placa Arduino Uno
  • 1 Led
  • 1 resistencia de 220 Ohmios
  • Cables de conexiónes.

Esquema de conexiones


Esquema eléctrico


Programa

// Proyecto 07 – Lampara pulsante – aprobarfacil.com

int ledPin = 11;

float sinVal;

int ledVal;

void setup()

{

pinMode(ledPin, OUTPUT);

}

void loop()

{

Serial.begin(9600);

for (int x = 0; x < 180; x++)

{

sinVal = (sin(x * (3.1412 / 180))); // Convierte los grados en radianes

ledVal = int(sinVal * 255); // Obtengo el valor del seno

Serial.println(ledVal);

analogWrite(ledPin, ledVal);

delay(25);

}

}

Notas

  • Utiliza cable negro para todas las conexiones a masa (GND).
  • Utiliza cable rojo para todas las conexiones a VCC (5V).
  • No importa los colores que utilices para las demás conexiones.
  • Ten cuidado al conectar los componentes en el protoboard pues puedes dañarlos.
  • Comprueba que conectas el led con la polaridad correcta. (Cátodo a masa).
  • Cuando todo esté correctamente conectado puedes conectar el cable USB.

Observaciones

  • Si el programa funciona correctamente el brillo del Led corresponderá a una función sinusoidal.

Enlace del proyecto en circuits.io

Proyecto con Arduino Nº 07 -Lampara pulsante

El curso 2016 – 2017 ya ha comenzado

El curso 2016 -2017 ya ha comenzado y es hora de ir dejando todos los maravillosos recuerdos del verano y es hora de ponerse a trabajar de nuevo en este apasionante mundo de la educación tecnológica.

Este curso está lleno de nuevos retos, ya que tengo que impartir dos módulos que es la primera vez que me tocan, Circuito Cerrado de Televisión y Sistemas de Seguridad en el Grado Medio para la obtención del Titulo de Técnico en Instalaciones de Telecomunicaciones y Sistemas Informáticos y Redes Locales en Grado Superior y repito con Sistemas de Telefonía Fija y Móvil, también en el Grado Superior para la obtención del Título de Técnico Superior en Sistemas de Telecomunicaciones e informáticos, ambos títulos de la Familia Profesional de Electricidad y Electrónica.

Es un curso lleno de conceptos nuevos para el alumnado y para toda aquella persona que quiera aprender electrónica tanto digital como analógica, si te tienes algo de tiempo también aprenderás a programar Arduino, tanto en el lenguaje de programación C, como con lenguajes visuales tipo Scratch. Y en este curso tengo intención de desarrollar varios proyectos que tengo en preparación con Arduino nivel avanzado.

Arduino es una placa microcontroladora con la que puedes “medir” cualquier señal eléctrica proporcionada por sensores o detectores, la podemos procesar y hacer moverse motores, encender lamparas y un sinfín de ideas más, sin olvidarnos de las altas prestaciones de comunicaciones que tiene este pequeño gigante.sku_297567_1Así que para comenzar el reto con ganas, te he preparado unos vídeos y unas lecciones que te harán el curso muy sencillo y gratuito, este curso de iniciación a la electrónica analógica, que he llamado “ELECTRÓNICA ANALÓGICA – NIVEL 1” donde podrás acercarte, sin miedo, a los conceptos más básicos de la electrónica analógica, el curso es TOTALMENTE GRATIS, para acceder al curso solamente has de acceder al AULA VIRTUAL de aprobarfacil.com.

Una vez dentro del aula virtual, ya puedes acceder al curso mediante la opción de auto matrícula.

Si tienes cualquier problema para acceder, puedes contactar con el administrador de la página web, en info@aprobarfacil.com.

ÚLTIMA HORA:

YA ESTÁ DISPONIBLE EL NIVEL 2 DE ELECTRÓNICA ANALÓGICA.

ACCEDE YA

ES GRATIS Y LO SEGUIRÁ SIENDO.

 

electrónica analógica

Curso GRATIS de Introducción a la Electrónica Analógica

En este Curso de Introducción a la Electrónica Analógica, conocerás todos los conceptos básicos de electrónica que te permitirán comprender como funcionan los circuitos electrónicos, aprenderás el funcionamiento de la corriente continua y de la corriente alterna, aprenderás a transformar, a amplificar, a atenuar, a filtrar y muchas cosas mas….

Este Curso de Introducción a la Electrónica Analógica, tendrá a partir de hoy; MATRÍCULA GRATIS, para facilitar el acceso a todas y todos que queráis introduciros en el apasionante mundo del movimiento de los electrones, si sigues el curso con cierta dedicación, conseguirás dominar la electrónica  analógica sin ninguna dificultad.

Para la matricula tienes dos opciones:

  1. Matriculación donando 1€ – Para el mantenimiento de la Plataforma aprobarfacil.com.
  2. Si quieres acceder gratuitamente al curso debes buscar y encontrar un botón que dice “Matricularme”, haces click en él y ya puedes disfrutar del Curso de Introducción a la Electrónica Analógica.
  3. Clave de Matriculación “aprobarfacil.com”