Professional Documents
Culture Documents
Arduino
Simulación con Tinkercad
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);
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);
// Semáforo 2 activo
activo1 = false;
}
}
else
{
// Está encendido el semáforo 1, comprobamos el pulsador 1
int valor1 = digitalRead(PULSADOR1);
// 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);
// Encendemos semáforo 2
// Esperamos
delay(tiempoCambio);
void ecenderSemaforo1()
{
// Apagamos semáforo 2
// Esperamos
delay(tiempoEspera);
// Esperamos
delay(tiempoCambio);
// Encendemos semáforo 1
// Esperamos
delay(tiempoCambio);
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;
void setup() {
void loop() {
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