Guía de programación de adquisición de datos
El software ROBOLAB es un software de programación de robots didácticos desarrollado conjuntamente por el Grupo LEGO, la Universidad de Tufts y NI. El núcleo del software es Lab VIEW, un entorno de programación gráfica desarrollado por NI. El software ROBOLAB ha sido modificado un total de 8 veces desde la versión 1.0 a la versión 2.5.4, con diferentes funciones agregadas a cada modificación. El software ROBOLAB actual es muy potente. La versión 2.5.4 de Robo lab es la única versión completamente china del intérprete de robot. Como lenguaje de programación especial para la enseñanza de robots, es un software gráfico con un punto de partida bajo, alto desarrollo y fácil de aprender, que puede permitir que un estudiante sin ningún conocimiento de programación domine la programación en poco tiempo. Tiene diversas funciones de lenguajes de alto nivel como C y VB. La diferencia es que la programación del software ROBOLAB no necesita recordar el formato de varias declaraciones ni ingresar declaraciones en la computadora. Todo lo que necesita hacer es conectar lógicamente los iconos requeridos y completar la programación. La ventaja más especial de ROBOLAB es que proporciona diferentes niveles y diferentes métodos de programación. Ofrece dos enfoques: "Programador" e "Investigador". El investigador proporcionó funciones de recopilación y análisis de datos. Los "programadores" se dividen en navegantes e inventores. El entorno de programación y los ejemplos proporcionados por el nivel del navegador son relativamente simples y adecuados para principiantes; proporciona un módulo de programación fijo para principiantes; Puede hacer clic en el módulo de íconos con el mouse y seleccionar el ícono requerido en el módulo de íconos desplegable. El nivel de inventor proporciona control total. Dentro de estos dos niveles, hay cuatro niveles más, de menos profundo a más profundo. Como se mencionó anteriormente, la función del software es muy poderosa, entonces, ¿qué aspectos específicos tiene?
1 y ROBOLAB cuentan con más de 200 módulos funcionales, con funciones comunes en VB, C/C y otros lenguajes.
2. Puede controlar directa o indirectamente el movimiento del robot;
3. Utilice ROBOLAB como servidor para realizar el control remoto del robot; 4. Potente La función de recopilación y procesamiento de datos puede recopilar datos a través de sensores DCP, procesarlos y analizarlos.
5. Utilice el lenguaje G, el lenguaje central de Lab VIEW, para realizar análisis e ingeniería de datos profesionales. pruebas.
Los datos proporcionados por China Education Network en marzo de 2008 muestran que el número de estudiantes de escuelas primarias y secundarias en mi país es de aproximadamente 227 millones, de los cuales alrededor de 35 millones tienen experiencia en Internet (lo que representa alrededor de 654,38 05,4 de el número total de estudiantes). En otras palabras, al menos 35 millones de estudiantes de primaria y secundaria en China están actualmente expuestos a las computadoras. Creo que la mayoría de ellos quieren adquirir más conocimientos técnicos. Pero la situación actual es que la educación científica y tecnológica de China aún no ha alcanzado las necesidades de estos estudiantes. Aunque muchos estudiantes de primaria y secundaria utilizan ordenadores y están expuestos a equipos de alta tecnología, por ejemplo, cada vez hay más robots con diversas funciones a nuestro alrededor. Pero para ellos, estos dispositivos son misteriosos. Quieren conocer los secretos, pero no tienen forma de empezar.
El sistema robótico LEGO Dacta presentado por Beijing Xemia Company ha logrado un gran avance en este sentido.
En el corazón del sistema robótico LEGO Dacta se encuentra RCX, un microcontrolador revolucionario. Este controlador puede recibir el programa escrito en la computadora a través de rayos infrarrojos, transmitir los datos recopilados a la computadora a través de rayos infrarrojos e incluso puede servir como cerebro del sistema para comunicarse con "socios" (otros RCX). Utiliza sensores (como ojos o nariz humanos) para detectar cambios en el entorno (como brillo, temperatura, etc.), procesa estos datos recopilados y controla la parte de salida (motor o luz) para encender y apagar. Por supuesto, la creación de robots es un proceso paso a paso. Primero, es necesario establecer objetivos. ¿Qué tipo de robot necesitas? Luego necesitamos diseñarlo y construirlo, luego usar ROBOLAB para escribir un programa para el robot en la computadora y descargar el programa a RCX a través de un transmisor de infrarrojos, porque RCX es una microcomputadora. En esencia, hay un microcontrolador Hitachi H8 y 512 KB de RAM externa. El microcontrolador se encarga de controlar tres puertos de salida y tres puertos de entrada. La ROM integrada de 16 KB del microcontrolador contiene programas básicos como el módulo de arranque para el inicio. Además del microcontrolador H8 y el chip de memoria, el RCX también contiene una pantalla gráfica LCD compacta, un altavoz en miniatura (15 mm de diámetro) y un controlador LCD, un regulador de voltaje, dos diodos de transmisión de infrarrojos, un fotodiodo y una gran cantidad de elementos pasivos. . Una vez que la descarga se haya realizado correctamente, RCX puede ejecutarse automáticamente sin una computadora. Finalmente, prueba tu bot para ver si logra tus objetivos. ¿Qué áreas necesitan mejorar? Vuelve al paso uno y mejora tu bot. En este proceso, se requiere que los estudiantes den rienda suelta a sus talentos creativos, apliquen de manera integral diversos conocimientos y desarrollen un espíritu de trabajo en equipo. También desempeña un muy buen papel de apoyo para que los estudiantes de primaria y secundaria de mi país aprendan los principios de los robots y exploren el conocimiento científico y tecnológico.
La programación es un paso importante en todo el proceso de fabricación del sistema robótico LEGO Dacta. Transmite nuestras instrucciones al sistema de robot LEGO Dacta, permitiendo que el sistema de robot LEGO Dacta funcione de acuerdo con nuestros objetivos.
Además de cómo explicar sistemáticamente el proceso de programación a la mayoría de los entusiastas de la tecnología de las escuelas primarias y secundarias, he resumido algunas pequeñas experiencias en trabajos específicos y espero discutirlas con ustedes. A continuación, les presentaré el proceso de programación de un ventilador eléctrico.
La tarea es construir un ventilador eléctrico, igual que el ventilador eléctrico de nuestra casa. Puede encender y apagar el ventilador, ajustar diferentes velocidades del viento para el ventilador y configurar el tiempo de apagado del ventilador. En esta tarea, primero necesitamos hacer un ventilador eléctrico.
Debido a que este artículo se centra en la programación, no se analizarán los pasos para construir un ventilador eléctrico.
Para explicar mejor esta tarea a los entusiastas de la tecnología de la escuela primaria y secundaria, la tarea se divide en tres pasos. Los pasos específicos son los siguientes:
1. Puedes controlar el interruptor del ventilador eléctrico para traernos una brisa fresca.
2.
3. Establezca la hora del ventilador eléctrico para encenderlo o apagarlo a la hora especificada;
Para permitir que los estudiantes comprendan los principios de la programación informática de forma más intuitiva, Aquí presentaremos el diseño y los pasos de la escritura del diagrama de flujo. El diagrama de flujo es la encarnación de las ideas de programación y la preparación que debemos hacer antes de programar. Aquí primero tenemos que escribir el diagrama de flujo del ventilador eléctrico. Es ampliamente utilizado y es una descripción de los métodos, ideas o algoritmos de las personas para resolver problemas. Sus ventajas son: se utilizan símbolos simples y estandarizados, y el método de dibujo es simple, la estructura es clara y lógica y es fácil de describir y comprender;
A continuación, usaremos el diagrama de flujo para completar los pasos de descomposición de la tarea uno por uno y escribiremos el programa usando ROBOLAB2.5.4 en la computadora.
Primero, controle el interruptor del ventilador eléctrico para que nos traiga una brisa fresca;
Deje que los alumnos piensen en cómo funciona el ventilador eléctrico en casa. Primero, el ventilador eléctrico está detenido; cuando encendemos la alimentación, el motor del ventilador eléctrico girará, haciendo que las aspas del mismo eje giren; cuando apaguemos la alimentación, el motor del ventilador eléctrico dejará de girar; y las cuchillas también dejarán de girar.
Permita que los estudiantes usen interruptores táctiles para hacer interruptores de ventiladores eléctricos para que los ventiladores eléctricos que fabriquen puedan girar.
Los sensores táctiles son los más simples e intuitivos de la familia de sensores de robots docentes. Funciona de manera muy similar a un botón en el timbre de su puerta: cuando se presiona, se conecta un circuito, la electricidad fluye, RCX puede detectar este flujo de datos y su programa leerá el estado actual del sensor táctil: encendido o apagado. Por supuesto, instalar un sensor táctil en el RCX equivale a tener un órgano sensorial. El robot puede saber si lo estás tocando. )
Según el modo de funcionamiento del ventilador eléctrico de casa, conecte el motor al puerto A de RCX y conecte el interruptor táctil al puerto 1 de RCX. Escriba el diagrama de flujo de la siguiente manera:
Inicio
Detenga los puertos a, b y c.
Presione No. 1 sensor táctil.
El motor gira hacia la izquierda
Pulse No. 1 sensor táctil.
Agrupación
Al hacer diagramas de flujo y programación, los estudiantes pueden descubrir que la idea de la programación de robots es controlar primero el puerto de salida y luego proporcionar una señal al puerto de entrada, y luego controlar el puerto de salida en una secuencia lógica escrita. Ejecute el programa una vez en bucle y permita que los estudiantes observen los cambios en el programa. Al mismo tiempo, los estudiantes pueden comprender el papel de los bucles en los programas.
En segundo lugar, ajuste el ventilador a diferentes velocidades según sea necesario;
Aquí, para facilitar la observación, debemos considerar cambiar la velocidad del motor de baja a alta al escribir el programa. Según la idea de programación de robots, primero se controla el puerto de salida, luego el puerto de entrada proporciona una señal y luego se programa a su vez la secuencia lógica del puerto de salida. Escriba el diagrama de flujo de la siguiente manera:
Inicio
Detenga los puertos a, b y c.
Presione No. 1 sensor táctil.
Un motor gira hacia la izquierda a una velocidad de 1.
Presione No. 1 sensor táctil.
Bale
El motor gira hacia la izquierda a 3 veces la velocidad.
Presione No. 1 sensor táctil.
Un motor gira hacia la izquierda a cinco veces la velocidad.
Presione No. 1 sensor táctil.
Los micromotores de RCX tienen de 1 a 5 velocidades dependiendo del voltaje suministrado, y están ordenados de lento a rápido.
Aquí, los estudiantes pueden considerar cómo programar dos sensores táctiles. Por supuesto, no podemos controlar el encendido y apagado del ventilador en ningún momento durante este programa de ciclo. A continuación se presenta un método de programación y un diagrama de flujo más avanzados.
Al programar en este nivel, los estudiantes encontrarán que es más complicado que programar en el nivel del navegador. La lógica de programación mencionada anteriormente debe cambiarse aquí. Esto requiere preparar un diagrama de flujo detallado:
Inicio
Marque el punto de salto rojo
Presione No. 1 sensor táctil.
El motor gira hacia la izquierda
Pulsar el sensor táctil nº3.
Bale
Un motor gira hacia la izquierda a una velocidad de 1.
Pulsar el sensor táctil nº3.
El motor gira hacia la izquierda a 3 veces la velocidad.
Pulsar el sensor táctil nº3.
Al pulsar el interruptor táctil 1 finaliza.
Un motor gira hacia la izquierda a cinco veces la velocidad.
El motor deja de funcionar.
Salta al punto de salto marcado en rojo.
No presionado
1
Número
Interruptor táctil
En este programa, aplicamos la rama de eventos. ¿Qué es un evento? Si alguna vez ha utilizado la programación informática, habrá notado que existen grandes diferencias entre la programación en Windows y DOS, especialmente el mecanismo de mensajería de Windows. La programación en Windows se basa en eventos. Windows genera varios eventos, como clics del mouse y entrada de datos, y el programa responde a varios eventos. En versiones de firmware anteriores de RCX, no estaba controlado por eventos. Ahora, el firmware 3.28 admite esta característica avanzada por primera vez. Con ROBOLAB2.5, puede escribir programas para responder rápidamente a eventos y mejorar el rendimiento en tiempo real. Se puede decir que la conducción por eventos es la mejor característica de esta nueva versión de firmware. Hay una escena en la que estás viendo tu serie de televisión favorita.
Entonces sonó el teléfono y pudimos oírlo.
Debido a que se trata de un evento, debe gestionarlo en este momento. Podrías contestar el teléfono, pero casualmente, suena el timbre en ese momento. Entonces, ¿respondes el teléfono primero o abres la puerta primero? Debe considerar la prioridad de estas dos tareas. La prioridad de la tarea se explica más adelante en esta sección. El software que utilizamos en Windows es como usted en la escena. Necesita manejar una variedad de eventos (se producen miles de eventos cada segundo), como escribir con el teclado, hacer clic con el mouse, relojes, etc. El trabajo del software es manejar varios eventos.
Para definir un evento, necesitamos definir los atributos y las condiciones de activación del evento. Por supuesto, en eventos estándar, las propiedades del evento son predeterminadas. En este programa, configuramos las condiciones para activar el evento cuando se presiona el interruptor de 1 toque. Si el evento no se activa, el programa se repite en el programa de salto azul. Si se activa la condición, el programa salta del programa de salto azul.
Explicar especialmente la definición de salto. La declaración de salto, también conocida como declaración GOTO, es una declaración de transferencia incondicional. Es decir, marcar puntos de transferencia y puntos de aterrizaje en cualquier parte del programa. Cuando el programa llegue al punto de transferencia marcado, el programa se transferirá incondicionalmente al punto de aterrizaje. El punto de aterrizaje del programa puede estar delante o detrás del punto de transferencia marcado. Puedes usar los saltos rojo, azul, amarillo, verde y negro en ROBOLAB. Si los usas todos, también puedes usar los saltos blancos para sumar el número de saltos (6~20). Entonces puedes usar 20 comandos de salto simultáneamente en un programa.
En tercer lugar, establezca la hora para que el ventilador eléctrico se encienda o apague a la hora especificada;
El tiempo es una información de control muy importante en el sistema del robot. Aquí, primero les pedimos a los estudiantes que usen el tiempo para controlar el apagado del robot, incluso si el ventilador eléctrico se apaga automáticamente después de 10 segundos.
(Imagen 5)
¿Qué debo hacer si quiero que el ventilador eléctrico arranque a los 5 segundos y se pare a los 10 segundos? Los estudiantes escribirán rápidamente el siguiente diagrama de flujo.
Cerrar los puertos a, b y c.
Cerrar los puertos a, b y c.
Cerrar los puertos a, b y c.
Espera 5 segundos.
Espera 5 segundos.
Cerrar los puertos a, b y c.
Iniciar
Espera 5 segundos.
El motor gira hacia la izquierda
Espera 10 segundos.
Parada y fin
¿Cómo hacer un temporizador para un ventilador eléctrico, es decir, cuánto tiempo se puede controlar para encender o apagar el ventilador?
Configuramos el tiempo de apagado del ventilador en 5 segundos. Un temporizador que establece el tiempo en incrementos de 5 segundos requiere una rama y un contenedor. Las ramas son declaraciones condicionales. En ROBOLAB, la ramificación y la fusión se utilizan para implementar la selección condicional. Cada icono tiene una entrada a la izquierda y dos salidas con diferentes condiciones a la derecha. Al final de una rama condicional, se debe utilizar un icono de combinación para fusionar las dos ramas. ¿Qué significa contenedor? Muchas personas tienen dificultades para comprender el concepto de contenedores cuando aprenden ROBOLAB porque este concepto no existe en otros entornos de programación. Entonces, ¿qué es exactamente un contenedor y para qué sirve? Recuerdo que cuando aprendí el lenguaje informático por primera vez, el profesor dio un ejemplo para explicar el concepto de variables y cómo intercambiar los valores de dos variables: una taza A está llena de leche y la otra taza B está llena de café. ¿Cómo hacer taza de leche B y taza de café A? La copa aquí es un contenedor, que es una variable en lenguajes de alto nivel. Si sabe algo sobre microcontroladores (MCU), los contenedores son registros en la MCU. El diagrama de bloques del programa es el siguiente:
(Figura 6)
¿Por qué vemos múltiples ramas utilizadas en este programa en lugar de bucles? Porque el programa ROBOLAB se ejecuta de izquierda a derecha. Si usamos declaraciones de bucle, es decir, declaraciones While y for, el programa que escribimos es el siguiente.
(Figura 7)
En la Figura 7, la condición para configurar el programa de bucle para que salte del bucle es que el temporizador rojo dure más de 5 segundos, pero encontraremos que después de que el temporizador rojo supere los 5 segundos, no podrá salir del bucle inmediatamente. Esto se debe a que el programa se ejecuta de izquierda a derecha. Después de que el bucle del programa alcance la condición de salto, se debe ejecutar el paso de presionar el interruptor táctil No. 1 para salir del bucle nuevamente.
Si no presionamos el interruptor de 1 toque después de que el programa de bucle alcance la condición de salto, el programa se detendrá aquí hasta que se presione el interruptor de 1 toque. Esto se desvía de nuestro objetivo de que el temporizador termine de configurarse después de 5 segundos, por lo que se necesita una rama aquí. En el programa de rama, podemos ver que el interruptor táctil 1 se ejecutará de izquierda a derecha independientemente de si se presiona, por lo que el programa puede completar la configuración después de 5 segundos, lo cual está en línea con nuestra intención original. El diagrama de flujo del programa en la Figura 6 es el siguiente:
Inicio
El motor gira hacia la derecha.
Se reinicia el contenedor rojo
Se reinicia el temporizador rojo.
Establece un punto de aterrizaje rojo.
Cuando el cronómetro rojo es mayor a 5 segundos.
¿Pulsas el interruptor táctil nº1?
Sí
Sí
Contenedor rojo más 5
Mostrar valor del contenedor rojo
Espere 0,2 segundos.
No
Mostrar el valor del contenedor rojo
Espere unos segundos para ver el valor del contenedor rojo.
Motor parado
Saltar al punto de aterrizaje azul
Saltar al punto de aterrizaje rojo
Punto de aterrizaje azul
Paquete
Fusionar ramas
Fusionar ramas
Las líneas de puntos en el diagrama de flujo se refieren a líneas de flujo que en realidad no se ejecutan durante la ejecución del programa. En este punto tenemos configuradas todas las funciones del ventilador eléctrico. Según los procedimientos anteriores, podemos ver los ventiladores eléctricos en vida. A través de estos, los estudiantes pueden comprender claramente que el pensamiento del robot lo establecemos nosotros y que el robot se ejecuta en secuencia de acuerdo con nuestro programa preestablecido. Si nuestra programación no está configurada correctamente, el robot funcionará según nuestra programación incorrecta. Esto puede concienciar a los estudiantes de la importancia de un análisis cuidadoso y refinado.
Al mismo tiempo, aprendí de mis compañeros que normalmente hay cuatro etapas en la fabricación de robots: proponer una idea - diseño y construcción - programación informática - operación y depuración. Estas cuatro etapas son sorprendentemente similares al proceso de diseño de productos modernos: diseño conceptual - diseño estructural - control inteligente - prueba del producto. Las cuatro etapas se basan todas en el análisis de problemas y nunca abandonan las actividades intelectuales de las personas. Este proceso determina el papel dominante del pensamiento humano, no sólo la primera etapa. La creatividad es la fuente del diseño innovador, pero el pensamiento suele ser general e inmaduro, lo que lleva a la diversidad de soluciones de diseño conceptual. La solución se materializa a través del diseño estructural y ofrecemos la creación de modelos estructurales reconfigurables basados en teoría multidisciplinaria. Estos modelos de robots, que integran estructura mecánica, sensores, controladores, interfaces de circuitos y teoría de sistemas, brindan soporte material y base técnica para la realización de diversas soluciones de diseño conceptual. El programa de diseño generado en el relajado entorno de programación ROBOLAB libera por completo el aporte intelectual que aportan los engorrosos lenguajes de programación. La tecnología de control de robots rápida y simple, la mejora continua de los modelos de robots y los programas de control mediante depuraciones repetidas, proporcionan una reproducción física y una base de evaluación científica para la toma de decisiones del programa, en lugar de una evaluación puramente teórica, la evaluación del programa es casi el producto completo. Los modelos creados son todos robots inteligentes y simuladores de tecnología moderna. Todos son modelos que se ponen al día y abren el futuro. Cada proyecto crea realidad y construye futuro.
Materiales de referencia:
Guía de programación ROBOLAB2.5