Informe 1 Arduino
Short Description
ARDUINO...
Description
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL PERÍODO ACADÉMICO: MARZO 2017 – SEPTIEMBRE 2017
FORMATO DE PRÁCTICA I.
PORTADA UNIVERSIDAD TÉCNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial “Informe N° 1 ” Práctica Práctic a 1: Encendido de un Led con un Pulsador. Práctica 2: Contador Ascendente / Descendente visualizarlo en un Display y manejarlo con un pulsador.
Tema:
Carrera: Área Académica: Académica: Línea de Investigación: Ciclo Académico y Paralelo: Alumnos: Módulo y Docente:
II.
1. 2.
INGENIERÍA EN ELECTRÓNICA Y COMUNICACIONES COMUNICACIONES
Física - Electrónica Nanotecnología Nanotecnología Séptimo “B”
Aldaz Dario Bayas Gerardo Pillajo Dario Microcontroladores Microcontroladores Ph.D. Gordon Carlos
INFORME DE LA PRACTICA N°1,2 2.1 Tema Práctica 1: Encendido de un Led con un Pulsador. Práctica 2: Contador Ascendente / Descendente visualizarlo en un Display y manejarlo con un pulsador. . 2.2 Objetivos PP YY
Objetivo General: Realizar la programación correspondiente correspo ndiente mediante el software o interfaz de código abierto Arduino para su posterior implementación con el mismo. Objetivos Específicos Diseñar un circuito que permita prender ya apagar un led cada que este se pulse, mediante programación de un Arduino. Generar en Pic C Compiler un contador n un orden ascendente o descendente median del uso de un arduino, y un display’s catodo común para su visualización. visualización.
2.3 Introducción Arduino se puede utilizar utilizar para desarrollar elementos autónomos, autónomos, conectándose a dispositivos e interactuar tanto con el hardware como con el software. Nos sirve tanto para controlar un elemento, pongamos por ejemplo un motor que nos suba o baje una persiana basada en la luz existente es una habitación, gracias a un sensor de luz conectado al Arduino, o bien para leer la información de una fuente, como puede ser un teclado, y convertir la información en una acción como puede ser encender una luz y pasar por un display lo tecleado. Hay otro factor importante en el éxito de Arduino, es la comunidad que apoya todo este desarrollo, comparte conocimiento, elabora librerías para facilitar el uso de Arduino y publica sus proyectos para que puedan ser replicados, mejorados o ser base para otro proyecto relacionado.
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL PERÍODO ACADÉMICO: MARZO 2017 – SEPTIEMBRE 2017
2.4 Resumen Arduino es básicamente una placa con un microcontrolador. Un microcontrolador (abreviado µC, UC o MCU) es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en su memoria. Está compuesto de varios bloques funcionales, los cuales cumplen una tarea específica. Un microcontrolador incluye en su interior las tres principales unidades funcionales de una computadora: unidad central de procesamiento, memoria y periféricos de entrada/salida. 2.5 Palabras clave: Arduino, Arduino Nano, led, display, contador , ascendente descendente.
2.6 Materiales y Metodología Metodología ARDUINO Arduino es una compañía de hardware libre, la cual desarrolla placas de desarrollo que integran un microcontrolador y un entorno de desarrollo (IDE), diseñado para facilitar el uso de la electrónica en proyectos multidisciplinarios.El hardware consiste en una placa de circuito impreso con un microcontrolador, usualmente Atmel AVR, y puertos digitales y analógicos de entrada/salida,3 los cuales pueden conectarse a placas de expansión (shields) que amplían las características de funcionamiento de la placa arduino.
Figura 1. Gráfico del Arduino.
Por otro lado, el software consiste en un entorno de desarrollo (IDE) basado en el entorno de Processing y lenguaje de programación basado en Wiring, así como en el cargador de arranque (bootloader) que es ejecutado en la placa.3 El microcontrolador de la placa se programa a través de un computador, haciendo uso de comunicación serial mediante un convertidor de niveles RS-232 a TTL serial.
Arduino es una plataforma de hardware de código abierto, basada en una sencilla placa con entradas y salidas, analógicas y digitales, en un entorno de desarrollo que está basado en el lenguaje de programación Processing. Es un dispositivo que conecta el mundo físico con el mundo virtual, o el mundo analógico con el digital. [1]
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL PERÍODO ACADÉMICO: MARZO 2017 – SEPTIEMBRE 2017
ARDUINO NANO
El Arduino Nano es un tablero pequeño, completo, y tabla de paneles basado en el ATmega328 (Arduino Nano 3.x). Tiene más o menos la misma funcionalidad del Arduino Duemilanove, pero en un paquete diferente. Carece de una toma de corriente DC, y funciona con un cable USB Mini-B en lugar de uno estándar.
Figura 2. Datasheet del Arduino Nano
Es mucho más pequeño que el Arduino Mega. Esta basado en el microcontrolador ATmega328. Tiene una entrada mini-usb a través de la cual se puede subir el código fuente para la ejecución de los comandos.Viene con 14 puertos digitales de entrada/salida, 8 puertos análogos, una memoria de 16 KB, 1 KB de SRAM y 512 bytes de EPROM. Su ClockSpeed es 16 MHz. Funciona con un voltaje que puede estar en el rango de 7 a 12 voltios. Entrega una corriente de 40 mA.Aparte de algunas desventajas como un número menos de puertos de entrada/salida o un menor espacio en la memoria, es prácticamente idéntico al Arduino Mega.Se carga el código desde Arduino IDE, utilizando el mismo proceso que para con el Arduino Mega.[2]
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL PERÍODO ACADÉMICO: MARZO 2017 – SEPTIEMBRE 2017
Practica 1: Materiales 1 Arduino Nano 1 Pulsador
Equipos y Software Arduino
2 resistencias de 220Ω
Cables y Protoboard 1 led //ENCIENDE Y APAGA UN DIODO EMISOR DE LUZ (LED) CONECTADO A UN //PIN 9, AL PRESIONAR UN PULSADOR FIJADO EN EL PIN 2. int buttonPin = 2; // declaracion de pin pulsador int ledPin = 9; // declaracion de led int buttonState = 0; // Variable para leer el estado del pulsador void setup() { // Inicializar el pin LED como una salida pinMode(ledPin, OUTPUT); // Inicializar el pin pulsador como una entrada pinMode(buttonPin, INPUT); } void loop(){ // Lee el estado del valor del pulsador buttonState = digitalRead(buttonPin); // Comprueba si se presiona el pulsador. // si lo es, el buttonState es ALTO if (buttonState == HIGH) { // enciende el led digitalWrite(ledPin, HIGH); } else { // apaga el led digitalWrite(ledPin, LOW); } }
Ilustración 1. Encendido de un Led
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL PERÍODO ACADÉMICO: MARZO 2017 – SEPTIEMBRE 2017
Practica 2: Materiales 1 Arduino Nano 2 Pulsadores
Equipos y Software Arduino
3 Resistencias de 220Ω
Cables y Protoboard 1 Diplay //CONTADOR ASCENDENTE DESCENDENTE 0-9/9-0 int buttonPin = 2; // declaracion de pin pulsador ASCENDENTE int buttonPin1 = 13; //declaracion de pin pulsador DESCENDENTE int ledA = 3; // declaracion de pin salida int ledB = 4; int ledC = 5; int ledD = 6; int ledE = 7; int ledF = 8; int ledG = 9; int buttonState = 0; int buttonState1 = 0;
// Variable para leer el estado de los pulsadores
void setup() { // Inicializar los pines pinMode(ledA, OUTPUT); pinMode(ledB, OUTPUT); pinMode(ledC, OUTPUT); pinMode(ledD, OUTPUT); pinMode(ledE, OUTPUT); pinMode(ledF, OUTPUT); pinMode(ledG, OUTPUT); // Inicializar los pulsador como endradas pinMode(buttonPin, INPUT); pinMode(buttonPin1, INPUT); } void loop(){ // Lee el estado del valor del pulsador buttonState = digitalRead(buttonPin); // Comprueba si se presiona el pulsador. // si lo es, el buttonState es ALTO va ASCENDENTE if (buttonState == HIGH) { // enciende el CERO digitalWrite(ledA, HIGH); digitalWrite(ledB, HIGH); digitalWrite(ledC, HIGH); digitalWrite(ledD, HIGH); digitalWrite(ledE, HIGH); digitalWrite(ledF, HIGH); digitalWrite(ledG, LOW); delay(1000); // enciende el UNO digitalWrite(ledA, LOW); digitalWrite(ledB, HIGH);
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL PERÍODO ACADÉMICO: MARZO 2017 – SEPTIEMBRE 2017
digitalWrite(ledC, HIGH); digitalWrite(ledD, LOW); digitalWrite(ledE, LOW); digitalWrite(ledF, LOW); digitalWrite(ledG, LOW); delay(1000); // enciende el DOS digitalWrite(ledA, HIGH); digitalWrite(ledB, HIGH); digitalWrite(ledC, LOW); digitalWrite(ledD, HIGH); digitalWrite(ledE, HIGH); digitalWrite(ledF, LOW); digitalWrite(ledG, HIGH); delay(1000); // enciende el TRES digitalWrite(ledA, HIGH); digitalWrite(ledB, HIGH); digitalWrite(ledC, HIGH); digitalWrite(ledD, HIGH); digitalWrite(ledE, LOW); digitalWrite(ledF, LOW); digitalWrite(ledG, HIGH); delay(1000); // enciende el CUATRO digitalWrite(ledA, LOW); digitalWrite(ledB, HIGH); digitalWrite(ledC, HIGH); digitalWrite(ledD, LOW); digitalWrite(ledE, LOW); digitalWrite(ledF, HIGH); digitalWrite(ledG, HIGH); delay(1000); // enciende el CINCO digitalWrite(ledA, HIGH); digitalWrite(ledB, LOW); digitalWrite(ledC, HIGH); digitalWrite(ledD, HIGH); digitalWrite(ledE, LOW); digitalWrite(ledF, HIGH); digitalWrite(ledG, HIGH); delay(1000); // enciende el SEIS digitalWrite(ledA, HIGH); digitalWrite(ledB, LOW); digitalWrite(ledC, HIGH); digitalWrite(ledD, HIGH); digitalWrite(ledE, HIGH); digitalWrite(ledF, HIGH); digitalWrite(ledG, HIGH); delay(1000); // enciende el SIETE digitalWrite(ledA, HIGH); digitalWrite(ledB, HIGH); digitalWrite(ledC, HIGH); digitalWrite(ledD, LOW); digitalWrite(ledE, LOW); digitalWrite(ledF, HIGH); digitalWrite(ledG, LOW); delay(1000); // enciende el OCHO
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL PERÍODO ACADÉMICO: MARZO 2017 – SEPTIEMBRE 2017
digitalWrite(ledA, HIGH); digitalWrite(ledB, HIGH); digitalWrite(ledC, HIGH); digitalWrite(ledD, HIGH); digitalWrite(ledE, HIGH); digitalWrite(ledF, HIGH); digitalWrite(ledG, HIGH); delay(1000); // enciende el NUEVE digitalWrite(ledA, HIGH); digitalWrite(ledB, HIGH); digitalWrite(ledC, HIGH); digitalWrite(ledD, HIGH); digitalWrite(ledE, LOW); digitalWrite(ledF, HIGH); digitalWrite(ledG, HIGH); delay(1000); // enciende el APAGADO digitalWrite(ledA, LOW); digitalWrite(ledB, LOW); digitalWrite(ledC, LOW); digitalWrite(ledD, LOW); digitalWrite(ledE, LOW); digitalWrite(ledF, LOW); digitalWrite(ledG, LOW); delay(1000); } buttonState1 = digitalRead(buttonPin1); // Comprueba si se presiona el pulsador. // si lo es, el buttonState es ALTO DESCENDENTE if (buttonState1 == HIGH) { // enciende el NUEVE digitalWrite(ledA, HIGH); digitalWrite(ledB, HIGH); digitalWrite(ledC, HIGH); digitalWrite(ledD, HIGH); digitalWrite(ledE, LOW); digitalWrite(ledF, HIGH); digitalWrite(ledG, HIGH); delay(1000); // enciende el OCHO digitalWrite(ledA, HIGH); digitalWrite(ledB, HIGH); digitalWrite(ledC, HIGH); digitalWrite(ledD, HIGH); digitalWrite(ledE, HIGH); digitalWrite(ledF, HIGH); digitalWrite(ledG, HIGH); delay(1000); // enciende el SIETE digitalWrite(ledA, HIGH); digitalWrite(ledB, HIGH); digitalWrite(ledC, HIGH); digitalWrite(ledD, LOW); digitalWrite(ledE, LOW); digitalWrite(ledF, HIGH); digitalWrite(ledG, LOW); delay(1000); // enciende el SEIS digitalWrite(ledA, HIGH);
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL PERÍODO ACADÉMICO: MARZO 2017 – SEPTIEMBRE 2017
digitalWrite(ledB, LOW); digitalWrite(ledC, HIGH); digitalWrite(ledD, HIGH); digitalWrite(ledE, HIGH); digitalWrite(ledF, HIGH); digitalWrite(ledG, HIGH); delay(1000); // enciende el CINCO digitalWrite(ledA, HIGH); digitalWrite(ledB, LOW); digitalWrite(ledC, HIGH); digitalWrite(ledD, HIGH); digitalWrite(ledE, LOW); digitalWrite(ledF, HIGH); digitalWrite(ledG, HIGH); delay(1000); // enciende el CUATRO digitalWrite(ledA, LOW); digitalWrite(ledB, HIGH); digitalWrite(ledC, HIGH); digitalWrite(ledD, LOW); digitalWrite(ledE, LOW); digitalWrite(ledF, HIGH); digitalWrite(ledG, HIGH); delay(1000); // enciende el TRES digitalWrite(ledA, HIGH); digitalWrite(ledB, HIGH); digitalWrite(ledC, HIGH); digitalWrite(ledD, HIGH); digitalWrite(ledE, LOW); digitalWrite(ledF, LOW); digitalWrite(ledG, HIGH); delay(1000); // enciende el DOS digitalWrite(ledA, HIGH); digitalWrite(ledB, HIGH); digitalWrite(ledC, LOW); digitalWrite(ledD, HIGH); digitalWrite(ledE, HIGH); digitalWrite(ledF, LOW); digitalWrite(ledG, HIGH); delay(1000); // enciende el UNO digitalWrite(ledA, LOW); digitalWrite(ledB, HIGH); digitalWrite(ledC, HIGH); digitalWrite(ledD, LOW); digitalWrite(ledE, LOW); digitalWrite(ledF, LOW); digitalWrite(ledG, LOW); delay(1000); // enciende el CERO digitalWrite(ledA, HIGH); digitalWrite(ledB, HIGH); digitalWrite(ledC, HIGH); digitalWrite(ledD, HIGH); digitalWrite(ledE, HIGH); digitalWrite(ledF, HIGH); digitalWrite(ledG, LOW); delay(1000);
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL PERÍODO ACADÉMICO: MARZO 2017 – SEPTIEMBRE 2017
// enciende el APAGADO digitalWrite(ledA, LOW); digitalWrite(ledB, LOW); digitalWrite(ledC, LOW); digitalWrite(ledD, LOW); digitalWrite(ledE, LOW); digitalWrite(ledF, LOW); digitalWrite(ledG, LOW); delay(1000); } }
Ilustración 2. Contador Ascendente/Descendente
2.7 Resultados y Discusión Mediante la utilización del código abierto en arduino se pudo aplicar algunas instrucciones similares a las de los microcontroladores, pero de tal manera también es diferente gran parte de la programación. Además de esto se pudo implementar de manera fácil rápida y sencilla ya que no necesitamos de ningún otro software para su grabado de video.
2.8 Conclusiones Se puede concluir que en el circuito realizado se utilizó una codificación corta y sencilla para encender el led ya que mediante un pulsador pudimos prender un led, dejando de presionar este se apagaba. También se puede concluir que gracias a una programación e implementación adecuada, basándonos en diferentes instrucciones propias de arduino se pudo realizar el conteo ascendente y descendente de 0-9 y de 9-0, presionando un pulsador para su respectiva inicialización pues la implementación es sencilla en comparación con un microcontrolador.
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL PERÍODO ACADÉMICO: MARZO 2017 – SEPTIEMBRE 2017
2.9 Recomendaciones Para un buen funcionamiento es necesario comprobar la correcta conexión de los pines de entrada y salida. Tener un conocimiento del datasheet del arduino con el que se está trabajando para un mejor uso y una adecuada programación.
2.10. Referencias Bibliográficas [1] https://www.arduino.cc/en/Main/ArduinoNano [2] http://panamahitek.com/arduino-nano-caracteristicas-funciones.
2.11. Fotografías y Gráficos
View more...
Comments