Anda di halaman 1dari 32

CURSO TALLER

ARDUINO BSICO
Carlos Prez
www.TecBolivia.com
2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

SHIELDS ARDUINO
Curso Taller Arduino Bsico
2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

SHIELDS
Las placas Shield son tarjetas

que expanden el hardware del


Arduino
Existen diferentes tipos de
Shields, cada uno de ellos se usa
de una manera diferente.
Estos se colocan directamente
sobre el Arduino.
Se pueden seguir utilizando
aquellos puertos que el Shield
no utiliza.
2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

PANTALLA LCD 16X2


Curso Taller Arduino Bsico
2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

PANTALLA DE CRISTAL LQUIDO


LCD (Liquid Crystal Display)
Utiliza una sustancia lquida atrapada entre 2 placas de vidrio,

haciendo que al aplicar una corriente elctrica a una zona


especfica, esta se vuelva opaca y contraste con la
iluminacin trasera

2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

PANTALLA DE CRISTAL LQUIDO


Algunos tiene backlight (luz de fondo), que puede ser

fluorescente o LED.
Vienen en una gran cantidad de configuraciones distintas,

8x1 (1 fila, 8 caracteres), 16x4, 20x4

2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

PINOUT

2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

PINOUT
Pin 1: GND
Pin 2: VCC (3.3 o 5V)
Pin 3: Ajuste de contraste. Se conecta a un potencimetro.
Pin 4: RS (seleccin de registro: RS=0 registro de

instruccin, RS=1 registro de datos).

Pin 5: RW (Registro de lectura/escritura: RW=0 escritura,

RW=1 lectura).

2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

PINOUT
Pin 6: Enable. Habilita o deshabilita el LCD..
Pin 7 Pin 14: Bus de datos del LCD
Pin 15 Pin16: nodo y Ctodo del led de Backlight.

2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

ARDUINO CON LCD 16X2

2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

10

ARDUINO SHIELD CON LCD 16X2 Y TECLADO

2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

11

ARDUINO SHIELD CON LCD 16X2 Y TECLADO

2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

12

ARDUINO SHIELD CON LCD 16X2 Y TECLADO


Los botones del teclado en el

Arduino estn conectados de


manera que puedan variar el
valor del ADC
Los valores del ADC son:
< 50 para RIGHT
< 195 para UP
< 380 para DOWN
< 555 para LEFT
< 790 para SELECT

2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

13

ARDUINO SHIELD CON LCD 16X2 Y TECLADO


La siguiente funcin devuelve un nmero de acuerdo al botn que ha sido

presionado.

int botonPresionado() {
int lectura = analogRead(0);
if (lectura < 50)

return RIGHT;

if (lectura < 195)

return UP;

if (lectura < 380)

return DOWN;

if (lectura < 555)

return LEFT;

if (lectura < 790)

return SELECT;

if (lectura > 1000 || lectura < 0) return NONE;


}
2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

14

LIBRERA LIQUIDCRYSTAL
LiquidCrystal(): Asocia los pines de control de una pantalla LCD

LiquidCrystal lcd(rs, enable, d4, d5, d6, d7)

LiquidCrystal lcd(rs, rw, enable, d4, d5, d6, d7)

LiquidCrystal lcd(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7)

LiquidCrystal lcd(rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7)

En el caso del Shield de Arduino directamente se utiliza la lnea:


LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

15

LIBRERA LIQUIDCRYSTAL
begin(): Determina las dimensiones del LCD
lcd.begin(columnas, filas)

clear(): Lmpia la pantalla y fija el cursor en la posicin (0,0)


lcd.clear()

home(): Fija el cursor en la posicin (0,0)


lcd.home()

setCursor(): Fija la posicin del cursor


lcd.setCursor(columnas, filas)
2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

16

LIBRERA LIQUIDCRYSTAL
write(): Escribe un caracter (char) en el display

lcd.write(data)

print(): Imprime un texto en pantalla

lcd.print(data)

cursor() y noCursor(): Muestra y quita el cursor como una lnea subrayada

lcd.cursor()

lcd.noCursor()

blink() y noBlink(): Muestra el cursor parpadeante

lcd.blink()

lcd.noBlink()

2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

17

LIBRERA LIQUIDCRYSTAL
display() y noDisplay(): Activa y desactiva el display

lcd.display()

lcd.noDisplay()

scrollDisplayLeft() y scrollDisplayRight(): Desplazar el texto un caracter


autoscroll() y noAutoscroll(): Inicia y detiene el desplazamiento automtico.
leftToRight() y rightToLeft(): Direccin de escritura, por defecto izq. a der.

2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

18

LIBRERA LIQUIDCRYSTAL
createChar(): Crea un caracter personalizado de 5x8 pixeles con un nmero

asignado de 0 a 7, que se especifica en la funcin write().

lcd.createChar(num, data)
byte armsDown[8] = {
0b00100,
0b01010,
0b00100,
0b00100,
0b01110,
0b10101,
0b00100,
0b01010
};

El siguiente enlace tiene un programa que genera caracteres para el Arduino:

http://gotencool.com/lcdchar/

2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

19

PREGUNTAS
CURSO TALLER ARDUINO BSICO

2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

20

TECLADO MATRICIAL
Curso Taller Arduino Bsico
2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

21

TECLADO MATRICIAL
Su disposicin en forma de matriz facilita el uso de cada tecla.
La cantidad de pines depende del nmero de filas y columnas.

2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM

TECLADO MATRICIAL: 3X4 & 4X4

2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM

LIBRERA KEYPAD
La librera keypad se puede descargar del siguiente enlace:

playground.arduino.cc/code/Keypad
La carpeta de la librera debe ser instalada en la direccin

donde se instal el IDE de Arduino:


..\Arduino\libraries\

2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM

MATRIZ
Se puede crear arrays de ms dimensiones (matrices).
En una matriz cuadrada es un array en otro array donde se

declara primero la fila luego la columna:

char letras[2][3] = {{'a','b','c'}, {'d','e','f'}};


Esto es:
=

El acceso a la matriz es el mismo que el acceso al array.

2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM

OBJETO KEYPAD
const byte ROWS = 4;

// Nmero de filas

const byte COLS = 4;

// Nmero de columnas

char hexaKeys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {9, 8, 7, 6};

// 1ra 2da 3ra 4ta filas

byte colPins[COLS] = {5, 4, 3, 2};

// 1ra 2da 3ra 4ta columnas

Keypad customKeypad = Keypad(makeKeymap(hexaKeys),rowPins,colPins,ROWS,COLS);


2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM

LIBRERA KEYPAD
char getKey():
Devuelve el valor tipo caracter de la tecla presionada,

definida en la matriz del objeto de tipo keypad


char hexaKeys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM

CIRCUITO KEYPAD

2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM

CUSTOM KEYPAD
#include <Keypad.h>
int num;

// Variable para guardar el caracter convertido en nmero entero

const byte ROWS = 4;

// Nmero de filas

const byte COLS = 3;

// Nmero de columnas

char hexaKeys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {8, 7, 6, 5};
byte colPins[COLS] = {4, 3, 2};

// Pines de entrada filas


// Pines de entrada columnas

Keypad customKeypad = Keypad(makeKeymap(hexaKeys),rowPins,colPins,ROWS,COLS);


2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM

CUSTOM KEYPAD
void setup(){
Serial.begin(9600);
}
void loop(){
char customKey = customKeypad.getKey();
num = customKey '0';
if (customKey){

// Caracter en entero

// Si hay caracter se imprime

Serial.println(customKey);
}
}
2014 RAL LVAREZ TORRICO - WWW.TECBOLIVIA.COM

PREGUNTAS
CURSO TALLER ARDUINO BSICO

2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

31

NOTA
Los materiales grficos distribuidos en el Curso de Robtica Educativa

son para uso exclusivo de los alumnos, queda terminantemente


prohibido copiar el material a terceros o publicarlos por cualquier
medio visual incluyendo la Internet. Queda tambin terminantemente
prohibido el uso de los materiales en otros cursos y talleres no
relacionados con TecBolivia.com bajo pena de no ser aceptados
nuevamente en futuros talleres y cursos organizados por TecBolivia.com

2016 WWW.TECBOLIVIA.COM

jueves, 25 de Febrero de 2016

32

Anda mungkin juga menyukai