Anda di halaman 1dari 6

.

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

RESUMEN: Se realiza práctica de laboratorio en


el CEAD Ptitalito Huila, montando los circuitos simulados /*
mediante la implementación del Arduino-UNO y los Blink
componentes necesarios para realizar los ejercicios Turns on an LED on for one second, then
propuestos en la guía. off for one second, repeatedly.

PALABRAS CLAVE: Arduino, Led, interruptor, This example code is in the public
practica,simulador, compilador, programa, bit, puertos. domain.
*/

void setup() {
1 INTRODUCCION // initialize the digital pin as an output.
// Pin 13 has an LED connected on most
Arduino boards:
El propósito de la práctica es demostrar mediante la
pinMode(13, OUTPUT);
implementación de Arduino, que los ejercicios llevados
}
inicialmente a un simulador y el código escrito, funcionan
correctamente.
void loop() {
digitalWrite(13, HIGH); // set the LED on
delay(1000); // wait for a second
OBJETIVOS digitalWrite(13, LOW); // set the LED off
delay(1000); // wait for a second
}
Poner en práctica 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 iniciándonos en la programación en
A continuación una imagen del pantallazo mientras
lenguaje ensamblador como base de la programación
se realiza la simulación, se muestra el programa
cargado en el editor , en la memoria del micro y además
luego de correr el programa.
PRACTICA 1

Encender y apagar un LED: Encendido y


apagado de un LED con intermitencia de
aproximadamente 1 segundo.

Código del programa:


EVIDENCIAS FOTOGRAFICAS
A continuación una imagen del pantallazo mientras se
realiza la simulación y compilación del programa.

PRACTICA 1.2.2

Ejercicio 1.2.1: encendido y apagado de un led con un


pulsador.

Código del programa:


EVIDENCIAS PRÁCTICA

/*

 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
}
}
while (digitalRead(A0)==HIGH){} // Mientras se pulsa no
PRACTICA 2 haga nada mas
}
Ejercicio 1.2.3: encendido de ocho leds en cinco
secuencias diferentes con una intermitencia de un if(saltar==0){ //Si es 1 inicie funcion de secuencia1
segundo.
El programa consiste en que al presionar el pulsador los secuencia1();
leds cambien de secuencia, las secuencias son las }
siguientes (1) Leds Encendidos (0) Leds apagado:
a) if(saltar==1){ //Si es 2 inicie funcion de secuencia2
0 0 0 0 0 0 0 1 secuencia2();
0 0 0 0 0 0 1 0
0 0 0 0 0 1 0 0 }
.
. if(saltar==2){ //Si es 3 inicie funcion de secuencia3
10000000 secuencia3();
b) }
0 0 0 1 1 0 0 0
if(saltar==3){ //Si es 4 inicie funcion de secuencia4
0 0 1 1 1 1 0 0
0 1 1 1 1 1 1 0 secuencia4();
11111111
}
c) }
0 0 0 0 0 0 0 1
0 0 0 0 0 0 1 1 void secuencia1(){
0 0 0 0 0 1 1 1
for (int i=2; i<=9; i++){ //Pin 2 al 9
.
11111111 digitalWrite(i, HIGH); // Prenda pin actual

d) digitalWrite(i-1,LOW); // Apage el Anterior


0 0 0 0 1 1 1 1 delay(50); // retardo entre prender y apagar
1 1 1 1 0 0 0 0
. } digitalWrite(i,HIGH);
.
digitalWrite(k-i,LOW);
}

Código de programa: delay(150);


for(int i=2; i<=5;i++){
digitalWrite(i,LOW);
int saltar=0; // Variable que indica el numero de la digitalWrite(k-i,HIGH);
secuencia a ejecutarse }
void setup() { delay(150);
pinMode(A0, INPUT); //indicamos el pin de entrada }
for(int i=2;i<=9;i++){ //indicamos los pines de salida for (int i=9; i>=2; i--){ //Al contrario de la
pinMode(i, OUTPUT); digitalWrite(i, LOW); // anterior secuencia va de 9 a 2
} digitalWrite(i-1,HIGH);
} delay(50);
void loop() { }
if (digitalRead(A0)==HIGH){ //Al presionar el pulsador }
saltar++; // Cambia de secuencia void secuencia2(){
if (saltar>3){ //Solo hay 4 secuencias 0,1,2 y 3 al ser 3 . . int k=11; // inicializo una variable auxiliar K
saltar=0; // Vuelve a secuencia 0 for(int i=6; i<=9;i++){ //leo de 6 a 9
} digitalWrite(i, HIGH); // prendo pin actual
digitalWrite(k-i, HIGH); // prendo pin de la diferencia 11-6 =
5
PRACTICA
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++){
digitalWrite(i,HIGH);
delay(50);
}
for(int i=9; i>=2;i--){
digitalWrite(i,LOW);
delay(50);
}
}

void secuencia4(){
int k=11;

ESQUEMA EJERCICIO
CAPTURAS SIMULACION
PRACTICA 3

Ejercicio 3: Implementación de panel LCD


2x16, simulación en Proteus con placa Arduino
UNO:

Código 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,stringStop));
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++;
}
}
NOTA:

1. Se anexan evidencias fotográficas de las


prácticas realizadas en el CEAD y en la casa.

CONCLUSIONES

1. Se aprende a manejar los programas de


elaboración compilación y simulación de
Arduino,lo mismo que sus instrucciones
básicas.
2. Se entiende funcionamiento de un
microcontrolador , su organización interna
como bancos de memoria puertos, y registros.

BIBLIOGRAFIA

1. Villamil, H.U. (2012). Modulo física


de microprocesadores y microcontroladores..
Universidad Nacional Abierta y a Distancia
UNAD, Bogotá, Colombia.

2. Angulo.J.M&Angulo,I.(2005).
Microcontroladores PIC, 3 edición.
Madrid, España.McGraw-Hill.

Anda mungkin juga menyukai