Está en la página 1de 22

Cuaderno de Formación Continua:

Programación aplicada a la robótica

Documento de trabajo
MINISTERIO DE EDUCACIÓN

Cuaderno de Formación Continua

“PROGRAMACIÓN Y ELECTRÓNICA BÁSICA ORIENTADA A LA ROBÓTICA”


(Documento de Trabajo)

Coordinación
Viceministerio de Educación Superior de Formación Profesional /
Dirección General de Formación de Maestros /
Equipo de Formación Docente Continua

Equipo de Redacción y Dirección


Unidad Especializada de Formación Continua – UNEFCO SANTA CRUZ

Cómo citar este documento:


Ministerio de Educación (2017). “APLICACIÓN DE FUNDAMENTOS DE
PROGRAMACIÓN BÁSICA A LA ROBÓTICA”. Cuaderno de Formación Continua.
UNEFCO, Tarija.

La venta de este documento está prohibida. Denuncie al vendedor a la Dirección


General de Formación de Maestros, Tel. 2440815 o a la Unidad Especializada de
Formación Continua, unefco@unefco.edu.bo.

www.minedu.gob.bo
www.unefco.edu.bo

Bolivia, junio de 2017


Contenido
PRESENTACIÓN .......................................................................................................................... 1

DATOS GENERALES DEL CUADERNO ......................................................................................... 2

Objetivo Holístico del Ciclo .................................................................................................. 2

Objetivo Holístico de Curso.................................................................................................. 2

APLICACIÓN DE FUNDAMENTOS DE PROGRAMACIÓN BÁSICA A LA ROBÓTICA ........................ 3

ACTIVIDADES DE INICIO ....................................................................................................... 3

TEMA 1. Pensamiento computacional ............................................................................... 4

1.1 ¿Qué es el pensamiento computacional? ................................................................ 4

1.2 ¿Qué es un algoritmo? ............................................................................................. 5

1.3 Lenguajes de programación .......................................................................... 6

1.4 ¿Qué NECESITO SABER PARA PROGRAMAR? .......................................................... 9

TEMA 2. APRENDIENDO A PROGRAMAR ......................................................................... 11

2.1 pasos para la instalacion de s4a............................................................................. 11

2.2 ¿Cómo funciona s4a? ............................................................................................. 13

2.3 ¿Como se programa en s4a? .................................................................................. 15

2.4 aprendiendo a prender y apagar un led ................................................................ 16

ACTIVIDAD SUGERIDA ........................................................................................................ 18

CONSIGNAS DE APLICACIÓN ................................................................................................... 18

ESTRATEGIAS PARA LA ETAPA DE INTERCAMBIO DE EXPERIENCIAS ....................................... 18

Bibliografía 18
PRESENTACIÓN

Uno de los factores más importantes para la calidad educativa es el trabajo de los maestros:
de su compromiso, de su profesionalidad y su profesionalismo, dependen, en gran medida, el
ambiente y los resultados educativos.

Avanzando en la Revolución Educativa, el Ministerio de Educación -de acuerdo a lo establecido


en la Constitución Política del Estado (Arts. 78, I, II y III; 96, II) y en el marco del Sistema
Plurinacional de Formación de Maestros (D.S. Nº 156/2009) viene implementando una
estrategia sistemática y sostenible de Formación Continua para garantizar que maestras y
maestros de todo el país tengan posibilidades de fortalecer sus cualidades y actualizarse en
forma permanente.

Los Itinerarios Formativos para Maestros son una modalidad formativa desarrollada por el
Ministerio de Educación, a través de la UNEFCO (Ex-ISER y Ex- INFOPER), enfocada en la
práctica educativa, y la mejora de los procesos, con el objeto de fortalecer la implementación
de la Ley de Educación N° 070 “Avelino Siñani – Elizardo Pérez” y el Modelo Educativo, según
los niveles especialidades, y pertinencia cultural y lingüística.

Los Cuadernos de Formación Continua son materiales de apoyo para el desarrollo del proceso
formativo. En ellos se desarrollan aspectos teórico – prácticos para la mejora de la práctica
educativa desde los lineamientos establecidos en el Modelo Educativo. Las temáticas
presentadas incluyen propuestas de actividades, preguntas y/o ejercicios que ayudarán en el
proceso de formación e implementación, aportando a la mejora de la calidad educativa, a
través de la cualificación docente y la transformación de la educación.

Cada Cuaderno de Formación Continua está estructurado en unidades de trabajo que tienen
relación con las sesiones de la etapa presencial; asimismo, contienen opciones para las
consignas de la etapa de implementación y orientaciones para la etapa de intercambio de
experiencias o socialización.

Sobre la base de estos Documentos de Trabajo, facilitadoras, facilitadores, y participantes en


general, podrán añadir y/o adecuar contenidos, o estrategias formativas de acuerdo a cada
contexto. Invitamos a maestras y maestros participantes de todo el país a contribuir con
observaciones y sugerencias para mejorar y enriquecer posteriores ediciones
(unefco@unefco.edu.bo).

Lic. María Eugenia Hurtado Rodríguez


COORDINADORA NACIONAL a.i. UNEFCO

“Revolución Educativa con Revolución Docente para Vivir Bien”

1
DATOS GENERALES DEL CUADERNO

CICLO CURSO
Introducción a nociones de robótica aplicada al
aprendizaje educativo

Robótica educativa Programación aplicada a la robótica

Diseño y construcción de sistemas robóticos


programados

OBJETIVO HOLÍSTICO DEL CICLO

Contribuimos al desarrollo de la ciencia y la tecnología, asumiendo actitudes de


responsabilidad, analizando y apropiándonos de los elementos, metodologías y
aplicaciones en robótica fortaleciendo las capacidades creativas.

OBJETIVO HOLÍSTICO DE CURSO

Fortalecemos las actitudes de responsabilidad mediante el análisis de la


programación básica a la robótica a través de actividades individuales y grupales para
contribuir en la consolidación del Modelo Educativo Sociocomunitario Productivo.

2
APLICACIÓN DE FUNDAMENTOS DE PROGRAMACIÓN BÁSICA A LA
ROBÓTICA

ACTIVIDADES DE INICIO

En grupo comunitario dialogamos en torno a la siguiente pregunta.

1. ¿Qué herramientas o recursos empleamos en la enseñanza aprendizaje de


programación en el campo de ciencia tecnología y producción?

__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

2. ¿Qué experiencia tenemos en la programación orientada a la robótica en


nuestra practica pedagógica?
__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

3. ¿Qué expectativas tenemos respecto al programa de computación Scratch


aplicadas a la educación en el campo ciencia tecnología y producción?
__________________________________________________________________

__________________________________________________________________

__________________________________________________________________

3
TEMA 1. PENSAMIENTO COMPUTACIONAL

1.1 ¿QUÉ ES EL PENSAMIENTO COMPUTACIONAL?

El Pensamiento Computacional es un proceso de Solución de Problemas que incluye (pero


no se limita a) las siguientes características:

• Formular problemas de manera que permitan usar computadores y otras


herramientas para solucionarlos
• Organizar datos de manera Lógica y analizarlos
• Representar datos mediante abstracciones, como modelos y Simulaciones.
• Automatizar soluciones mediante pensamiento algorítmico (una serie de pasos
ordenados)
• Identificar, analizar e implementar posibles soluciones con el objeto de encontrar la
combinación de pasos y recursos más eficiente y efectiva
• Generalizar y transferir ese proceso de Solución de Problemas a una gran
diversidad de estos.

Estas habilidades se apoyan y acrecientan mediante una serie de disposiciones o actitudes


que son dimensiones esenciales del Pensamiento Computacional. Estas disposiciones o
actitudes incluyen:

• Confianza en el manejo de la complejidad


• Persistencia al trabajar con problemas difíciles
• Tolerancia a la ambigüedad
• Habilidad para lidiar con problemas no estructurados (open-ended)
• Habilidad para comunicarse y trabajar con otros para alcanzar una meta o solución
común1 (Eduteka, 2017)

1
Recomendamos ampliamente consultar el documento “Caja de herramientas para líderes en Pensamiento
Computacional”en el sitio web http://eduteka.icesi.edu.co/articulos/PensamientoComputacional1

4
1.2 ¿QUÉ ES UN ALGORITMO?

Un algoritmo es una secuencia de pasos lógicos necesarios para llevar a cabo una tarea

específica, como la solución de un problema. Los algoritmos son independientes tanto del

lenguaje de programación en que se expresan como de la computadora que los ejecuta. En

cada problema el algoritmo se puede expresar en un lenguaje diferente de programación y

ejecutarse en una computadora distinta; sin embargo el algoritmo será siempre el mismo.

Por ejemplo en una analogía con la vida diaria, una receta de un plato de cocina se puede

expresar en español, inglés o francés, pero cualquiera que sea el lenguaje, los pasos para la

elaboración del plato se realizaran sin importar el cocinero. (FLORES, 2010)

1.2.1 CARACTERÍSTICAS DE LOS ALGORITMOS

Las características fundamentales que debe cumplir todo algoritmo son:

• Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.

• Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener

el mismo resultado cada vez.

• Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún

momento; o sea debe de tener un número finito de pasos.

La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.

En el algoritmo citado anteriormente se tendrá:

Entrada ingredientes y utensilios empleados

Proceso elaboración de la receta de cocina

Salida terminación del plato (por ejemplo, majadito)

Un algoritmo exige que se tengan varias propiedades importantes:

5
Los pasos de un algoritmo deben ser simples y exentos de ambigüedades (diferentes

significados), deben seguir un orden cuidadosamente prescrito, deben ser efectivos y deben

de resolver el problema en un número finito de pasos.

El siguiente ejemplo muestra un algoritmo para cambiar un foco quemado.

Cambiar un foco quemado podría resumirse en dos pasos:

Quitar el foco quemado

Colocar un foco nuevo

Pero, si tuviera que entrenar un robot domestico para que efectúe esta tarea, tendrá que ser

más específico y claro en los pasos a seguir, dar más detalles (suponga que el foco se

encuentra en el techo de una habitación):

Situar escalera bajo el foco quemado.

Elegir un foco de reemplazo (de la misma potencia que el anterior).

Subir por la escalera hasta alcanzar el foco.

Girar el foco contra las manecillas del reloj hasta que esté suelto.

Ubicar el foco nuevo en el mismo lugar que el anterior.

Enroscar en el sentido de las manecillas del reloj hasta que quede apretado.

Bajar de la escalera. (FLORES, 2010)

1.3 LENGUAJES DE PROGRAM ACI ÓN

Al igual que los idiomas sirven de vehículo de comunicación entre seres humanos, existen

lenguajes que realizan la comunicación entre ellos y las computadoras. Estos lenguajes

permiten expresar las instrucciones que el programador desea que la computadora ejecute.

Los principales tipos de lenguajes utilizados en la actualidad son tres:

• Lenguaje maquina

• Lenguaje de bajo nivel (ensamblador)

• Lenguajes de alto nivel

6
1.3.1 LENGUAJES MÁQUINA

Se llama lenguaje máquina a las instrucciones que se dan directamente a la computadora,

utilizando una serie de dígitos binarios o bits, representados por los números 0 y 1 que

especifican una operación. Aunque este lenguaje es el que entiende la computadora, es muy

difícil de manejar en la comunicación humana. Las instrucciones en lenguaje maquina

dependen del hardware de la computadora y, por lo tanto, diferirán de una computadora a

otra. (FLORES, 2010)

1.3.2 LENGUAJES DE BAJO NIVEL (ENSAMBLADOR)

Los lenguajes de bajo nivel son más fáciles de utilizar que los lenguajes máquina, pero, al

igual que ellos, dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia

es el ensamblador (assembler lenguaje). Las instrucciones en lenguaje ensamblador son

conocidas como mnemotécnicos2.

Por ejemplo, mnemotécnicos típicos de

operaciones aritméticas son:

en ingles, ADD, SUB, DIV, etc.

en español, SUM,RES,DIV, etc.

Una instrucción típica de suma seria:

ADD M, N, P

Esta instrucción podría significar "sumar el número contenido en la posición de memoria M al

número almacenado en la posición de memoria N y situar el resultado en la posición de

memoria P". Evidentemente es mucho más sencillo recordar la instrucción anterior con un

mnemotécnico que su equivalente en código máquina.

2
Un código mnemotécnico (o código nemotécnico) es un sistema sencillo utilizado para recordar una secuencia de datos, nombres,
números, y en general para recordar listas de items que no pueden recordarse fácilmente.

7
0110 1001 1010 1011

Un programa escrito en lenguaje ensamblador no puede ser ejecutado directamente por la

computadora (en esto se diferencia esencialmente del lenguaje máquina) sino que requiere

una fase de traducción al lenguaje máquina.

El programa original escrito en lenguaje ensamblador se denomina programa fuente y el

programa traducido en lenguaje maquina se conoce como programa objeto, ya directamente

entendible por la computadora.

El traductor de programas fuente a objeto es un programa llamado ensamblador (assembler),

existente en casi todas las computadoras.

NOTA: No se debe confundir el programa ensamblador, encargado de efectuar la traducción

del programa fuente escrito a lenguaje máquina, con el lenguaje ensamblador (assembly

language), lenguaje de programación con una estructura y gramática definidas.

Los lenguajes ensambladores presentan la ventaja frente a los lenguajes máquina de su mayor

facilidad de codificación y, en general, su velocidad de cálculo.

Los inconvenientes más notables de los lenguajes ensambladores son:

Dependencia total de la maquina lo que impide la transportabilidad de los programas

(posibilidad de ejecutar un programa en diferentes maquinas).

La formación de los programadores es más compleja que la correspondiente a los

programadores de alto nivel, ya que exige no sólo las técnicas de programación, sino también

el conocimiento del interior de la máquina.

Hoy día los lenguajes ensambladores tienen sus aplicaciones muy reducidas en la

programación de aplicaciones y se centran en aplicaciones de tiempo real, control de procesos

y de dispositivos electrónicos, etc. (FLORES, 2010)

1.3.3 LENGUAJES DE ALTO NIVEL

8
Los lenguajes de alto nivel son los más utilizados por los programadores. Están diseñados para

que las personas escriban y entiendan los programas de un modo mucho más fácil que los

lenguajes máquina y ensambladores. Otra razón es que un programa escrito en un lenguaje

de alto nivel es independiente de la máquina; esto es, las instrucciones del programa de la

computadora no dependen del diseño del hardware o de una computadora en particular. En

consecuencia, los programas escritos en lenguajes de alto nivel son portables o transportables,

lo que significa la posibilidad de poder ser ejecutados con poca o ninguna modificación en

diferentes tipos de computadoras; al contrario que los programas en lenguaje máquina o

ensamblador que sólo se pueden ejecutar en un determinado tipo de computadora.

Los lenguajes de programación de alto nivel existentes en la actualidad son muy numerosos,

aunque la práctica demuestra que su uso mayoritario se reduce a Phyton y C++.

1.3.4 ¿QUÉ SON LOS COMPILADORES ?

Un compilador es un programa que traduce los programas fuente escritos en lenguajes de alto

nivel a lenguaje máquina.

No solo traduce sino detecta errores en la programación que uno pudiera haber cometido al

momento de programar.

1.3.4.1 ¿QUÉ ES UN PROGRAMA?

Un programa de computadora es un conjunto de instrucciones (órdenes dadas a la máquina)

que producirán la ejecución de una determinada tarea. En esencia, un programa es un medio

para conseguir un fin. El fin será normalmente definido como la información necesaria para

solucionar un problema.

1.4 ¿QUÉ NECESITO SABER PARA PROGRAMAR?

9
Para poder construir un robot y que este nos obedezca a todas las ordenes que nosotros le
demos, es necesario comunicarnos con él y la forma de hacerlo es mediante un lenguaje de
programación explicado anteriormente.

Un investigador de la MIT3 perteneciente a la misma Nael Gershenfeld dijo lo siguiente:


"Cuando la gente puede crear su propia tecnología es cuando se despierta la pasión".

Bajo estas palabras ponen en marcha un proyecto el cual es la creación de Scratch, el mismo
fue inventado con la finalidad de hacer la programación accesible a cualquiera, con o sin
conocimientos previos. Este fue desarrollado por Media Lab Del MIT, el cual se desarrolló el
2007, hasta la fecha vemos que es el programa más fácil y sencillo de utilizar cuando uno
quiere programas, ya que deja de lado la programación lineal y parte la programación por
bloques.

1.4.1 ¿QUÉ ES SCRATCH?

Scratch es una aplicación informática orientada a los conceptos de programación.

Este programa le podemos dar tres usos tal como dice su lema: "Programa, Juega y Crea".
Scratch facilita el aprendizaje autónomo, abre las puertas del conocimiento hacia un mundo
de la programación. Dado que el manejo de la aplicación es tan sencilla, además de que
cuenta con una interfaz gráfica llamativa y simple,
permite que sea utilizado por niños, jóvenes y
adultos.

Scratch es el conjunto de herramientas de objetos,


gráficos, sonidos y secuencias de comandos los
cuales permita al usuario crear una animación,
juegos e historias interactivas. Además Scratch
suele ser ocupado para la programación de robots.

1.4.2 ¿QUÉ PROGRAMAS UTILIZAREMOS PARA PROGRAMAR?

En el primer curso se instaló previamente el programa adrunio y S4A, el mismo permite dar
las órdenes en un lenguaje de programación basado en Processing.

3
Instituto Tecnológico de Massachusetts por sus siglas en ingles.

10
Viendo las dificultades que se dan al momento de programar y al tratar de que esto no sea
muy difícil de comprender se utilizara el complemento de S4A.

TEMA 2. APRENDIENDO A PROGRAMAR

Como ya sugerimos en el tema anterior los programas utilizados serán arduino 4 y el


programa S4A.

2.1 PASOS PARA LA INSTAL ACION DE S4A

1. Ir a la carpeta contenedora del programa5 (se encuentra en el cd)


2. Abrir el ejecutable

3. Darle permisos para la instalación y seleccionar el idioma español.


4. Como cualquier otro programa hacer clic en siguiente donde corresponde
para la instalación.

5. No olvidarse de aceptar el acuerdo de licencia


6. Marcar la opción de crear un icono en el escritorio para tener a la mano el
programa.

4
El programa de arduino se instaló previamente en el primer curso del presente ciclo.

5
El programa de S4A también se puede descargar del siguiente website http://s4a.cat/

11
7. Y por último hacer clic en instalar.

El programa S4A al momento de instalarse se iniciara automáticamente, siendo el mismo


muy parecido al programa Scratch. Este mismo será el que utilizaremos para introducirnos
en el mundo de la programación. Cabe resaltar que el programa S4A es un programa de
iniciación a la programación, el mismo es amigable, didáctico y muy intuitivo, pero tiene sus
limitaciones.

NOTA.- Se debe entender que el programa S4A es solo un complemento del programa
arduino para poder hacer más fácil la programación del mismo, en una programación en
bloque.

12
2.2 ¿CÓMO FUNCIONA S4A?

Para que el programa esté en funcionamiento se debe de realizar algunos pasos que se
detalla a continuación:

1. Tener instalado previamente el programa arduino.


2. Buscar en el material dado un archivo con el nombre de firewall s4a.

3. Dentro de la carpeta se encuentra un archivo con el mismo nombre, el mismo debe


abrirse haciendo dos clic izquierdos.

4. Una vez abierto el programa, les mostrara códigos que hacen que funcione y se
contacte con el complemento de s4a.

5. Se debe insertar el hardware arduino a la PC mediante su cable USB.

13
6. Una vez insertado se procede a compilar el programa.

7. Si el compilado se realizó de manera correcta cuando abramos el complemento


arduino nos aparecerá números que van cambiando en los puertos.

14
2.3 ¿COMO SE PROGRAMA EN S4A?

Como mencionamos reiteradas veces S4A es un complemento a arduino, la gran ventaja que
presenta es su adaptación de Scratch, el método de programación es por bloques, esto
significa que se programara como una especie de rompecabezas.

La gran ventaja que presenta este entorno de programación es su gran versatilidad y


sencillez para aprender de manera gráfica y divertida.

15
2.4 APRENDIENDO A PRENDER Y APAGAR UN LED

Como vimos en el curso anterior, se puede controlar el prendido y apagado del led, asi
mismo su duración, etc.

Para poder dar órdenes en el complemento de scratch, debemos saber bien las ordenes que
le daremos al arduino y el mismo transmitirá sus órdenes a los led para que se prendan o
apaguen, etc. Esto será posible con la comprensión de algoritmos y un poco de práctica de
diagrama de flujo.

2.4.1 PRENDIENDO UN LED

Con el armado previo en un protoboard con un led y una resistencia como se muestra en la
imagen.

Una vez realizado el ensamblaje se procede a dar las órdenes mediante S4A al arduino.

16
2.4.2 PRENDIENDO VARIOS LEDS

Con la actividad anterior y la experiencia ganada procederemos a realizar varios proyectos


ya sea con uno, dos, o más leds, logrando hacer secuencias, semáforos y lo que este en
nuestra imaginación.

En cuanto a la programación, el limite esta en nuestra imaginación, “si lo podemos pensar se


puede programar”, logrando hacer secuencias complicadas de forma sencilla.

17
ACTIVIDAD SUGERIDA

• De forma comunitaria, mostrar el funcionamiento del programa de


computación scratch 4 Arduino aplicándolo a una problemática planteada
con su respectiva solución.
• Compartir las posibles soluciones en plenaria

CONSIGNAS DE APLICACIÓN

A partir de las herramientas aprendidas establezca las secuencias necesarias para


controlar un robot seguidor de línea.

ESTRATEGIAS PARA LA ETAPA DE INTERCAMBIO DE EXPERIENCIAS

Realizamos una presentación y análisis de los resultados de aplicabilidad basados en


la herramienta proporcionada, el cual permite el aprendizaje de técnicas de
programación para dar soluciones correspondientes a distintos problemas socio-
comunitarios.

BIBLIOGRAFÍA

Eduteka. (7 de Junio de 2017). Eduteka. Obtenido de Pensamiento computacional:


http://eduteka.icesi.edu.co/articulos/PensamientoComputacional1

FLORES, I. A. (8 de 05 de 2010). Algoritmos computacionales. Obtenido de Algoritmos


computacionales: http://correo.uan.edu.mx/~iavalos/FP/FP1.html

Ministerio de Educación - PROFOCOM. (2015). Cuaderno de Concreción Unidad de


Formación N°11: Educación Inicial. La Paz: Ministerio de Educación.

Ministerio de Educación. (2013). Reglamento de Evaluación del Desarrollo Curricular.


Reglamento de Evaluación del Desarrollo Curricular - Resolución Ministerial N°
143/2013. La Paz, Bolivia.

18
Ministerio de Educación. (2013). REGLAMENTO DE GESTIÓN CURRICULAR DEL SUBSISTEMA
DE EDUCACIÓN REGULAR. La Paz, Bolivia: Ministerio de Educación.

Ministerio de Educación. (2014). Educación Inicial en Familia Comunitaria: Lineamientos y


Orientaciones Metodológicas y Programas de Estudio. La Paz: Ministerio de
Educacion.

Ministerio de Educación. (2014). Educación Primaria Comunitaria Vocacional: Programa de


estudio Primero a Sexto año de escolaridad. La Paz: Ministerio de Educación.

Ministerio de Educación. (2014). Medios de Enseñanza en el aprendizaje Comunitario:


Planificación Curricular . La Paz: Ministerio de Educación.

Ministerio de Educacion. (2015). Gestión Curricular del Proceso Educativo. La Paz: Ministerio
de Educacion.

Ministerio de Educación. (2015). Guia de Concreción curricular: Educación Primaria


Comunitaria Vocacional. La Paz: Ministerio de Educación.

Ministerio de Educación. (Enero de 2016). Normas Generales para GEstión Educativa y


Escolar 2016: Resolución Ministerial N°001/2016. La Paz, Bolivia: Ministerio de
Educación.

19

También podría gustarte