clase 8 - unrobotica

Download Report

Transcript clase 8 - unrobotica

MODULOS LCD
Un LCD (Liquid Crystal Display), pantalla de cristal líquido, es una de las herramientas
mayormente utilizadas para desplegar algún tipo de información, así tenemos por
ejemplo, en las cabinas telefónicas, para visualizar el costo de la llamada que se esta
realizando. Así tambien pueden ser utilizados en informatica, comunicaciones,
instrumentación, robótica, automóviles, equipos industriales, etc. Tienen un consumo de
energía de 5mA
En el mercado existen gran variedad de modulos LCD, los que permiten realizar gráficos,
los alfanuméricos 16*2, 16*4, 8*2, con y sin backlight (color de fondo que posee el LCD,
entre ellos se encuentra el azul, amarillo, blanco, naranja, rojo). El utilizar una pantalla LCD
sin backlight nos permite ahorrar energia y consumo de corriente, si así lo deseamos.
El LCD dispone de una matriz de leds de 7*5, permitiendo formar cualquier letra que se le
asigne desde el microcontrolador. En total se pueden representar 256 caracteres
diferentes, 240 caracteres estan grabados dentro del LCD y representan las letras
mayúsculas, minúsculas, signos de puntuación, números... existen 8 caracteres que
pueden ser definidos por el usuario.
LCD alfanumérico 16*2, este tipo de LCD permite visualizar datos de hasta 16 caracteres
por dos líneas.
LCD alfanumérico 8*2, permite visualizar 8 caracteres por dos lineas, es lo unico que lo
diferencia del anterior.
Los LCD constan de 14 pines, para realizar el manejo o el control del módulo y 2 pines
adicionales para controlar el backlight que posee, en los LCDs que no poseen luz de fondo
solo poseen 14 pines que sirven para el control. Observe la siguiente tabla de descripción
de pines:
Los bits que permiten controlar el LCD son 8, lo cual representa una gran velocidad en
visualización de datos. Pero una desventaja es que debemos conectar varios pines a
nuestro sistema, y ocupar todo un puerto completo para transmisión de los mismos. Por
esta razón los fabricantes de LCDs, permiten al usuario trabajar solamente con 4 bits para
transmisión de datos, lo que significa que se enviarán grupos de 4 bits, primero los mas
altos y luego los más bajos, la velocidad de transmisión sería menor pero no representaria
problemas porque el LCD trabaja en el orden de microsegundos.
CONEXIÓN A LA TARJETA FRDM-KL25Z
// Hello World! for the TextLCD
#include "mbed.h"
#include "TextLCD.h"
TextLCD lcd(p15, p16, p17, p18, p19, p20); // rs, e, d4d7
int main() {
lcd.printf("Hello World!\n");
}
EJEMPLO
CONVERSION ANALOGA DIGITAL
Conversor Analógico-Digital (A/D)
Un conversor analógico-digital es un dispositivo electrónico capaz de convertir una señal
analógica en un valor binario, en otras palabras, este se encarga de transformar señales
análógicas a digitales (0's y 1's).
El dispositivo establece una relación entre su entrada (señal analógica) y su salida (Digital)
dependiendo de su resolución . La resolución determina la precisión con la que se
reproduce la señal original.
Esta resolución se pude saber, siempre y cuando conozcamos el valor máximo de la
entrada a convertir y la cantidad máxima de la salida en dígitos binarios.
Resolución = +Vref/2^n(n-bits)
Por ejemplo, un conversor A/D de 8-bits puede convertir valores que van desde 0V hasta
el voltage de referencia (Vref) y su resolución será de:
Resolución = Vref/256 (2^8)
Lo que quiere decir que mapeará los valores de voltage de entrada, entre 0 y Vref voltios,
a valores enteros comprendidos entre 0 y 255 (2^n-1).
CONVERSION A/D CON LA FRDM-KL25Z
DOS FORMAS
CONVERSOR INTERNO
CONVERSOR EXTERNO QUE USTED PONE VER LIBRO DE COCINA
INTERNO
EJEMPLOS
VER LIBRO DE COCINA
PWM MODULACION ANCHO DE PULSO
ALGUNOS COMANDOS
Descripción del Producto
La tarjeta Freescale FRDM-KL25Z es una plataforma de desarrollo de bajo costo integrado
por la familia de procesadores Kinetis L Series KL1x y KL2x basado en el procesador ARM®
Cortex™-M0+. Las características incluyen fácil acceso a los puertos I / O del procesador, el
funcionamiento a baja energía permite el uso de baterías. Su construcción facilita el uso de
interfaces para su expansión y posee además una interfaz integrada de depuración para la
programación de la flash y de control de gestión. La tarjeta Freescale FRDM-KL25Z es
compatible con una amplia gama de software de desarrollo de Freescale y de terceros.
Los clientes también pueden utilizar mbed.org sin costo alguno, con pleno acceso al SDK
en línea, herramientas, código reutilizable – lo que significa que no hay descargas,
instalaciones o licencias – y una comunidad activa de desarrolladores.
Características
Procesador MKL25Z128VLK4 MCU – 48 MHz, 128 KB flash, 16 KB SRAM, USB OTG (FS),
80LQFP
Conector mini USB tipo B con función de USB-host.
Open SDA.
Sensor capacitivo integrado.
Acelerómetro MMA8451Q integrado.
LED RGB integrado.
Opciones de alimentación flexibles – USB, batería, fuente externa.
Fácil acceso a los puertos I / O del procesador a través de los conectores compatibles con
el Arduino UNO R3.
Interfaz de depuración programable OpenSDA con múltiples aplicaciones disponibles,
incluyendo:
Interfaz de programación de la flash del dispositivo de almacenamiento masivo.
Interfaz de depuración P & E que provee control de ejecución de depuración y
compatibilidad con herramientas IDE.
Interfaz CMSIS-DAP.
Aplicación de registro de datos.
Mbed compatible.
Features:
32-bit Freescale KL25Z Kinetis KL2 MCU (MKL25Z128VLK4)
128 KB Flash memory
16 KB SRAM
Up to 48 MHz operation
USB full-speed controller
2 x SPI, 2 x I2C, 3 x UART, 6 x PWM, 6 x ADC, Touch Sensor, GPIO
FRDM-KL25Z Onboard peripherals
Freescale MMA8451Q 3-axis accelerometer
PWM Controlled RGB LED
Capacitive touch slider sensor
Size: 81mm x 53mm
5V USB or 4.5-9V supply
OpenSDA sophisticated USB debug interface
Built-in USB drag 'n' drop FLASH programmer
Expansion IO compatible with the Arduino Uno R3 form factor
Power from either on-board USB connector
BUS I2C
El I2C (Inter Integrated Circuits) es un bus de comunicaciones serial síncrono de dos
líneas que fue originalmente desarrollado por Philips Semiconductors (ahora nxp
semiconductors) desde los inicios de los ‘80. Hoy es un estándar aceptado y
respaldado por los fabricantes de dispositivos semiconductores.
El bus I2C permite la comunicación entre múltiples dispositivos (en teoría más de
1000), todos conectados paralelamente a las dos líneas. Las transferencias de datos
siempre se realizan entre dos dispositivos a la vez y en una relación maestro –
esclavo.
Los dispositivos maestros son normalmente los microcontroladores y los dispositivos
esclavos pueden ser memorias, conversores DAC y ADC, controladores de LCD,
sensores de todos los tipos, etc.
Ahora bien, para que todos los dispositivos se puedan comunicar sin entorpecerse
unos y otros, sin que haya pérdidas o colisiones en las transferencias de datos, sin
que los dispositivos rápidos se desentiendan de los dispositivos lentos, etc., se deben
de seguir ciertas reglas estándar, cierto protocolo.
Las transferencias de datos se llevan a cabo mediante dos líneas: línea serial de datos
SDA ylínea serial de reloj SCL. Ambas son bidireccionales. SDA se encarga de conducir los
datos entre el dispositivo maestro y los esclavos. SCL es la señal de reloj que sincroniza los
datos que viajan por la línea SDA.
El dispositivo maestro (microcontrolador) es quien siempre tiene la iniciativa de la
comunicación: el maestro genera la señal de reloj y controla cuando se transmiten o
reciben los datos.
Puede haber varios esclavos en la red I2C, pero el maestro solo se comunica con uno a la
vez. Por eso cada dispositivo esclavo debe ser identificado por una dirección única.
Descripción de las señales
SCL (System Clock) es la línea de los pulsos de reloj que sincronizan el sistema.
SDA (System Data) es la línea por la que se mueven los datos entre los dispositivos.
GND (Masa) común de la interconección entre todos los dispositivos "enganchados" al
bus.
Las líneas SDA y SCL son del tipo drenaje abierto, es decir, un estado similar al de colector
abierto, pero asociadas a un transistor de efecto de campo (o FET). Se deben polarizar en
estado alto (conectando a la alimentación por medio de resistores "pull-up") lo que define
una estructura de bus que permite conectar en paralelo múltiples entradas y salidas.