Sie sind auf Seite 1von 10

Universidad de Santiago de Chile

Facultad de Ingeniera
Departamento de Ingeniera Elctrica

Pre-informe de Laboratorio N5: Arduino I

Profesor: lvaro Daz


Alumno: David Valenzuela

1.1 Completar la siguiente tabla con respecto a la arquitectura externa de la tarjeta


Arduino Leonardo:

Microcontrolador que utiliza la tarjeta Atmega32U4


Arduino Leonardo
Cantidad de pines para E/S 20
Cantidad de pines entradas anlogas 6
Cantidad de pines PWM 7
Voltajes de alimentacin que soporta 7 V a 12V
Tipos de puertos de comunicacin Conector de alimentacin (1), conector
USB (2), botn de RESET (3), conector de
10 pines (4), 2 conectores de 8 pines (5a y
5b) y 2 conectores de 6 pines:
uno macho (6) y otro hembra(7))

1.2 Responda las siguientes preguntas en relacin a la plataforma Arduino:

1.2.1 Cules son las principales caractersticas del lenguaje de programacin para
Arduino?

La plataforma Arduino se programa mediante el uso de un lenguaje propio basado en el


lenguaje de programacin de alto nivel Processing que es similar a C++. Pero,
especficamente Arduino est basado en C, lo que significa que soporta todas las
funciones del estndar C y algunas de C++

1.2.2 Explique para qu se utilizan las funciones setup() y loop()

La funcin setup se usa generalmente para definir la configuracin de los pines o


iniciar bibliotecas.
La funcin loop es una funcin que se repite en forma indefinida

1.2.3 Qu es un diagrama de flujo y para que puede ser utilizado en programacin?

Un diagrama de flujo es una representacin grfica de un algoritmo. Este ltimo, es un


conjunto de instrucciones ordenadas que permiten realizar una actividad o tarea
mediante pasos sucesivos. En programacin, un diagrama de flujo permite dividir el
problema en unidades lgicas autocontenidas y efectuar cambios y modificaciones antes
de escribir el programa.
2. Planteamiento de problemas

Disear el diagrama de flujo y los programas respectivos en lenguaje Arduino que


permita resolver los siguientes problemas.

2.1 Encender y apagar el LED conectado al pin13 con un retardo de 1 segundo.

Diagrama de flujo:
Programa:

//Ejercicio 1. Led

const int LED = 13; // Led conectado al pin 13

void setup()

{
pinMode(LED, OUTPUT); //Pin 13 es salida
}

void loop()

{
digitalWrite(LED, HIGH); //Encender LED
delay(1000); //Retardo de 1 segundo
digitalWrite(LED, LOW); //Apagar LED
delay(1000); //Retardo de 1 segundo
}
2.1a Modifique el programa para que el encendido y apagado se inicie al presionar un
pulsador conectado al pin 7.

Diagrama de Flujo

Programa:

//Ejercicio 2.1.a. Led

const int LED = 13; // Led conectado al pin 13


const int BOTON = 7; // Botn conectado al pin 7
int val = 0; // variable entera para guardar el valor de entrada 7
int LEDVAL=0; // variable entera para guardar el estado del LED
void setup()

{
pinMode(LED, OUTPUT); //Pin 13 es salida
pinMode(BOTON, INPUT); //Pin 7 es entrada
}

void loop()

{
val = digitalRead(BOTON)
LEDVAL = digitalRead(LED)

if (val==HIGH)
{

if (LEDVAL==HIGH)
{digitalWrite(LED, LOW);} //Apagar LED
else
{digitalWrite(LED, HIGH);} //Encender LED

}
}

2.2 Implementar un contador creciente de 0 a 9 con un display de 7 segmentos.

Implementaremos la tabla de verdad para nodo comn:


Diagrama de flujo:

Programa:

//Contador con 7 segmentos

void setup()

{
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);

void loop()

{
digitalWrite(8, HIGH);
delay(1000);
digitalWrite(2, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
delay(1000);
digitalWrite(2, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(8, LOW);
digitalWrite(4, HIGH);
delay(1000);
digitalWrite(4, LOW);
digitalWrite(6, HIGH);
delay(1000);
digitalWrite(7, LOW);
digitalWrite(2, HIGH);
digitalWrite(5, HIGH);
delay(1000);
digitalWrite(2, LOW);
digitalWrite(5, LOW);
digitalWrite(3, HIGH);
delay(1000);
digitalWrite(6, LOW);
delay(1000);
digitalWrite(3, LOW);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
delay(1000);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
delay(1000);
digitalWrite(6, HIGH);
delay(1000);

2.2 Semforo:

a) Luz Roja tiempo encendida 20 Segundos


b) Luz Amarilla tiempo encendida 5 segundos
c) Luz Verde tiempo encendida 20 segundos

Diagrama de flujo
Programa:

//Ejercicio 1. Led

void setup()

{
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
}

void loop()

{
digitalWrite(13, HIGH); //Encender luz roja
delay(20000); //Retardo de 20 segundos
digitalWrite(13, LOW); //Apagar luz roja
digitalWrite(12, HIGH); //Encender luz amarilla
delay(5000); //Retardo de 5 segundo
digitalWrite(12,LOW); //Apagar luz amarilla
digitalWrite(11, HIGH); //Encender luz verde
delay(20000); //Retardo de 20 segundos
digitalWrite(11, LOW); //Apagar luz verde

Das könnte Ihnen auch gefallen