- Portada
- Ensablaje mecánico
-
Programación básica
-
Introducción al Montaje Electrónico
-
Resistencias y Ejemplos de cálculo
-
El pulsador
-
La protoboard y los LEDs
-
Entradas y salidas digitales. Lectura de un pulsador y encendido de un led.
-
Entradas Analógicas. Lectura de un potenciómetro.
-
El Servomotor
-
Salidas PWM. Control posición de un servo
-
Cuestionario Programación básica10 xp
-
-
Programación extendida
-
Actividad. Estados de caja. Apertura y cierre
-
Actividad. Dial analógico. Introducción de dígitos. Pantalla LCD
-
Introducción a Funciones
-
Las funciones
-
Actividad. Funcionalidad elemental caja fuerte.
-
El Zumbador
-
Actividad. Sistema de alarma con zumbador
-
Actividad avanzada. Cambio de contraseña. Memoria EEPROM
-
Actividad avanzada. Display: Íconos y animaciones
-
Cuestionario Programación extendida10 xp
-
- Para terminar
Actividad. Estados de caja. Apertura y cierre
PROGRAMACIÓN EXTENDIDA
Montaje.

Montaje eléctrico. Conexiones.
En esta primera actividad, trataremos de emplear dos pulsadores para modificar el estado de la caja. En función del estado lógico de la caja (abierta o cerrada), encenderemos el led RGB de un color determinado, además de accionar el servomotor para bloquear y desbloquear la compuerta.
Durante el desarrollo de esta actividad, trabajaremos las entradas y salidas digitales, así como el uso de la librería servo.h y el uso de la pantalla LCD.
Tareas a realizar:
Coloca dos botones en la protoboard y conéctalos a dos pines digitales, empleando una resistencia de pull-up (10k ohm).
Coloca el led RGB en la protoboard de manera que conectes el diodo rojo y el diodo verde a dos pines digitales, pasando antes por una resistencia limitadora (220 ohm).
Realiza las conexiones del servomotor. El cable de señal (amarillo/naranja) a un pin digital del Arduino Uno. El cable de alimentación (rojo) a el pin 5V del Arduino. El cable de tierra (negro o marrón) a tierra (GND).
Puedes utilizar el siguiente diagrama de ejemplo como ayuda a la hora de realizar las conexiones. Te invitamos a que seas lo mas autónomo posible, pudiendo cambiar la disposición de las conexiones si así lo deseas.

Programación

Explicación actividad a programar
Pulsadores
Los pulsadores se utilizan para cambiar el estado de la caja fuerte (abierta o cerrada). Cada pulsador está conectado a un pin digital del Arduino y se deberá configurar como entrada. Cuando se presione un pulsador, el Arduino deberá detectar la pulsación y ejecutar la acción correspondiente (Actualizar estado de la caja).
Estado de la caja
El estado de la caja (abierta o cerrada) se almacena en una variable booleana (isBoxOpen). Esta variable se actualiza cada vez que se presiona uno de los pulsadores y se utiliza para determinar la acción a realizar (encender el LED y mover el servo).
Servomotor
El servomotor se utiliza para bloquear y desbloquear la compuerta de la caja fuerte. Se controla mediante la librería Servo.h, que permite mover el servo a una posición específica (en grados). En este caso, la posición 90 grados desbloquea la caja y la posición 0 grados la bloquea.
LED RGB
El LED RGB tiene tres colores primarios (rojo, verde y azul), cada uno controlado de manera independiente. Para este caso particular, el LED se enciende en verde cuando la caja está abierta y en rojo cuando está cerrada.
Puedes comenzar el código realizando una declaración de todos los pines que vayas a utilizar, así como el #include de la librería Servo. Seguidamente, en la función setup(), deberás configurar los pines asociados a los pulsadores como entradas y los pines asociados a los leds como salidas. En el bucle loop(), deberás leer el estado de los pulsadoras, ejecutando ciertas acciones dependiendo del botón que se haya pulsado.
pinMode(pin, modo);
donde "pin" es el número del Pin que queremos configurar y "modo" es el cómo
queremos que funcione dicho pin, si como Salida (OUTPUT) o Entrada (INPUT) Dentro de setup(), deberás utilizar esta función para definir los pines conectados a los pulsadores como entradas y los pines conectados a los leds como salidas.
Recuerda usar el método myServo.attach(pin) para poder utilizar el servo mas adelante en el código. Recuerda que debes haber creado un objeto de la clase Servo previamente. Ejemplo: Servo myServo;
digitalWrite(pin, estado);
donde "pin" es el número del Pin que queremos controlar y "estado" es cómo
queremos que ese Pin se establezca, si Encendido (HIGH) o Apagado (LOW). Usaremos esta función para encender y apagar los leds individuales presentes en el interior del led RGB de 5mm. Usa el método myServo.write(grados) para mover el servo, indicándole mediante el argumento "grados" la el ángulo al que deseas posicionar el servo.
digitalRead(pin);
donde "pin" es el número del Pin que queremos leer. La función puede devolver "HIGH" o "LOW" según la tensión que se encuentre presente en ese momento en dicho Pin. Usa esta función en el bucle loop() para observar el estado de los pulsadores. Recuerda que al emplear resistencias de pull-up, normalmente leerás un valor lógico HIGH y, cuando oprimas el pulsador, leerás un estado lógico LOW.
En Arduino, debemos utilizar el condicional de la siguiente manera:
donde "condición" será una comparación o verificación (utilizando los operadores correspondientes como "==", ">=" o "<=") que de cumplirse, permitiría la ejecución de las líneas de código escritas entre los corchetes del condicional.
| Vistas | |
|---|---|
| 5 | Número de vistas |
| 5 | Vistas de miembros |
| 0 | Vistas públicas |
| Acciones | |
|---|---|
| 0 | Gustos |
| 0 | No me gusta |
| 0 | Comentarios |
Compartir por correo
Por favor iniciar sesión para compartir esto webpage por correo.