informe6

7
UNIVERSIDAD CATÓLICA BOLIVIANA “SAN PABLO” UNIDAD ACADÉMICA REGIONAL COCHABAMBA Sistemas Electrónicos Ingeniería Mecatrónica Practica N° 6 Manejo de micro controladores Laboratorio de sistemas electrónicos

description

electronica

Transcript of informe6

Page 1: informe6

UNIVERSIDAD CATÓLICA BOLIVIANA “SAN PABLO”UNIDAD ACADÉMICA REGIONAL COCHABAMBA

Sistemas ElectrónicosIngeniería Mecatrónica

Practica N° 6Manejo de micro controladores

Laboratorio de sistemas electrónicos

Yañez Hinojosa Erick AlejandroSandoval Yañez Samuel

Cárdenas Herrera Juan PabloDaniel Solano Terán

Cochabamba - Bolivia28 de abril de 2015

Page 2: informe6

1. Objetivos.- Aplicar los conocimientos sobre manejo y programación de la plataforma arduino

con lenguaje C.- Manejar diversos puertos tales como analógicos o digitales en el empleo de

pulsadores como entradas.- Aplicar los conocimientos sobre el uso de una pantalla LCD con arduino.

2. Marco teórico.

Arduino

Placa Arduino RS2321

Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares.2 3

El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida.4 Los microcontroladores más usados son el Atmega168, Atmega328, Atmega1280, y Atmega8 por su sencillez y bajo coste que permiten el desarrollo de múltiples diseños. Por otro lado el software consiste en un entorno de desarrollo que implementa el lenguaje de programación Processing /Wiring y el cargador de arranque que es ejecutado en la placa.4

Desde octubre de 2012, Arduino se usa también con microcontroladoras CortexM3 de ARM de 32 bits,5 que coexistirán con las más limitadas, pero también económicas AVR de 8 bits. ARM y AVR no son plataformas compatibles a nivel binario, pero se pueden programar con el mismo IDE de Arduino y hacerse programas que compilen sin cambios en las dos plataformas. Eso sí, las microcontroladoras CortexM3 usan 3,3V, a diferencia de la mayoría de las placas con AVR, que generalmente usan 5V. Sin embargo, ya anteriormente se lanzaron placas Arduino con Atmel AVR a 3,3V como la Arduino Fio y existen compatibles de Arduino Nano y Pro como Meduino en que se puede conmutar el voltaje.

Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado a software tal como Adobe Flash, Processing, Max/MSP, Pure Data. Las placas se pueden montar a mano o adquirirse. El entorno de desarrollo integradolibre se puede descargar gratuitamente.

Arduino puede tomar información del entorno a través de sus entradas analógicas y digitales, puede controlar luces, motores y otros actuadores. El microcontrolador en la placa Arduino se programa mediante el lenguaje de programación Arduino (basado en Wiring) y el entorno

Page 3: informe6

de desarrollo Arduino (basado en Processing). Los proyectos hechos con Arduino pueden ejecutarse sin necesidad de conectar a un computador.

El proyecto Arduino recibió una mención honorífica en la categoría de Comunidades Digital en el Prix Ars Electrónica de 2006.

LM016L

Es una pantalla LCD (LiquidCrystal) de tamaño 16x2.

Page 4: informe6

3. Diseño.

#include <LiquidCrystal.h>

int estado=0;int start=A0;int select=A1;int pause=A2;LiquidCrystal lcd(5, 4, 3, 2, 1, 0);

void setup() { pinMode(6,OUTPUT); pinMode(7,OUTPUT); pinMode(8,OUTPUT); pinMode(9,OUTPUT); pinMode(10,OUTPUT); pinMode(11,OUTPUT); pinMode(12,OUTPUT); pinMode(13,OUTPUT); lcd.begin(16, 2);}

void secuencia1(){

int a=1; for(int i=6; i<14; i=i+a) { digitalWrite(i,HIGH); delay(100); digitalWrite(i,LOW); if(i==13) { a=-1; } if(i==6) { a=1; } }}

void secuencia2(){ int a,b=10,c=1; for(a=9;a>5;a=a-c) { digitalWrite(a,HIGH);

Page 5: informe6

digitalWrite(b,HIGH); delay(100); digitalWrite(a,LOW); digitalWrite(b,LOW); b=b+c; if(a==6) { a=10; b=10; } }}

void secuencia3(){ for(int i=6;i<14;i++) { digitalWrite(i,HIGH); delay(100); if(i==13) { for(int j=13;j>=6;j=j-2) { digitalWrite(j,LOW); delay(100); } for(int j=12;j>=6;j=j-2) { digitalWrite(j,LOW); delay(100); } i=5; } } }

void secuencia4(){ int a=13; for(int i=6;i<14;i++) { digitalWrite(i,HIGH); delay(100); if(a==6) { for(int h=6;h<14;h++) { digitalWrite(h,HIGH); } delay(200); for(int h=6;h<14;h++) { digitalWrite(h,LOW); } delay(200); for(int h=6;h<14;h++) { digitalWrite(h,HIGH);

} delay(200); for(int h=6;h<14;h++) { digitalWrite(h,LOW); } for(int h=6;h<14;h++) { digitalWrite(h,HIGH); } delay(200); for(int h=6;h<14;h++) { digitalWrite(h,LOW); } delay(200); for(int h=6;h<14;h++) { digitalWrite(h,HIGH); } delay(200); for(int h=6;h<14;h++) { digitalWrite(h,LOW); } } delay(100); if(i==a) { i=5; a--; } digitalWrite(i,LOW); } }

void loop() { /*lcd.setCursor(0,0); lcd.println("Bienvenidos"); delay(2000); lcd.clear(); lcd.setCursor(0,0); lcd.println("Auto fantastico"); if(analogRead(A0)>0) { secuencia1(); } else if(analogRead(A1)>0) { lcd.setCursor(0,0); lcd.println("Zumidora"); if(analogRead(A0)>0) { secuencia2(); } if(analogRead(select)>0) {

Page 6: informe6

lcd.setCursor(0,0); lcd.println("Todos los leds"); if(analogRead(A0)>0) { secuencia3(); } if(analogRead(A1)>0) { lcd.setCursor(0,0); lcd.println("Lluvia"); if(analogRead(A0)>0) { secuencia4(); }

} } }*/ if(analogRead(A0)>0) { lcd.print("Bienvenidos"); delay(2000); lcd.clear(); lcd.setCursor(0,0); lcd.print("Lluvia"); secuencia4(); }

4. Conclusiones:La plataforma arduino es un microcontrolador muy práctico de uso muy flexible que la mayor parte de sus funcionalidades son ejecutadas llamando librerías ya predefinidas.Esta herramienta es codificada en lenguaje C de programación con algunas variaciones características del hardware, muy fáciles de usar.La cantidad de pines son una enorme limitación, perjudicando asi su desarrollo.