Individual #1: Marquesina en Display LCD

  • ¿Cuáles son los pasos para subir un programa a la placa Arduino?Herramientas y partes necesarias
  • Para poder llevar a cabo estos proyectos vas a necesitar las siguientes partes:
    • Arduino UNO
    • Protoboard
    • Cables
    • LED (5mm)
    • Botón
    • Resistencia 10k Ohm
    • Resistencia 220 Ohm

    Descargar el software de Arduino

    Ya estamos listos para descargar el software gratuito conocido como IDE. El Arduino IDE nos va a permitir escribir el codigo para decirle a la placa lo que tiene que hacer.
    Para descargar la última versión lo único que tenemos que hacer es entrar en la página de descarga y hacer click en el sistema operativo correspondiente a tu computadora.

    Arduino IDE

    Una vez que el sistema este instalado ya podes abrirlo! Este es el IDE de Arduino y es el lugar donde toda la programación se lleva a cabo.

    1. Botón de Verificación: Compila el código y chequea errores en la sintaxis.
    2. Botón de Cargar: Sube el código a la placa Arduino
    3. Nuevo Sketch: Abre un archivo nuevo vacio.
    4. Abrir Sketch: Permite abrir un archivo de código guardado anteriormente
    5. Guardar Sketch: Nos deja guardar el archivo en el que estamos trabajando
    6. Monitor de Serie: Cuando el Arduino esta conectado nos permite ver la información de la conexion serial.
    7. Area de código: Acá escribimos el código que luego subiremos a la placa
    8. Area de mensaje: Muestra detalles de errores, tamaño del programa compilado e información adicional
    9. Placa y puerto serie: Nos dice que placa estamos usando y en que puerto esta conectada

    Conectar la Arduino a la PC

    Ya es momento de conectar la placa a la computadora para poder subirle los programas. Para esto vamos a conectar el cable USB en la Arduino y la otra punta en el puerto USB de la computadora.
    Una vez que esta conectada, hay que ir a Herramientas, Placa y despues seleccionar Arduino Uno.
    Despues, tenemos que decirle al IDE en que puerto esta conectada la placa.
    Para seleccionar el puerto vamos a Herramientas, Puerto y elegimos la que dice Arduino

    Proyecto 1: Apagar y prender un LED

    Ahora si estamos listos para programar! En este ejemplo vamos a prender y apagar un LED:
    Para esto vamos a necesitar las siguientes partes:
    • Placa Arduino UNO
    • Protoboard
    • Cables
    • Resistencia 220Ohm
    • LED (5mm)
    • Cable USB

    Conectando todo…

    Podes armar el circuito siguiendo la imagen anterior o con las instrucciones escritas aca abajo. En las instrucciones nos referimos a la ubicacion de los componentes con letras y numeros, por ejemplo, si decimos H19 nos referimos a la columna H, fila 19 del protoboard.
    Paso 1: Insertar un cable negro en la boca GND de la placa Arduino y la otra punta en el GND del protoboard (fila 15).
    Paso 2: Ponemos un cable rojo en la boca 13 del Arduino y la otra punta en el F7 del protoboard
    Paso 3: Colocamos la pata LARGA del LED en H7
    Paso 4: Colocamos la pata CORTA del LED en H4
    Paso 5: Doblamos ambas patas de la resistencia de 220Ohm y colocamos una cerca del GND del protoboard y la otra en I4
    Paso 6: Conectamos la placa mediante USB a la computadora.

    Cargamos el software a la placa

    Ahora es momento de subir el sketch (programa) a la placa Arduino para decirle lo que tiene que hacer. El IDE de Arduino nos provee de varios ejemplos basicos que podemos usar con principiantes.
    Vamos a cargar el programa que nos permita prender y apagar el LED. Para eso vamos a ir a Archivo > Ejemplos > Básicos > Blink
    Ahora nos deberia aparecer un sketch ya programado que se parece a la siguiente imagen
    Luego tenemos que apretar el botón Verificar (check) que se encuentra en la parte superior izquierda del IDE. Esto compilatá el codigo y chequeará que no tenga errores. Una vez que diga “Done Compiling” estamos listos para subir el codigo. Apretamos el boton de upload (flecha apuntando a la derecha) y así enviamos el codigo a la placa.
    El LED interno de la placa va a parpadear un par de veces y luego veremos como el LED que conectamos en el protoboard va a empezar a prenderse por un seguno y apagarse por un segundo.
    Felicitaciones!!! Completaste tu primer proyecto! Si tenes algún problema o la luz no hace como en el video volvé para atrás los pasos y chequea que este todo bien conectado! Antes de seguir con el proximo tutorial podemos jugar un poco con el código cambiando los tiempos de espera y ver que pasa! Empezar a modificar el código nos va a ayudar a aprender la programación mas rápidamente.
    Deja la placa conectada y cambiá el tiempo de 1000 milisegundos a 200. Cliquea el botón de verificar y después el de upload. Esto debería hacer que el LED titile mas rápido.
  •  ¿Ha tenido algún inconveniente? si tuve un problema al programar se me hizo difícil pero ya después le pedí ayuda ala miss y lo puede resolver ¿por qué? e solucionó ¿qué se mostró en el display?
  • por que no entendi muy bien los pasos que puso la miss en moodle pero lo pude solucionar ya que le pedí ayuda.
  •  ¿Qué es y para que sirve LiquidCrystal.h?

    EL MÉTODO LiquidCrystal()

    Es el constructor de la clase LyquidCrystal. Permite crear un objeto de esta clase, que se usará para gestionar el dsiplay LCD. Como argumentos recibe una serie de números que se refieren a pines concretos de la placa Arduino, conectados a diferentes pines del display.
    LiquidCrystal MiDisplay (12, 11, 5, 4, 3, 2);
    Los dos primeros números (el 12 y el 11) se refieren a los pines conectado a los puntos RS y E del display. Los cuatro últimos números se refieren a los pines de D4 a D7 del bus de datos del display. En general, esta configuración es la más simple y típica. No obstante, este constructor admite otras listas de argumentos, cómo podemos ver a continuación:
    LiquidCrystal(Rs, E, D4, D5, D6, D7);
    LiquidCrystal(Rs, rw, E, D4, D5, D6, D7);
    LiquidCrystal(Rs, E, D0, D1, D2, D3, D4, D5, D6, D7);
    LiquidCrystal(Rs, rw, E, D0, D1, D2, D3, D4, D5, D6, D7);
    De lo que se trata, como podemos deducir de las líneas de arriba, es que podemos especificar los pines de Arduino que se conectan a distintos terminales del display. En el ejemplo del artículo 12 solo necesitábamos los pines de la primera configuración del constructor. En otros montajes, o con otros modelos de displays, necesitaremos otras configuraciones.
    Esto es lo que, en programación, se conoce cómo sobrecarga de métodos. Es hacer que un método actúe en diferentes formas según el número de argumentos que le pasemos, o el tipo de estos. Así, en el caso que nos ocupa, el método constructor de esta clase nos dará acceso a más o menos pines del display en uso, según el número de argumentos que le pasemos. En sucesivos tutoriales veremos más ejemplos.

    EL MÉTODO begin()

    Como hemos comentado durante la descripción del primer sketch, este método es necesario para inicializar el display. Recibe dos argumentos: el primero es la anchura en caracteres y el segundo la altura (número de filas) del display. También posiciona el cursor en el primer carácter de la primera fila.

    EL MÉTODO clear()

    Limpia el display y posiciona el cursor en el primer carácter de la primera fila.

    EL MÉTODO home()

    Sitúa el cursor en el primer carácter de la primera fila, sin borrar el display.

    EL MÉTODO setCursor()

    Posiciona el cursor en una ubicación específica del display. Recibe dos argumentos. El primero se refiere al carácter de la fila y el segundo a la fila. Ten en cuenta que tanto los caracteres como las filas se empiezan a contar desde 0, no desde 1.

    EL MÉTODO write()

    Escribe una cadena (bien sea un objeto de tipo String o una matriz de caracteres) en el display. Como argumento recibe la cadena a mostrar.

    EL MÉTODO print()

    Actúa de un modo similar a write(), pero con la posibilidad de enviar directamente números enteros al display, en distintas bases de numeración. Para enviar números en distintas bases de numeración se emplea la siguiente sintaxis:
    ObjetoLCD.print(numero, BASE);
    BASE es una constante que puede ser BIN (binario), OCT (octal), DEC (decimal) o HEX (hexadecimal). Podemos ver un ejemplo de uso en el siguiente sketch:
    Y ahora quizá te preguntes por qué no hemos usado este método en los ejemplos del artículo 12. La primera razón es que sólo trabaja con números enteros (int o long), no con números flotantes. Por otro lado, queríamos ver como trabajar con números en el display, tratándolos como cadenas. En realidad, el método print() convierte internamente un valor numérico a una cadena, para que el display pueda mostrarlo.

    LOS MÉTODOS cursor() y noCursor()

    Estos métodos no reciben argumentos. El primero se emplea para que el cursor sea visible en el display como un signo de subrayado. El segundo método hace el cursor invisible (es el estado por defecto).

    LOS MÉTODOS blink() y noBlink()

    Cuando el cursor está visible por haber usado el método cursor(), podemos hacer que aparezca parpadeante usando el método blink(). Si usamos el método noBlink() el cursor no parpadeará.

    LOS MÉTODOS display() y noDisplay()

    Si usamos el método noDisplay() el display se apagará. Podemos reactivarlo con el método display(). Estos métodos no reciben argumentos.

    LOS MÉTODOS autoscroll() y noAutoscroll()

    Cuando se completa el espacio del display destinado a mostrar texto o datos, lo que “sobra” no se verá (aparece truncado). Si activamos el método autoscroll(), el contenido más antiguo se desplazará, desapareciendo por el principio de la línea, para dejar sitio al final de la misma para los nuevos contenidos. Con el método noAutoscroll()restablecemos el comportamiento por defecto.

    LOS MÉTODOS scrollDisplayLeft() y scrollDisplayRight()

    Cuando usamos estos métodos, el contenido se desplaza un carácter a la izquierda o a la derecha. Además, según el que empleemos, si activamos el método autoscroll() los contenidos se desplazarán en el sentido indicado.

    LOS MÉTODOS leftToRight() y rightToLeft()

    Establecen el sentido de la escritura, por si el mensaje se envía en idiomas, como el árabe, que se escriben “al revés” que el nuestro.

    EL MÉTODO createChar()

    El display LCD puede mostrar, por defecto, un conjunto bastante limitado de caracteres. La datasheet del display está en este enlace y contiene, entre otra información, el juego de caracteres que incorpora el display por defecto. La datasheet está en inglés, que es el idioma en el que publican estos documentos la mayoría de los fabricantes. Míralo por el lado bueno. Algunos fabricantes orientales solo publican material en chino, coreano, etc. 🙁
    Por ejemplo, en español, letras como la ñ o las acentuadas no pueden mostrarse directamente, ya que aparecen como guarismos sin significado.
    Con este método podemos crear hasta ocho caracteres adicionales, identificados por números del 0 al 7, para sacar mensajes concretos. Los caracteres se crean a partir de una matriz de cinco puntos de ancho por ocho de alto. Para crear el carácter que desees e implementarlo en tu código, visita: http://gotencool.com/lcdchar/. Esta es una herramienta online muy práctica, que nos permite diseñar un carácter a medida en una matriz de 5 x 8 (que es como se representan los caracteres en los displays LCD), y nos da el código Arduino necesario para implementar el carácter diseñado en nuestro sketch. 
    ¿Cómo se identifica al display LCD dentro del programa?, ¿Cómo se identifican los pines del display conectados al Arduino?, ¿Cuál es la utilidad de las instrucciones begin, clear y print?
  •  La librería LiquidCrystal nos permite crear un objeto que representa al display LCD y que contiene todas las operaciones “de bajo nivel” para que a nosotros nos resulte fácil la programación de este dispositivo. Ahora vamos a conocer los métodos que nos ofrece, para poder usarlos cuando nos haga falta.
  •  ¿Cuál es la utilidad de setCursor?
  • ¿Qué se mostró en el display?
  •  ¿Qué estrategia aplica el programador para causar el efecto marquesina?
  • ¿Qué cambios realizó al código de programación para aumentar la velocidad de la marquesina?
  • Conclusión: ¿cuáles fueron sus logros y dificultades?, ¿cómo las superó?, ¿qué se pregunta? mis logros fue que pude programr 

Comentarios

Entradas más populares de este blog

Etapa de Indagación y Análisis

Normas APA

Buzzer + LED con Arduino