Haciendo que un programa inicie utilizando un switch

Transcripción

Haciendo que un programa inicie utilizando un switch
Haciendo que un programa inicie utilizando un switch
Requerimientos
Para el desarrollo de esta actividad se requiere que:
 Contemos con un robot BoeBot armado con placa Arduino.
 2 cables de diferentes colores.
 1 Resistor de 10kΩ (Café-Negro-Naranja)
 Switch de botón.
Observemos el video en la comunidad virtual para observar cómo el robot solamente inicia
su movimiento hasta que se presiona el switch.
Conectando el Switch
Para conectar el switch al Arduino, necesitaremos un switch, dos cables y un resistor de 10k Ω
(café-negro-naranja).
Una vez que contamos con todas las partes requeridas, necesitamos conectar el switch al
Arduino utilizando el protoboard.
www.smartcubo.com
1
www.smartcubo.com
2
Nota: La tarjeta que se muestra en la imagen de manera virtual puede ser un poco diferente a
la física. Esto puede ser debido al programa utilizado para crear la vista virtual. Tanto el
diagrama físico como el diagrama virtual trabajan de la misma manera.
Configurando Arduino
Ahora que tenemos todo conectado, necesitamos indicarle a Arduino la manera en que se
configuran las conexiones antes de programar. Indicaremos que tenemos los servos de
conducción conectados en los puertos 10 y 11. También tenemos que decirle a Arduino que el
conector 2 es una entrada digital (el switch que nos permitirá iniciar el movimiento) y
nombrarlo como “startSwitch”.
 Parallax Boe Shield
 Servo de rotación continua llamado “rightServo” en conector 10
 Servo de rotación continua llamado “leftServo” en conector 11
 Switch llamado “iStartSwitch” en conector 2
www.smartcubo.com
3
Programando
Para este proyecto solamente queremos demostrar como el switch puede ser utilizado para
iniciar un programa. Para mantenerlo simple, sólo queremos que el robot se mueva hacia el
frente, retroceda y se detenga. Como ya tenemos el código que permite avanzar y retroceder,
solamente copiaremos el código al archivo que estamos utilizando y lo modificaremos.
www.smartcubo.com
4
Para leer el status del switch utilizaremos el comando
Ya que queremos que la ejecución del código se “detenga” mientras el switch no sea
presionado, podemos utilizar un ciclo while que se ejecute mientras que el switch no sea
presionado.
El ciclo while vacío (o ciclo “sin utilizar”) sirve como una pausa hasta que el switch sea
presionado, el ciclo while continuamente verifica el estado del switch, y mientras no sea
presionado ejecutará cualquier instrucción dentro del ciclo (en este caso nada).
Insertando dicho bloque de código en el archivo existente obtendremos el siguiente código
que espera para iniciar su ejecución hasta que se presiona el switch de inicio.
www.smartcubo.com
5
www.smartcubo.com
6
Pruebas de funcionamiento
Después de descargar el código a nuestro BoeBot respondamos lo siguiente:
¿Qué sucede con nuestro robot cuando lo encendemos?
Si quisiéramos que el robot no se activara sino hasta que se presione dos vece s el switch,
¿Qué piensas se debería cambiar en nuestro código?
¿Es posible hacer que nuestro robot se detenga al presionar el switch, explica por qué?
www.smartcubo.com
7

Documentos relacionados