Sunteți pe pagina 1din 7

.

MICROPROCESADORES Y MICROCONTROLADORES
PRCTICAS Y LABORATORIOS
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
CRISTIAN JAVIER JAIME RAMIREZ COD.
1`083.895.920

RESUMEN: Se realiza prctica de laboratorio en


el CEAD Ptitalito Huila, montando los circuitos simulados
mediante la implementacin del Arduino-UNO y los
componentes necesarios para realizar los ejercicios
propuestos en la gua.
PALABRAS CLAVE: Arduino, Led, interruptor,
practica,simulador, compilador, programa, bit, puertos.

1 INTRODUCCION
El propsito de la prctica es demostrar mediante la
implementacin de Arduino, que los ejercicios llevados
inicialmente a un simulador y el cdigo escrito,
funcionan correctamente.

OBJETIVOS

Poner en prctica los temas relacionados en la


primera, segunda y tercera unidad del curso de
microprocesadores y microcontroladores conociendo su
estructura interna y externa, sus modos de
funcionamiento e inicindonos en la programacin en
lenguaje ensamblador como base de la programacin

PRACTICA 1
Encender y apagar un LED: Encendido y
apagado de un LED con intermitencia de
aproximadamente 1 segundo.
Cdigo del programa:

EVIDENCIAS FOTOGRAFICAS

/*
Blin
k
Turns on an LED on for one second,
then
off for one second, repeatedly.
This example code is in
the public domain.
*/
void setup() {
// initialize the digital pin as an output.
// Pin 13 has an LED connected on
most
Arduino boards:
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH); // set the LED
on
delay(1000);
// wait for a
second digitalWrite(13, LOW); //
set the LED off delay(1000);
// wait for a second
}

A continuacin una imagen del pantallazo mientras


se realiza la simulacin, se muestra el programa
cargado en el editor , en la memoria del micro y adems
luego de correr el programa.

A continuacin una imagen del pantallazo mientras


se realiza la simulacin y compilacin del programa.

PRACTICA 1.2.2
Ejercicio 1.2.1: encendido y apagado de un led con
un pulsador.
Cdigo del programa:

EVIDENCIAS PRCTICA
/*

*/

Switch and LED test program

int ledPin = 12; LED is connected to pin 12


int switchPin = 2; switch is connected to pin 2
int val; variable for reading the pin status
void setup() {
pinMode(ledPin, OUTPUT); Set the LED pin as
output
pinMode(switchPin, INPUT); Set the switch pin
as input
}
void loop(){
val = digitalRead(switchPin);
read input value and store it in
val
if (val == LOW) { check if the
button is pressed
digitalWrite(ledPin, HIGH);
delay (100);
digitalWrite(ledPin
, LOW); delay
(100); turn LED on
}
if (val == HIGH) { check if the
button is not pressed
digitalWrite(ledPin, LOW); turn LED off
}
}

PRACTICA 2
Ejercicio 1.2.3: encendido de ocho leds en cinco
secuencias diferentes con una intermitencia de un
segundo.

El programa consiste en que al presionar el


pulsador los leds cambien de secuencia, las
secuencias son las siguientes (1) Leds
Encendidos (0) Leds apagado:
a
)
0
0
0
0
0
0
0
1

0
0
0
0
0
0
.
.
1000000
0
b
)
0
0
0
0
0
0
1111
1
c
)
0
1
0
1
0
1
.
1111
1

111

111

d
)
0
1
1
0
.
.

Cdigo de programa:

int saltar=0; // Variable que indica el


numero de la secuencia a ejecutarse
void
setup() {
pinMode(A0, INPUT); //indicamos el pin
de

entrada

//indicamos

for(int
los

i=2;i<=9;i++){

pines

de

salida

pinMode(i, OUTPUT);
}
}
void
loop() {
if (digitalRead(A0)==HIGH){ //Al
presionar el pulsador saltar++; // Cambia
de secuencia
if (saltar>3){ //Solo hay 4 secuencias 0,1,2
y 3 al ser 3 . . saltar=0; // Vuelve a
secuencia 0

while (digitalRead(A0)==HIGH){} // Mientras se

pulsa no haga nada mas

delay(150);

for(int i=2;

if(saltar==0){ //Si es 1 inicie funcion de

i<=5;i++){

secuencia1 secuencia1();

digitalWrite(i,LO

W);

if(saltar==1){ //Si es 2 inicie funcion de

digitalWrite(k-

secuencia2 secuencia2();

i,HIGH);

if(saltar==2){ //Si es 3 inicie funcion de

delay(150);

secuencia3 secuencia3();

for (int i=9; i>=2; i--){ //Al contrario de la

if(saltar==3){ //Si es 4 inicie funcion de

digitalWrite(i, LOW); // anterior secuencia

secuencia4 secuencia4();

va de 9 a 2 digitalWrite(i-1,HIGH);

delay(50);

void secuencia1(){

for (int i=2; i<=9; i++){ //Pin 2 al 9

void secuencia2(){

digitalWrite(i, HIGH); // Prenda pin

int k=11; // inicializo una variable

actual digitalWrite(i-1,LOW); // Apage

auxiliar K for(int i=6; i<=9;i++){

el Anterior delay(50); // retardo entre

//leo de 6 a 9 digitalWrite(i,

prender y apagar

HIGH); // prendo pin actual

}
digitalWrite(i,HIGH);

digitalWrite(k-i, HIGH); // prendo pin de la


diferencia 11-6 =

digitalWrite(k-

i,LOW);
}
delay(50); //retardo

for(int i=9; i>=2;i--){ // Al contrario de


lo anterior digitalWrite(i, LOW);
digitalWrite(k-i, LOW);
delay(50);
}
}
void
secuencia3()
{ for(int i=2;
i<=9; i++){

void secuencia4(){

digitalWrite(i,HI

int k=11;

GH); delay(50);
}
for(int

i=9;

i>=2;i--)
{ digitalWrite(i,
LOW);
delay(50);

ESQUEMA EJERCICIO

PR
AC
TI
C
A

CAPTURAS SIMULACION
PRACTICA 3
Ejercicio 3: Implementacin de panel LCD
2x16, simulacin en Proteus con placa Arduino
UNO:

Cdigo de programa:
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 10, 9, 3 , 2);


// it's a 16x2 LCD so...
int screenWidth = 16;
int screenHeight = 2;
// the two lines
// line1 = scrolling
String line1 = "Microcontroladores y
Microprocesadores";
// line2 = static
String line2 = " I Semestre 2016";
// just some reference flags
int stringStart, stringStop = 0;
int scrollCursor = screenWidth;
// most of the part is pretty basic
void setup() {
lcd.begin(screenWidth,screenHeight);
}
void loop() {
lcd.setCursor(scrollCursor, 0);
lcd.print(line1.substring(stringStart,stringSto
p));
lcd.setCursor(0, 1);
lcd.print(line2);
delay(300);
lcd.clear();
if(stringStart == 0 && scrollCursor > 0){
scrollCursor--;
stringStop++;
} else if (stringStart == stringStop){
stringStart = stringStop = 0;
scrollCursor = screenWidth;
} else if (stringStop == line1.length() &&
scrollCursor == 0) {
stringStart++;
} else {
stringStart++;
stringStop++;
}
}

2.
NOTA:
1. Se anexan evidencias fotogrficas de las
prcticas realizadas en el CEAD y en la casa.

CONCLUSIONES
1.

Se aprende a manejar los programas de


elaboracin compilacin y simulacin de
Arduino,lo mismo que sus instrucciones
bsicas.

Se
entiende
funcionamiento
de
un
microcontrolador , su organizacin interna
como bancos de memoria puertos, y registros.

BIBLIOGRAFIA
1. Villamil, H.U. (2012). Modulo fsica
de microprocesadores y microcontroladores..
Universidad Nacional Abierta y a Distancia
UNAD, Bogot, Colombia.
2.
Angulo.J.M&Angulo,I.(2005).
Microcontroladores PIC, 3 edicin.
Madrid, Espaa.McGraw-Hill.

S-ar putea să vă placă și