ARDUINO 3º ESO

 Profesora: Esperanza Marqués

  • Septiembre // Febrero: 
  1. Elementos básicos del kit de Arduino.
  2. Funcionamiento de la protoboard.
  3. Prácticas iniciales protoboard y placa de Arduino.
  4. El software de Arduino. 
  • Octubre // Marzo:
  1. Código Arduino (partes principales + condicionales sencillas).
  2. Práctica 1. "Luces de una nave". 
  • Noviembre // Marzo:
  1.  Práctica 2. "Semáforo sencillo" - "Semáforo con peatones".
  2. Práctica 3. "Tipos de resistencias. Códigos de colores."
  3. Práctica 4. "Teclado musical". 
    • Descripción, esquema eléctrico, lista de materiales y código explicado. AQUÍ.
    • Descargar código AQUÍ.
  4. Entrega cuadernos primera evaluación.
  • Diciembre // Abril:
  1. Práctica 5. "Medidor de amor". Sensor de temperatura.
      2. Práctica 6. "Theremin controlado por luz". Sensor de luz. (2ª EVALUACIÓN)
  • Enero // Mayo:
       1. Práctica 7. Detector de luz. Sensor de luz. (2ª EVALUACIÓN)
http://www.practicasconarduino.com/manualrapido/detector_de_luz.html
IMPORTANTE: EN LA DESCRIPCIÓN DE LA PRÁCTICA DEBERÁ APARECER CÓMO SE ACCEDE AL "MONITOR SERIE" DEL SOFTWARE DE ARDUINO, EL CUAL SE HA UTIKLIZADO EN ESTA PRÁCTICA.

       2. Práctica 8. Funcionamiento de un servomotor. (2ª EVALUACIÓN) 

IMPORTANTE: En la descripción, además de lo habitual,  deberá aparecer:
1. Qué es un servomotor o servo.
2. Qué puede hacer un servo.
3. Cuál es su ángulo de giro.
4. Cómo se conexiona un servo con la placa de Arduino Uno.
5. Cómo se programaría un servo desde el entorno de Arduino (uso de la "librería").

      3. Práctica 9 (Semana viaje a la nieve). Realiza alguna modificación sobre el programa que realizamos en la sesión anterior (práctica 8). Por ejemplo, respecto a los ángulos de giro. A continuación verifica que funciona correctamente y copia el programa realizado en tu cuaderno, explicando cada una de las instrucciones planteadas.

      4. Práctica 10. Display LCD 1602 con controlador. (2ª EVALUACIÓN)

En esta práctica aprenderemos a utilizar el Módulo adaptador de LCD a I2C y de esa forma poder controlar nuestro LCD Alfanumérico con solo dos pines de nuestro Arduino.
  • Esquema de montaje: 
Tutorial LCD con I2C, controla un LCD con solo dos pines


  • Conexiones entre Arduino y Módulo adaptador LCD a I2C:
conexion adaptador LCD a I2C
Para conectar con el modulo con el Arduino solo utilizamos los pines I2C del Arduino (SDA y SCL) y alimentación (GND y 5V), los pines I2C varían de acuerdo al modelo de Arduino con el que trabajemos. En nuestro caso:

           Adaptador LCD a I2C               Placa Arduino UNO

            GND                                                      GND

            VCC                                                       5V

            SDA                                                        A4

            SCL                                                        A5

  • Librería LiquidCrystal_I2C para Arduino

Nosotros usaremos la librería LiquidCrystal_I2C.
Las funciones que utiliza esta librería son similares a la librería LiquidCrystal de Arduino, revisaremos las funciones principales:

LiquidCrystal_I2C(lcd_Addr, lcd_cols, lcd_rows)

Función constructor, crea un objeto de la clase LiquidCrystal_I2C, con dirección, columnas y filas indicadas.

init()

Inicializa el modulo adaptador LCD a I2C, esta función internamente configura e inicializa el I2C y el LCD.

clear()

Borra la pantalla LCD y posiciona el cursor en la esquina superior izquierda (posición (0,0)).

setCursor(col, row)

Posiciona el cursor del LCD en la posición indicada por col y row(x,y); es decir, establecer la ubicación en la que se mostrará posteriormente texto escrito para la pantalla LCD.

print()

Escribe un texto o mensaje en el LCD, su uso es similar a un Serial.print

scrollDisplayLeft()

Se desplaza el contenido de la pantalla (texto y el cursor) un espacio hacia la izquierda.

scrollDisplayRight()

Se desplaza el contenido de la pantalla (texto y el cursor) un espacio a la derecha.

backlight();

Enciende la Luz del Fondo del LCD

noBacklight();

Apaga la Luz del Fondo del LCD

createChar (num, datos)

Crea un carácter personalizado para su uso en la pantalla LCD. Se admiten hasta ocho caracteres de 5x8 píxeles (numeradas del 0 al 7). Dónde: num es el número de carácter y datos es una matriz que contienen los pixeles del carácter. Se verá un ejemplo de esto más adelante.
  • EJERCICIO 1: "Hola mundo" con Arduino y LCD

Mostraremos  texto y un valor numérico en el LCD, para esto cargamos el siguiente sketch:
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

//Crear el objeto lcd  dirección  0x3F y 16 columnas x 2 filas
LiquidCrystal_I2C lcd(0x3F,16,2);  //

void setup() {
  // Inicializar el LCD
  lcd.init();
  
  //Encender la luz de fondo.
  lcd.backlight();
  
  // Escribimos el Mensaje en el LCD.
  lcd.print("Hola Mundo");
}

void loop() {
   // Ubicamos el cursor en la primera posición(columna:0) de la segunda línea(fila:1)
  lcd.setCursor(0, 1);
   // Escribimos el número de segundos trascurridos
  lcd.print(millis()/1000);
  lcd.print(" Segundos");
  delay(100);
}
Después de cargar, en su LCD deben obtener el siguiente resultado:

Hola mundo con LCD I2C
  • EJERCICIO 2: Desplazando el texto en el LCD
En este ejemplo para desplazar el texto usaremos la función scrollDisplayLeft(). El código es el siguiente:
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

//Crear el objeto lcd  dirección  0x3F y 16 columnas x 2 filas
LiquidCrystal_I2C lcd(0x3F,16,2);  //

void setup() {
  // Inicializar el LCD
  lcd.init();
  
  //Encender la luz de fondo.
  lcd.backlight();
  
  // Escribimos el Mensaje en el LCD en una posición  central.
  lcd.setCursor(10, 0);
  lcd.print("WWW.NAYLAMPMECHATRONICS.COM");
  lcd.setCursor(4, 1);
  lcd.print("Tutorial LCD, Test de desplazamiento  ");
}

void loop() {
  //desplazamos una posición a la izquierda
  lcd.scrollDisplayLeft(); 
  delay(500);
}

El resultado será el texto desplazándose de derecha a izquierda.
desplazamiento de texto con LCD I2C
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Bibliografía / Webgrafía: