MLE.Sesion 24

Page 1

SESIÓN 24

Leer Monitor serial

OBJETIVO DE LA SESIÓN

Conocerás la página oficial de Arduino para saber cómo funcionan algunos comandos de programación. Comprenderás la funcionalidad de los comandos: Serial. available(); para validar que el monitor serial esté recibiendo datos y Serial.read(); para captar información desde el Monitor Serial.

Actividad 1. Arduino Reference

MATERIALES PARA TRABAJAR DURANTE LA SESIÓN

> Computadora

> Arduino UNO

> Cable de descarga

> Página Arduino

> LED RGB

> Resistencias 220 Ω

> Lápiz

> Colores

> Reference: https://www.arduino.cc/reference/en/

Abre la página oficial de Arduino reference y completa la tabla con lo que se solicita.

Comando Descripción (¿Para qué sirve?)

digitalRead();

digitalWrite();

Lee el valor de un pin especificado, ya sea HIGH o LOW.

Ejemplo

int boton = 7; //pulsador conectado al pin 7 void setup(){ Serial.begin(9600); // establece la velocidad de transmisión a 9600 bits por segundo pinMode(boton, INPUT);

}

void loop(){

int valor = digitalRead(boton); // lee el valor del boton

Serial.write(valor); // escribe en el monitor serial el valor del del boton }

int LED = 3; //LED conectado al pin 3 void setup(){ pinMode(LED, OUTPUT);

pinMode();

Escribe un valor de HIGH o LOW a un pin digital.

Configura el pin especificado para comportarse como un pin de salida (OUTPUT) o de entrada (INPUT).

} void loop(){

digitalWrite(LED, HIGH); // enciende el LED }

void setup(){ pinMode(5, OUTPUT); // establece el pin 5 como salida }

void loop(){

digitalWrite(5, HIGH); // enciende el pin 5 delay(1000); // pausa el programa durante 1 segundo

digitalWrite(5, LOW); // apaga el pin 5 delay(1000); // pausa el programa durante 1 segundo }

77 SESIÓN 24

Comando Descripción (¿Para qué sirve?)

random(); Genera números pseudoaleatorios en un intervalo especificado.

Ejemplo

void setup(){

Serial.begin(9600); }

void loop(){

int randomNumber = random(1, 99); // genera un número aleatorio entre el 1 y el 99 y lo almacena en una variable Serial.println(randomNumber); // muestra la variable en el monitor serial } delay();

Pausa el programa durante el tiempo (en milisegundos) especificado como parámetro.

Serial. available();

Obtiene el número de bytes disponibles para leer desde el puerto serial.

Serial.read(); Lee datos seriales entrantes.

int LED = 3; //LED conectado al pin 3 void setup(){ pinMode(LED, OUTPUT);

}

void loop(){ digitalWrite(LED, HIGH); // enciende el LED delay(1000); // pausa eel programa por un segundo (1000 milisegundos) digitalWrite(LED, LOW); }

int data = 0; //datos del monitor serial

void setup(){

Serial.begin(9600); // establece la velocidad de transmisión a 9600 bits por segundo

}

void loop(){

// se ejecuta solo cuando recibe datos del monitor serial.

if(Serial.available>0); { data = Serial.Read(); // lee los datos del monitor serial

Serial.print(“Obtuve: “); Serial.println(data, DEC); // muestra el valor obtenido en formato decimal } }

int data = 0; //datos del monitor serial

void setup(){

Serial.begin(9600); // establece la velocidad de transmisión a 9600 bits por segundo

}

void loop(){

// se ejecuta solo cuando recibe datos del monitor serial.

if(Serial.available>0); { data = Serial.Read(); // lee los datos del monitor serial

Serial.print(“Obtuve: “); Serial.println(data, DEC); // muestra el valor obtenido en formato decimal } }

78
SESIÓN 24

Comando Descripción (¿Para qué sirve?)

Serial.write();

loop();

Escribe datos binarios en el puerto serial. Los datos se envían como bytes o series de bytes.

Ejemplo

void setup() { Serial.begin(9600); }

void loop() { Serial.write(45); // envía un byte con valor de 45

int bytesSent = Serial.write(“hola”); //manda el string “hola” y devuelve la longitud del string }

int LED = 5; void setup(){ pinMode(LED, OUTPUT); }

void loop(){

Realiza un bucle consecutivo que permite que el programa cambie y responda.

// el LED encenderá un segundo, se apagará 1 segundo y volverá a encender durante 1 segundo, todo esto en un bucle que se repite consecutivamente

digitalWrite(LED HIGH); // enciende el LED delay(1000); // pausa el programa durante 1 segundo

digitalWrite(LED, HIGH); // apaga el LED delay(1000); // pausa el programa durante 1 segundo }

int boton = 3; // conexión de un pulsador al pin 3 de Arduino

setup();

if(){ }

#define (define);

Se escribe cuando inicias un sketch. Sirve para inicializar variables, pin modes, empezar a usar librerías, etc. En otras palabras, inicializa y establece los valores iniciales en el programa.

Verifica una condición y ejecuta una declaración o serie de declaraciones si la condición se cumple (es verdadera).

Permite darle un nombre a un valor constante antes de que el programa se compile.

void setup(); Serial.begin(9600); pinMode(boton, INPUT); // se establece como un pin de entrada

void loop(){ // ... }

if (x < 100){ digitalWrite(LED, HIGH); }

#define LED 3 // el programa escribirá el valor 3 cada vez que se haga mención de LED

79
SESIÓN 24

Actividad 2. Reto de programación

Realiza un diagrama de flujo de un programa en Arduino, el cual deberá encender y apagar un led y un buzzer cuando se haya enviado por el monitor serial una palabra secreta, por ejemplo, pide a tus compañeros y compañeras que adivinen tu color favorito y lo ingresen por el monitor serial, en el caso de que lo adivinen se encenderán el led y el buzzer.

Recuerda que el diagrama de flujo expresa la lógica de programación, este diagrama debe ser capaz de pasarse al lenguaje de programación de Arduino sin ambigüedad.

Posteriormente reflexiona y comparte con el grupo dónde podrías utilizar esta programación en la vida cotidiana.

Inicio

Declarar las constantes para los pines del led y del buzzer

Declarar una variable que contenga la palabra secreta

Asignar los pines del led y del buzzer como salidas digitales

Establecer la velocidad de transmisión serial a 9600 bits por segundo

Mostrar en el monitor serial el mensaje “Adivina mi color favorito: ”

Leer la respuesta y almacenarla en una variable

Mostrar en el monitor serial “Inténtalo de nuevo.”

Fin

Encender el led y el buzzer

NO

SI

Si la respuesta es igual a la palabra secreta

80 SESIÓN 24

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.