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