Você está na página 1de 12

13-12-2017 Practica con

Arduino
Simulación con Tinkercad

Alexander Aguirre, Diego Pineda


AUTOMATISMOS II
Contenido
Introducción ...................................................................................................................... 2
Resumen ....................................................................................................................... 2
Abstract ......................................................................................................................... 2
Objetivo General........................................................................................................... 2
Objetivos Específicos ................................................................................................... 2
Metodología de la investigación ................................................................................... 3
Desarrollo ......................................................................................................................... 3
Practica 01: Semáforo inteligente ................................................................................. 3
Descripción ............................................................................................................... 3
Modelo del circuito ................................................................................................... 3
Código de programación: ......................................................................................... 4
Listado de componentes ........................................................................................... 7
Practica 02: Parqueadero inteligente ............................................................................ 8
Descripción ............................................................................................................... 8
Modelo del circuito de la valla de ingreso vehicular ................................................ 8
Código de programación: ......................................................................................... 8
Listado de componentes ........................................................................................... 9
Modelo del circuito de la valla de ingreso vehicular .............................................. 10
Código de programación: ....................................................................................... 10
Listado de componentes ......................................................................................... 11
Conclusiones e implicaciones ......................................................................................... 11
Introducción
Resumen
Para practicar aplicaciones electrónicas se maneja una placa basada en un
microcontrolador, concretamente un ATMEL que es un Arduino, con la primordial
función de ser una plataforma de prototipos electrónica de código abierto (open-source)
establecida en hardware y software flexibles y fáciles de usar. El microcontrolador de la
placa se programa utilizando el Arduino Programming Language (basado en Wiring) y el
Arduino Development Environment (basado en Processing).
El hardware consiste en una placa de circuito impreso con un microcontrolador,
usualmente Atmel AVR, puertos digitales y analógicos de entrada/salida, los cuales
pueden conectarse a placas de expansión (shields), que amplían los funcionamientos de
la placa.
Abstract
To practice electronic applications, a board based on a microcontroller is used,
specifically an ATMEL that is an Arduino, with the primary function of being an open-
source electronic prototype platform (open-source) established in flexible and easy-to-
use hardware and software. The microcontroller on the board is programmed using the
Arduino Programming Language (based on Wiring) and the Arduino Development
Environment (based on Processing).
The hardware consists of a printed circuit board with a microcontroller, usually Atmel
AVR, digital and analog input / output ports, which can be connected to expansion boards
(shields), which expand the operation of the board.
Objetivo General
Construir y simular los ejercicios planteados por el docente en el laboratorio a través del
programa Tinkercad; enfocados en el uso de Arduino uno, se desarrollará aplicaciones
como led intermitente, pulsador, secuencia básica de tres leds y construcción de un
indicador led.
Objetivos Específicos
• Desarrollar la practica con Arduino de diversas aplicaciones incidentes.
• Describir y analizar los componentes y variables en el desarrollo de la práctica.
• Investigar la esquematización de programación con Arduino.
Metodología de la investigación
La metodología que se utilizara en el ensayo es un estudio descriptivo; se justifica la
aplicación de este estudio analítico al describir una serie de casos y análisis de prevalencia
en varias muestras que se nos presentan para probar hipótesis específicas [1].

Desarrollo
Practica 01: Semáforo inteligente
Descripción
El semáforo funciona normalmente hasta que el peatón presiona el botón para cruzar.
• Si al presionar el botón existen autos cruzando, el semáforo se pone en rojo luego
de 30 segundos.
• Si al presionar el botón NO existen autos cruzando, el semáforo cambia a amarillo
y a rojo inmediatamente.
El semáforo funciona con tiempos y en el siguiente orden:
• Verde: 15 segundos
• Amarillo: 2 Segundos
• Rojo: 15 Segundos
Los autos son detectados mediante sensor de presencia, escogido de acuerdo a
disponibilidad.
Modelo del circuito
Código de programación:

// Pines utilizados
#define LEDVERDE1 2
#define LEDAMARILLO1 3
#define LEDROJO1 4
#define LEDVERDE2 5
#define LEDAMARILLO2 6
#define LEDROJO2 7
#define PULSADOR1 8
#define PULSADOR2 9

// Variables
bool activo1 = true; // Indica si el semáforo 1 está activo, de lo contrario será el
semáforo 2
int tiempoCambio = 3000; // Tiempo de espera entre transición de LEDs
int tiempoEspera = 3000; // Tiempo de espera hasta comenzar transición

void setup() {
// Iniciamos el monitor serie
Serial.begin(9600);

// Modo entrada/salida de los pines


pinMode(LEDVERDE1, OUTPUT);
pinMode(LEDAMARILLO1, OUTPUT);
pinMode(LEDROJO1, OUTPUT);
pinMode(LEDVERDE2, OUTPUT);
pinMode(LEDAMARILLO2, OUTPUT);
pinMode(LEDROJO2, OUTPUT);
pinMode(PULSADOR1, INPUT);
pinMode(PULSADOR2, INPUT);

// Apagamos todos los LEDs


digitalWrite(LEDVERDE1, LOW);
digitalWrite(LEDAMARILLO1, LOW);
digitalWrite(LEDROJO1, LOW);
digitalWrite(LEDVERDE2, LOW);
digitalWrite(LEDAMARILLO2, LOW);
digitalWrite(LEDROJO2, LOW);

// Estado inicial: semáforo 1 abierto, semáforo 2 cerrado


digitalWrite(LEDVERDE1, HIGH);
digitalWrite(LEDROJO2, HIGH);
}

void loop() {
// Dependiendo del semáforo que tengamos activo
if (activo1)
{
// Está encendido el semáforo 1, comprobamos el pulsador 2
int valor2 = digitalRead(PULSADOR2);

// Si hay un coche esperando, pulsador pulsado


if (valor2 == HIGH)
{
// Encender semáforo 2
ecenderSemaforo2();

// Semáforo 2 activo
activo1 = false;
}
}
else
{
// Está encendido el semáforo 1, comprobamos el pulsador 1
int valor1 = digitalRead(PULSADOR1);

// Si hay un coche esperando, pulsador pulsado


if (valor1 == HIGH)
{
// Encender semáforo 1
ecenderSemaforo1();

// Semáforo 1 activo
activo1 = true;
}
}
}

void ecenderSemaforo2()
{
// Apagamos semáforo 1
// Esperamos
delay(tiempoEspera);
// Pasamos a luz amarilla
digitalWrite(LEDVERDE1, LOW);
digitalWrite(LEDAMARILLO1, HIGH);

// Esperamos
delay(tiempoCambio);

// Pasamos a luz roja


digitalWrite(LEDAMARILLO1, LOW);
digitalWrite(LEDROJO1, HIGH);

// Encendemos semáforo 2
// Esperamos
delay(tiempoCambio);

// Pasamos a luz amarilla


digitalWrite(LEDROJO2, LOW);
digitalWrite(LEDVERDE2, HIGH);
}

void ecenderSemaforo1()
{
// Apagamos semáforo 2
// Esperamos
delay(tiempoEspera);

// Pasamos a luz amarilla


digitalWrite(LEDVERDE2, LOW);
digitalWrite(LEDAMARILLO2, HIGH);

// Esperamos
delay(tiempoCambio);

// Pasamos a luz roja


digitalWrite(LEDAMARILLO2, LOW);
digitalWrite(LEDROJO2, HIGH);

// Encendemos semáforo 1
// Esperamos
delay(tiempoCambio);

// Pasamos a luz amarilla


digitalWrite(LEDROJO1, LOW);
digitalWrite(LEDVERDE1, HIGH);
}
Listado de componentes
En la práctica elaborada se utilizaron los componentes electrónicos descritos en la tabla
01.
Tabla 01. Componentes utilizados
Nombre Cantidad Componente
U1 1 Arduino Uno R3
DLEDROJO1
2 Red LED
DLEDROJO2

DLEDAMARILLO1
2 Yellow LED
DLEDAMARILLO2

DLEDVERDE1
2 Green LED
DLEDVERDE2
R2
R3
R4
6 220 ohm Resistor
R5
R6
R7
SPULSADOR2
2 Pushbutton
SPULSADOR1
R8
2 10 kohm Resistor
R9
Practica 02: Parqueadero inteligente
Descripción
Al detectar un vehículo, el conductor presiona un pulsador y la barrera controlada
mediante un servo motor se levanta hasta 90º. Una vez que el auto cruzó la barrera se
coloca en posición inicial 0º. Para la salida es el mismo procedimiento.
Dentro del parqueadero que encienden una luz verde, si está disponible. Existen 3
parqueaderos disponibles.
Modelo del circuito de la valla de ingreso vehicular

Código de programación:
#include <Servo.h>
Servo servomotor;

int angulo = 0; //Variable para el ángulo, inicia en 0°


int aumentar = 6; //Pin para el pulsador de aumentar el angulo
int disminuir = 5; //Pin para el pulsador de disminuir el angulo

void setup() {

servomotor.attach(7); //Pin PWM 6 del Arduino


pinMode(disminuir, INPUT);
pinMode(aumentar, INPUT);
servomotor.write(angulo); //Posiciona el servo inicialmente en la mitad (90°)
}

void loop() {

//Aumenta el angulo mientras se mantenga presionado


if (digitalRead(aumentar) == LOW)
{
angulo++;
if (angulo >= 90)
{
angulo = 90; //El angulo no aumenta mas alla de 180 grados
}
}

//Disminuye el angulo mientras se mantenga presionado


if (digitalRead(disminuir) == LOW)
{
angulo--;
if (angulo <= 0)
{
angulo = 0; //El angulo no disminuye mas alla de 0 grados
}
}
servomotor.write(angulo); //Manda el ángulo al servo dependiendo del pulsador
presionado
delay(10);
}
Listado de componentes
En la práctica elaborada se utilizaron los componentes electrónicos descritos en la tabla
02.
Tabla 02. Componentes utilizados
Nombre Cantidad Componente
Arduino Uno
U1 1
R3
SERVOservomotor 1 Micro Servo
S1
2 Pushbutton
S2
R1 18 kohm
2
R2 Resistor
Modelo del circuito de la valla de ingreso vehicular

Código de programación:
void setup()
{
pinMode(13, OUTPUT);
}

void loop()
{
digitalWrite(13, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(13, LOW);
delay(1000); // Wait for 1000 millisecond(s)
}

Listado de componentes
En la práctica elaborada se utilizaron los componentes electrónicos descritos en la tabla
03.
Tabla 03. Componentes utilizados
Nombre Cantidad Componente
U1 1 Arduino Uno R3
D1
D2 3 Green LED
D3
R1
R2 3 220 ohm Resistor
R3
S1
S2 3 Slideswitch
S3

Conclusiones e implicaciones
• El Arduino Uno R3 utiliza el microcontrolador ATmega328 para el manejo de USB
en lugar del 8U2 (o del FTDI encontrado en generaciones previas).
• La tarjeta Arduino Uno R3 añade pins SDA y SCL cercanos al AREF, hay dos nuevos
pines cerca del pin RESET. Uno es el IOREF y el otro pin no se encuentra conectado
y está reservado para propósitos futuros.
• El Arduino es una plataforma computacional física open-source basada en una simple
tarjeta de I/O y un entorno de desarrollo que implementa el lenguaje
Processing/Wiring.
• Puede ser utilizado para desarrollar objetos interactivos o puede ser conectado a
software de tu computadora (por ejemplo, Flash, Processing, MaxMSP).

Referencias Bibliográfica

[1] J. F. I.U.T.A., «Blogspot,» Luoman, 2010. [En línea]. Available:


http://metodologia02.blogspot.com/p/operacionalizacion-de-variables.html. [Último
acceso: 03 Noviembre 2017].

Você também pode gostar