Archivo de la categoría: Uncategorized

2014-15. ARDUINO. PUENTE EN H

cabecera-entradas-blog
 ARDUINO. PUENTE EN H

Un Puente H o Puente en H es un circuito electrónico que hace posible que un motor eléctrico DC gire en ambos sentidos, avance y retroceda. Estos puentes están disponibles como circuitos integrados aunque también se pueden construir mediante componentes discretos.

El término de “Puente H” viene de la representación gráfica del circuito. Dicho puente se crea con 4 interruptores mecánicos o mediante transistores. Cuando los interruptores S1 y S4 están cerrados y S2 y S3 abiertos se aplica una tensión positiva en el motor, haciendo que gire en un sentido. Abriendo los interruptores S1 y S4 y los interruptores S2 y S3 cerrados el motor gira en sentido contrario.
El puente H, como ya se ha indicado, se utiliza para invertir el giro de un motor, así como para frenarlo, haciendo un corto entre las bornas del motor. Otra forma de utilizarlo es para permitir que el motor frene bajo su propia inercia, cuando desconectamos el motor de la fuente que lo alimenta.
Lo más común en estos circuitos es utilizar interruptores de estado sólido como los transistores ya que sus tiempos de vida y frecuencias de conmutación son mucho más altas.
Los interruptores son acompañados de diodos (conectados a ellos en paralelo) que permitan a las corrientes circular en sentido contrario al previsto cada vez que se conmute la tensión ya que el motor está formado por bobinados que durante cortos períodos de tiempo se opondrán a que la corriente varíe.
puente-h1
 puente-h2

El armado del circuito requiere básicamente de 12 componentes: 4 transistores, 4 resistores y 4 diodos.

2013-08-26-758

Puente H
Controlar motores usando el SN75441 (Puente H)
A continuación se mostrará cómo usar el SN75441 para controlar dos motores DC de 12V. 
En este esquema se puede observar donde a donde va dirigido cada pin del puente H. Ahora les mostraré un diagrama de pines del puente H. (OJO CON LOS PWM–> EN ARDUINO UNO NO TODOS LOS PINES SON PWM, ASÍ QUE EL ESQUEMA SIGUIENTE LO TENDRÍAS QUE ADAPTAR)
Como se muestra en el diagrama:
  • Los pines 1, 9 y 15 van a la parte positiva del protoboard donde habrá 5V. 
  • El pin 8 va a el pin VIN donde habrá 12 V y con este correrán los dos motores dc. 
  • Los pines 4, 5, 12 y 13 van a la parte negativa del protoboard.
  • El motor izquierdo va en los pines 3 y 6.
  • El motor derecho va en los pines 11 y 14.
  • El pin 2 del puente H va a el pin digital 2 del Arduino. 
  • El pin 7 del puente H va a el pin digital 3 del Arduino.
  • El pin 10 del puente H va al pin digital 8 del Arduino.
  • El pin 15 del puente H va al pin digital 7 del Arduino.
Después de estas conexiones ya puedes programar el Arduino para mover los motores usando el programa de Arduino. 
int I1=6;
int I2=7;
int I3=8;
int I4=9;
int E1=3;
int E2=12;
void setup()
{
pinMode(I1,OUTPUT);
pinMode(I2,OUTPUT);
pinMode(I3,OUTPUT);
pinMode(I4,OUTPUT);
pinMode(E1,OUTPUT);
pinMode(E2,OUTPUT);digitalWrite(I1,LOW);
digitalWrite(I2,LOW);
digitalWrite(I3,LOW);
digitalWrite(I4,LOW);
}void M1Adelante()
{
digitalWrite(I1,LOW);
digitalWrite(I2,HIGH);
}void M1Atras()
{
digitalWrite(I1,HIGH);
digitalWrite(I2,LOW);
}

void M2Adelante()
{
digitalWrite(I3,LOW);
digitalWrite(I4,HIGH);
}

void M2Atras()
{
digitalWrite(I3,HIGH);
digitalWrite(I4,LOW);
}

void paradM1()
{
digitalWrite(I1,LOW);
digitalWrite(I2,LOW);
}

void paradM2()
{
digitalWrite(I3,LOW);
digitalWrite(I4,LOW);
}

void loop()
{
for(int i=1; i<=253; i++)
{
analogWrite(E1,i);
M1Adelante();
delay(10);
}
for(int i=253; i>=1; i–)
{
analogWrite(E1,i);
M1Atras();
delay(10);
}
}

Anuncios

2014-15. INICIACIÓN A LA PROGRAMACIÓN. SCRATCH. PARTE II

cabecera-entradas-blog

INGREDIENTES BÁSICOS DE UN PROYECTO DE SCRATCH
Los proyectos de Scratch están construidos con Objetos (Objeto móvil programable es la traducción al español dada a Sprite, en adelante se utiliza solo la palabra Objeto). Usted puede modificar cómo se ve un Objeto dándole un disfraz diferente. Usted puede hacer que el Objeto parezca una persona, un tren, una mariposa o cualquier otra cosa. Usted puede usar cualquier imagen como disfraz: puede dibujar una imagen en el Editor de Pinturas, importar una imagen de su disco duro, o arrastrar una imagen de un sitio Web.

Usted puede darle instrucciones al Objeto, diciéndole que se mueva o toque música o que reaccione a otros Objetos. Para decirle a un Objeto qué hacer, usted encaja bloques gráficos unos con otros formando pilas, llamadas programas (scripts). Cuando usted hace doble clic sobre un programa, Scratch ejecuta en orden los bloques desde la parte superior del programa hacia abajo.

m

ESCENARIO

El Escenario es dónde usted ve cómo sus historias, juegos y animaciones cobran vida. Los Objetos se mueven e interactúan unos con otros en el escenario.
El escenario tiene 480 unidades de ancho y 360 unidades de alto y está dividido en un plano cartesiano x – y. El centro del escenario corresponde a las coordenadas X:0, Y:0.

1 Para encontrar posiciones x-y en el escenario, mueva el ratón

en él y mire la información de posición x-y del ratón,

justo debajo del escenario en la parte derecha.1posición x del ratón: 75

posición y del ratón: 25

q 2 Haga clic en el botón del Modo Presentación para ver los proyectos en tamaño “Pantalla

Completa”. Para salir del Modo Presentación, presione la tecla escape (Esc).

Haga clic en los botones Modo Vista para aumentar o disminuir el tamaño del escenario. Usted

puede usar la vista de “escenario pequeño” para ver Scratch en monitores pequeños o para

ampliar el área de programas.

NUEVOS OBJETOS (SPRITES)

Cuando usted comienza un nuevo proyecto en Scratch, este siempre inicia con el Objeto Gato. Para crear nuevos Objetos,
haga clic en los siguientes botones:

p Pinte su propio disfraz para un nuevo Objeto usando el Editor de Pinturas
c Seleccione un disfraz para un nuevo Objeto o importe un Objeto completo
e Obtenga un Objeto sorpresa

Si usted desea borrar un Objeto, seleccione las tijeras que encuentra en la Barra de Herramientas y haga clic sobre el Objeto; o, presione clic derecho sobre el Objeto (Mac: presione las teclas Ctrl+clic) y seleccione borrar dentro de las opciones del menú desplegable que aparece.

Para crear un Objeto que aparentemente haga parte del fondo del Escenario, presione clic derecho sobre el Escenario (Mac:
presione las teclas Ctrl+clic) y elija “ seleccionar región de la pantalla para un nuevo objeto”.

LISTA DE OBJETOS 

El Listado de Objetos muestra imágenes en miniatura de todos los Objetos disponibles en el proyecto. Cada Objeto, muestra su nombre bajo la imagen.

c

Para ver y editar, los programas, los disfraces y los sonidos de los Objetos, haga clic sobre la imagen miniatura del Objeto deseado,
en la Lista de Objetos; o haga doble clic sobre el Objeto en el Escenario (el Objeto seleccionado se resalta y aparece enmarcado
en azul, en la Lista de Objetos).

Para mostrar, exportar, duplicar o borrar un Objeto, presione clic derecho (Mac: presione las teclas Ctrl+clic) sobre su imagen
miniatura en la Lista de Objetos. Para mostrar un objeto ubicado fuera del Escenario o escondido, presione Shift+clic sobre su imagen miniatura en la Lista de Objetos, esto traerá el Objeto a la mitad del Escenario y lo mostrará.

Usted puede reacomodar los Objetos que aparecen en la Lista de Objetos, arrastrando las imágenes miniatura.

Así como un Objeto puede modificar su apariencia cambiando de disfraz, el Escenario puede cambiar su apariencia intercambiando fondos. Para ver y editar los programas, fondos y sonidos asociados con el Escenario, haga clic en el ícono del Escenario ubicado a la izquierda de la Lista de Objetos.

PALETA DE BLOQUES Y ÁREA DE PROGRAMAS

Para programar un Objeto, arrastre los bloques desde la Paleta de Bloques al Área de Programas. Para ejecutar un bloque haga doble clic sobre este.

Cree programas (scripts) encajando bloques para formar pilas con ellos. Haga doble clic sobre cualquier parte de la pila para ejecutar el programa completo, desde arriba hasta abajo. Para saber qué hace un bloque, haga clic derecho sobre este (Mac: presione las teclas Ctrl+clic), luego seleccione ayuda en el menú desplegable.

Cuando usted arrastra un bloque por el área de programas, una iluminación blanca le indica dónde puede ubicarlo para formar una conexión válida con otro bloque. Usted puede insertar bloques en la mitad de una pila o al final de esta.

Para mover una pila, haga clic sostenido en el bloque superior y arrastrela. Si arrastra un bloque que se encuentra en la mitad de una pila, todos los bloques ubicados debajo de este lo acompañarán. Para copiar una pila de bloques de un Objeto a otro, arrastre la pila hasta la imagen miniatura del otro Objeto en la Lista de Objetos.

Algunos bloques contienen campos de texto editables en color blanco, por ejemplo m. Para cambiar el valor, haga clic dentro del área blanca y escriba en ella un número. Usted puede también insertar bloques redondeados como p dentro de estas áreas.

Algunos bloques tienen menús desplegables como f. Haga clic en la flecha descendente para ver el menú y haga nuevamente clic en una opción para seleccionarla.

Para limpiar (organizar) el Área de Programas, haga clic derecho y seleccione limpiar en el menú (para Mac: presione las teclas Ctrl+clic y haga lo mismo). Para exportar un pantallazo del Área de Programas, haga clic derecho y seleccione guardar imagen de los programas.

Para agregar un comentario en el Área de Programas, haga clic derecho (Mac: presione las teclas Ctrl+clic) y seleccione añadir comentario; aparecerá un área amarilla para comentarios en la que usted puede escribir un texto.

t

Para ajustar el ancho del área de comentarios, use la manija ubicada en el borde derecho. Haga clic en el triángulo del extremo superior izquierdo para expandir o minimizar el área de comentarios.

Se pueden adicionar comentarios en cualquier sitio del área de Programas y usted puede cambiar su ubicación arrastrándolos.

Para unir un comentario a un bloque, arrastre el cometario ubicándolo sobre el bloque. Para retirarlo, arrastre el comentario lejos del bloque.

DISFRACES

Haga clic en la pestaña de Disfraces para ver y editar los disfraces del Objeto.

o

Este Objeto tiene dos disfraces. El disfraz actual del Objeto (girl1-walking) esta resaltado. Para cambiarlo a uno diferente, simplemente haga clic en la imagen miniatura del disfraz que usted quiere.

Existen cuatro maneras de crear nuevos disfraces:

  1. Haga clic en p para dibujar un nuevo disfraz en el Editor de Pinturas
  2. Haga clic en s para importar un archivo de imágenes del disco duro
  3. Haga clic en 3para tomar fotos de la cámara web (que hace parte de su computador o está conectada a este). Cada que usted hace clic en el botón 4 o presiona la barra espaciadora, toma una foto. Arrastre una o más imágenes de la Web o de su PC

Scratch reconoce muchos formatos de imágenes: JPG, BMP, PNG, GIF (incluyendo GIF animados).

Cada disfraz tiene un número (que se muestra a su izquierda). Usted puede reorganizar el orden de los disfraces arrastrando las imágenes miniatura de estos. El numero asignado a los disfraces se actualiza si usted les cambia el orden.

Presione clic derecho  (Mac: Ctrl+clic) sobre la imagen miniatura de un disfraz para convertirlo en un nuevo Objeto o para exportar una copia del disfraz como un archivo separado.

SONIDOS

Haga clic en la pestaña Sonidos para ver los sonidos de los Objetos

s

Usted puede grabar nuevos sonidos o importar archivos de sonidos. Scratch puede leer archivos MP3 y archivos descomprimidos WAV, AIF y AU (codificados con 8 bits o 16 bits por muestreo, pero no con 24 bits por muestreo).

INFORMACIÓN DEL OBJETO ACTUAL

e

La Información del Objeto Actual muestra el nombre de un Objeto, su posición x-y, su dirección, su estado de giro, el estado de su lápiz y si está asegurado o no.
Usted puede escribir un nuevo nombre para el Objeto.

La dirección del Objeto indica en qué dirección se moverá este cuando se ejecute un bloque de movimiento (0=arriba, 90=derecha, 180=abajo, -90=izquierda). La línea azul en la imagen miniatura muestra la dirección del Objeto. Usted puede arrastrar esta línea para cambiar la dirección del Objeto y hacer doble clic en el Objeto para volver a su estado original (dirección=90).

Haga clic sobre Asegurar (candado) para cambiar el estado de asegurar/desasegurar del Objeto.
Un Objeto no asegurado, puede arrastrarse en el modo presentación y en el reproductor Web (web player).

Usted puede ver el color actual del lápiz (ubicado enseguida del candado) cuando el lápiz está abajo.

Para exportar un Objeto, haga clic derecho (Mac: Ctrl+clic) sobre el Objeto en el Escenario o en la Lista de Objetos.
Exportar guarda el Objeto como archivo .sprite, que puede importarse en otro proyecto.

ESTILO DE ROTACIÓN

Haga clic en los botones Estilo de Rotación para controlar cómo se ve el disfraz a medida que el Objeto cambia su dirección.

q Rotación: El disfraz rota a medida que el Objeto cambia de dirección.
e Pestaña izquierda-derecha: el disfraz mira o a la izquierda o a la derecha.
e No-rotar: el disfraz nunca rota, aun cuando el Objeto cambie de dirección.

BARRA DE HERRAMIENTAS

b

Haga clic en la Barra de Herramientas para seleccionar una herramienta y luego haga clic sobre otros Objetos para llevar a cabo una acción.

c Duplicar: Duplica Objetos, disfraces, sonidos, bloques y programas. (Shift+click para multiplicar la acción).
t Borrar: Borra Objetos, disfraces, sonidos, bloques y programas. (Shift+click para multiplicar la acción).
y Agrandar Objeto: Aumenta el tamaño de los Objetos. (Shift+click para acelerar esta acción).
y Achicar Objeto: Disminuye el tamaño de los Objetos (Shift+clic para acelerar esta acción).

Para regresar al cursor (flecha), haga clic en cualquier espacio en blanco de la pantalla.

MENU

6

Haga clic en el ícono de Lenguaje 8 para cambiar el idioma de la interfaz de usuario de Scratch. Cualquiera puede agregar o editar las traducciones de idioma de Scratch. Para agregar o modificar una traducción, diríjase a la sección de Apoyo (Support) de la página web de Scratch (http://info.scratch.mit.edu/Translation/).

Haga clic en el icono de Guardar 8 para guardar su proyecto.

Haga clic en el icono de Compartir 1 para subir su proyecto al sitio web de Scratch (http://scratch.mit.edu).

Desde el menú Archivo usted puede crear un nuevo proyecto, abrir un proyecto existente y guardar proyectos en el Folder de Proyectos de Scratch o en otros lugares.

Importar Proyecto trae todos los objetos y fondos de otro proyecto al proyecto actual. Esta opción es útil para combinar objetos provenientes de múltiples proyectos.

Exportar Objeto guarda el objeto actual como un archivo .sprite, que puede ser importado luego en otro proyecto.Notas sobre el Proyecto permite escribir y guardar anotaciones referentes a su proyecto tales como, instrucciones de cómo usarlo.Abandonar lo saca del programa de Scratch.

El menu Editar ofrece varias opciones para editar el proyecto actual.

Deshacer Borrado permite recuperar el último bloque, programa, objeto, disfraz o sonido que usted borró.

Ver los pasos separados le permite ver la ejecución del programa paso a paso. Cada bloque se ilumina cuando se ejecuta. Esta opción es útil para encontrar problemas en los programas y para ayudar a nuevos programadores a entender el flujo del programa. Activar Ver los pasos separados le permite programar la velocidad de cada paso (desde velocidad lenta hasta muy rápida)

Comprimir sonidos o Comprimir imágenes se usa para reducir el tamaño del proyecto. Al comprimir puede desmejorar la calidad de sonidos e imágenes.

Mostrar Bloques de Motor adiciona bloques a la categoría de movimiento. Usted puede usar los bloques de motor para programar un motor conectado a su computador. Los bloques de motor trabajan con LEGO® Education WeDo™ (http://www.legoeducation.com).

Desde el menú Compartir usted puede subir sus proyectos al sitio web de Scratch

Desde el menú Ayuda usted puede acceder a la página de ayuda con enlaces a materiales de referencia, tutoriales y preguntas frecuentes (FAQ). También puede acceder a la página que contiene todas las pantallas de ayuda.

BANDERA VERDE 

La Bandera Verde ofrece una manera fácil para comenzar varios programas simultáneamente. Haga clic sobre la Bandera Verde 2 (en la esquina superior derecha del escenario) para comenzar todos los programas que tengan 3 en la parte superior.

La Bandera Verde permanece resaltada mientras los programas se estén ejecutando

En el Modo Presentación presionar la tecla “Enter” tiene el mismo efecto que presionar la Bandera Verde

En el sitio web de Scratch tan pronto usted vea un proyecto, la Bandera Verde se activa automáticamente.

EDITOR DE PINTURAS
Usted puede usar el Editor de Pinturas para crear o editar disfraces y fondos

p

La Barra de Herramientas del Editor de Pinturas cuenta con las siguientes herramientas:

Brocha: Permite pintar libremente usando el color del primer plano. Cuando usted hace clic en esta herramienta, el Área de Opciones muestra el tamaño de la brocha (pincel). Haga clic en t para escoger diferentes tamaños de brocha.
Borrador: Borra con movimientos libres de la mano. Las áreas que se borran se vuelven transparentes. Cuando usted hace clic en esta herramienta, el Área de Opciones muestra los tamaños del borrador. Haga clic en b para escoger el tamaño del borrador.
Llenar: Herramienta para llenar de color sólido o gamas (gradientes) de este, áreas interconectadas. Cuando usted hace clic sobre ella, el Área de Opciones muestra las posibilidades de llenado (color sólido, gradiente horizontal, gradiente vertical o gradiente radial). Los gradientes se mezclan partiendo del color del primer plano y van hacia el color seleccionado para el fondo.
Rectángulo: Dibuja un rectángulo sólido o su contorno  usando el color actual del primer plano. Para hacer un cuadrado presione Shift+drag. Al hacer clic en esta herramienta, el Área de Opciones muestra el estilo de llenado, sólido o su contorno.
Elipse: dibuja una elipse sólida o su contorno (presione Shift+drag para hacer un círculo) usando el color actual del primer plano. Al hacer clic en esta herramienta, el Área de Opciones muestra el estilo de llenado sólido o su contorno.
Línea: Dibuja una línea recta (presione Shift+drag para trazar una línea horizontal o vertical) utilizando el color actual del primer plano. Cuando se hace clic en esta herramienta, el Área de Opciones muestra los diferentes tamaños de la brocha. Haga clic en b3 para escoger el ancho de brocha que desee.
Texto: añade texto al dibujo. Cuando usted hace clic en esta herramienta, el Área de Opciones le permite cambiar tanto el tipo de fuente como el tamaño de esta. Cada disfraz solo puede tener un bloque de texto.
Selección: Selecciona una región rectangular y permite moverla a una nueva ubicación (presione la tecla Suprimir/Delete para remover el área seleccionada; presione Shift+delete o Shift+backspace para borrar todo lo demás y dejar solo el área seleccionada).
Sello: (estampar) Selecciona una región rectangular y permite copiarla en una nueva ubicación; presione Shift+clic+drag (arrastrar) para repetir la copia (el sello) a medida que desliza el ratón.
Gotero: Use el extremo o punta del gotero para escoger el color del primer plano (haga clic en el Lienzo y arrastre el gotero para escoger un color que esté por fuera del Lienzo)

Los Colores Actuales (para primer plano y fondo) se muestran debajo del Área de Opciones. Usted puede hacer clic en la flecha de intercambio de color para cambiar los colores del primer plano y del fondo. Haga clic en uno de los Colores de la Paleta para escoger un nuevo color para el primer plano (presione Shift+clic para seleccionar un color para el fondo).

Para intercambiar la Paleta por defecto y la Paleta de color continuo, haga clic en la Paleta Alterna.

Haga clic en el botón Seleccionar centro de disfraz para escoger, dentro del en el dibujo, la ubicación que se va a utilizar como centro de rotación, cuando el Disfraz se rote en el escenario.

Haga clic en los botones de Zoom (acercar o alejar) para aumentar o disminuir el tamaño del Lienzo. Cuando el zoom es mayor al 100%, las barras de deslizamiento (scroll bars) se utilizan para lograr una vista panorámica alrededor del Lienzo. El zoom no cambia el tamaño de la imagen.

Para modificar el tamaño del contenido del Lienzo, o la selección actual, haga clic en los el botones de Escala (agrandar o achicar). Usted puede presionar simultáneamente Shift+clic sobre estos botones para ingresar un valor preciso. Achicar disminuye el tamaño y resolución de la imagen.

Para rotar el contenido del Lienzo o simplemente la selección actual, haga clic en los botones de Rotación (en sentido contrario a las manecillas del reloj o en el sentido de estas). Usted puede presionar Shift+clic para ingresar un valor preciso.

Para girar el contenido del Lienzo o simplemente la selección actual, haga clic en los botones de Giro (horizontal o vertical).

Haga clic en el botón Importar para abrir una imagen desde un archivo y adicionarla al Lienzo.

Haga clic en el botón Limpiar para remover todo el contenido del Lienzo.

Si usted comete un error, puede hacer clic repetidamente en el botón Deshacer para revertir las últimas acciones
realizadas. Si cambia de opinión, puede hacer clic en el botón Rehacer para restablecer las acciones que deshizo.

3. BLOQUES DE SCRATCH

TIPOS DE BLOQUES
Existen tres tipo principales de bloques en la Paleta de Bloques:

Bloques para Apilar (Stack): Estos bloques tienen protuberancias (salientes) y/o muescas en la parte superior, tal como e Estos bloques pueden encajarse unos con otros para formar pilas. Algunos de estos bloques tienen un área de ingreso de información en su interior, en la que usted puede escribir un número (por ejemplo 10 en el bloque t o seleccionar un elemento de un menú desplegable, tal como miau en el bloque t. Algunos bloques de apilar como p

tienen una “boca” en forma de C en la que usted puede insertar otros bloques de apilar.

Sombreros (Hats): Estos bloques tienen redondeada la parte superior, como p. Estos se ubican en la parte superior de las pilas. Esperan a que  suceda un evento, por ejemplo que se presione una tecla y entonces ejecutan los bloques que están debajo de ellos.   

Reporteros (Reporters): Este tipo de bloques como p o r están diseñados para encajar en el área de ingreso de información de otros bloques. Losreporteros con bordes redondeados como 5 o d, reportan números o cadenas de texto y encajan en bloques que tienen espacios redondeados o rectangulares como. 8 o 4. Los Reportes con bordes en punta (como r) reportan valores booleanos (verdadero o falso) y encajan dentro de bloques con espacios que terminan en punta o son rectangulares como e o d.

Haga clic en cualquiera de los bloques reporteros para ver su valor actual.

Algunos de los bloques reporteros tienen una casilla enseguida de ellos, como p. Si usted hace clic en la casilla, aparece un monitor en el escenario, que muestra el valor actual del reportero. A medida que el valor del reportero cambia, el monitor lo actualiza automáticamente. Un monitor puede mostrar el valor del reportero en varios formatos diferentes:

p un espacio pequeño con información impresa con el valor del reportero
o un espacio grande de lectura (del valor reportado) sin ningún nombre
p un deslizable que le permite manipular el valor del reportero (disponible solo para variables)

Haciendo doble clic o clic derecho en el monitor se cambia de un formato a otro. En el Mac presione Ctrl+clic para hacer el cambio.

El formato deslizante solo esta disponible para variables creadas por los usuarios. Haga clic derecho en el monitor sobre el formato deslizante para ajustar sus valores mínimos y máximos. En el Mac presione Ctrl+clic para hacer esa acción.

LISTAS
Ahora usted puede crear y manipular listas en Scratch. Las listas pueden guardar tanto números como cadenas de letras u otros caracteres.

Para crear una lista, vaya a la categoría de los bloques de Variables y haga clic en n. Una vez que usted hace una lista, aparecen varios bloques de listas. Estos bloques de listas se describen en la sección Descripciones de Bloques de esta guía.

Cuando usted crea una lista, un monitor de lista aparecerá en el Escenario. Ese monitor muestra todos los elementos en una lista determinada. Usted puede escribir elementos directamente en el monitor de lista.

l

Inicialmente la lista estará vacía y su longitud será 0. Para agregar una casilla a la lista, presione el botón + ubicado en la parte inferior izquierda del monitor de lista.  La longitud se incrementará en 1.  Alternativamente, usted puede adicionar un espacio a la lista, usando bloques de lista como a

Usted puede redimensionar el monitor de lista desde la esquina inferior derecha.

Nota: Usted puede presionar clic derecho en un monitor de lista para exportar una lista a un archivo  plano .txt. En el Mac presione ctrl+clic. También puede importar cualquier archivo  plano .txt que haya guardado, con valores en líneas separadas.

CADENAS
Las cadenas están formadas por letras, palabras u otros caracteres (ej. Manzana; Septiembre 2008; Usted gana!).

Las cadenas se pueden guardar en variables o listas, tales como f oa .

Usted puede unir cadenas usando u. Usted puede comparar cadenas usando los siguientes bloques: a s s. Las cadenas se evalúan como 0 en los bloques de operaciones matemáticas (tales como s) y en bloques que reciben un número (tales como m y c)

ENTRADA POR TECLADO
Usted puede usar p para pedir a un usuario que escriba una respuesta a través del teclado. La respuesta se almacena en re. La pregunta aparece en la pantalla y el programa espera hasta que se presione la tecla Enter o se haga clic en la casilla de verificación (check mark).

g1
La pregunta aparece en un globo de voz cuando se usa en un objeto

ga2
La pregunta aparece en la parte inferior de la pantalla
cuando se usa en el Escenario.

re se comparte por todos los objetos (global) y cambia cada vez que se ejecuta.

p. Si usted desea guardar la respuesta actual, la puede almacenar en una variable o lista, tal como: fi

 DESCRIPCIÓN DE BLOQUES

Los bloques de Scratch están organizados dentro de ocho categorías de códigos de color: movimiento, apariencia, sonido, lápiz, control, sensores, números y variables.

 MOVIMIENTO 
m Mueve el Objeto hacía adelante

o hacía atrás.

g Rota el Objeto en el sentido de

las manecillas del reloj.

g2 Rota el Objeto en el sentido contrario

a las manecillas del reloj.

a Apunta el Objeto en la dirección

especificada (0=arriba; 90=derecha;

180=abajo; -90=izquierda).

ap Apunta el Objeto hacia el puntero del

ratón o hacia otro Objeto.

i Mueve el Objeto hacia una posición

específica de X, Y en el escenario.

i Mueve el Objeto a la ubicación del

puntero del ratón o de otro Objeto.

d Mueve el Objeto suavemente a una

posición determinada en un lapso de

tiempo específico.

c Cambia la posición X del Objeto en

una cantidad determinada (incrementa).

f Fija la posición X del Objeto a un

valor específico.

c Modifica la posición Y del Objeto

en una cantidad determinada (incrementa).

fy Fija la posición Y del Objeto a un valor

específico.

r Gira el Objeto en sentido contrario,

cuando este toca un borde del escenario.

p Informa la posición X del Objeto.

(Rango entre –240 a 240)

p Informa la posición Y del Objeto

(Rango entre -180 a 180)

d Informa la dirección del Objeto

(0=arriba; 90=derecha;

-90=izquierda; 180=abajo)

BLOQUES DE MOTOR
Los Bloques de Motor solo aparecen si usted selecciona Mostrar Bloques de Motor en el menú Editar o si usted conecta un LEGO WeDo. Estos bloques trabajan con un motor LEGO WeDo.

1 Enciende el motor por un período de tiempo determinado
2 Enciende el motor
3 Apaga el motor
4 Fija el poder o capacidad del motor y lo enciende. (Rango entre 0 y 100)
6 Establece o modifica la dirección del motor, pero no lo enciende. (en

esta dirección = sentido manecillas del reloj; en esta otra dirección = contrario

a las manecillas del reloj; reversa = cambio de dirección)

APARIENCIA
c Modifica la apariencia del Objeto cambiando de disfraz.
s Cambia el disfraz del Objeto por el siguiente disfraz en la lista de disfraces (cuando llega al final del listado de estos, vuelve a comenzar con el primer disfraz).
n Informa el número correspondiente al presente disfraz del Objeto
n Modifica la apariencia del escenario cambiando a un fondo diferente.
f Modifica la apariencia del escenario pasando al siguiente fondo disponible en el listado de estos.
n Reporta el número del fondo actual del escenario.
d Despliega una nube de diálogo del Objeto durante un lapso de tiempo determinado
9 Despliega   una nube de diálogo del Objeto (se puede eliminar esta burbuja de diálogo ejecutando este bloque sin texto alguno).
9 Despliega  una nube de pensamiento del Objeto durante un determinado lapso de tiempo.
p Despliega una nube de pensamiento del Objeto.
c Modifica un efecto visual del Objeto en una cantidad especificada (use el menú desplegable para seleccionar el efecto).
f Establece un efecto visual a un número dado (la mayoría de efectos visuales se ubica en un rango de 0 a 100).
q Limpia o borra todos los efectos gráficos de un Objeto
c Modifica el tamaño del Objeto en una cantidad especificada (incrementa).
c Ajusta el tamaño del Objeto en un porcentaje (%) especifico respecto a su tamaño original.
t Informa el tamaño del Objeto como porcentaje (%) de su tamaño original.
m Hace aparecer un Objeto en el escenario.
e Hace desaparecer un Objeto del escenario (cuando el Objeto está escondido, otros Objetos no lo pueden detectar con el bloque “¿tocando?”).
e Ubica el Objeto al frente de todos los demás Objetos (capa superior).
a Mueve el Objeto hacia atrás, un número determinado de capas, de manera que pueda ocultarse detrás de otros Objetos.
SONIDO
1 Comienza la reproducción del sonido seleccionado del menú desplegable, e inmediatamente pasa al siguiente bloque aunque el sonido se esté ejecutando aún.
2 Reproduce un sonido y espera hasta que el sonido termine, antes de continuar con el bloque siguiente.
3 Detiene todos los sonidos.
4 Reproduce un determinado número de sonido de tambor, seleccionado del menú desplegable, durante un número específico de pulsos.
5 Reproduce una nota musical (número altos para tonos altos) durante un número específico de pulsos.
6 Descansa, no toca nada, durante un número específico de pulsos.
7 Establece el tipo de instrumento que usa el Objeto para los bloques de tocar notas (cada Objeto tiene su propio instrumento).
8 Modifica el volumen del sonido del Objeto en un valor especificado (incrementa o decrementa el volumen).
9 Fija el volumen del sonido del Objeto a un valor especifico.
10 Informa el volumen del sonido del Objeto.
11 Modifica el tempo del Objeto en una cantidad específica (incremental).
12 Fija  el tempo del Objeto a un valor especificado de pulsos por minuto.
13 Informa el tempo del Objeto en pulsos por minuto.

 LÁPIZ
  1 Borra todas las marcas de lápiz y de sellos (estampados) del Escenario.
2 Baja el lápiz del Objeto, de manera que este pinte a medida que se mueve.
3 Levanta el lápiz del Objeto, de manera que no pinte cuando se mueva.
4 Establece el color del lápiz, basado en la selección hecha en la paleta de color.
5 Modifica el color del lápiz en una cantidad específica.
6 Establece el color del lápiz a un valor determinado. (color-lápiz=0 en el borde rojo del arco iris; color-lápiz=100 en el borde azul del arco iris)
7 Modifica la intensidad del lápiz en una cantidad especificada (incrementa).
8 Establece un valor específico para la intensidad del lápiz (sombra-lápiz=0 es muy oscura; sombra-lápiz=100 es muy clara).
9 Cambia el grosor del lápiz (incrementa en una cantidad específica).
9 Establece el grosor del lápiz.
11 Estampa o copia la imagen del Objeto en el Escenario.
CONTROL
b Ejecuta el programa que tiene debajo al hacer clic en la bandera verde.
t Ejecuta el programa que tiene debajo al presionar una tecla específica.
1 Ejecuta el programa que tiene debajo al hacer clic en un Objeto.
2 Espera un número determinado de segundos y continúa luego con el bloque siguiente.
3 Ejecuta continuamente los bloques en su interior.
4 Ejecuta, un número específico de veces, los bloques en su interior.
6 Envía un mensaje a todos los Objetos, activándolos para que hagan algo y espera a que todos terminen antes de continuar con el siguiente bloque.
7 Envía un mensaje a todos los Objetos y luego continúa con el bloque siguiente sin esperar a que se realicen las acciones de los Objetos activados.
5 Ejecuta el programa que tiene debajo cuando recibe un mensaje específico “enviar a todos” (Broadcast).
8 Comprueba continuamente si una condición es verdadera; cada que es verdadera, ejecuta los bloques en su interior.
9 Si la condición es verdadera, ejecuta los bloques en su interior.
10 Si la condición es verdadera, ejecuta los bloques dentro de la porción si; si no, ejecuta los bloques que están dentro de la porción si no.
11 Espera hasta que la condición sea verdadera, para ejecutar los bloques siguientes.
12 Comprueba si la condición es falsa; si lo es, ejecuta los bloques en su interior y vuelve a chequear la condición. Si la condición es verdadera, pasa a los bloques siguientes.
14 Detiene el programa edl Objeto que contiene esta instrucción.
d Detiene todos los programas de todos los Objetos.
SENSORES
1 Informa la posición “X” del puntero del ratón.
2 Informa la posición “Y” del puntero del ratón.
r Informa verdadero, si el botón del ratón está presionado.
p Informa verdadero, si una tecla específica está presionada.
t Informa verdadero, si el Objeto está tocando un Objeto específico, un borde o el puntero del ratón (seleccionados del menú desplegable).
c Informa verdadero, si el Objeto está tocando un color específico. (Haga clic en la paleta de color y luego utilice el gotero para seleccionar el color).
8 Reporta verdadero si el primer  color (dentro del Objeto), está tocando un segundo color (tanto en el fondo como en otro Objeto). Haga clic en la paleta de color y luego utilice el gotero para seleccionar el color.
9 Informa la distancia desde un Objeto específico o desde el puntero del ratón.
10 Fija el cronómetro en 0.
11 Reporta el valor del cronometro en segundos (el cronómetro siempre está contando).
12 Informa una propiedad o variable de otro Objeto.
Reporta el volumen de los sonidos captados por el micrófono del computador (entre 1 y 100).
Reporta verdadero, si el volumen del sonido captado por el micrófono del computador es mayor de 30 (en escala de 1 a 100).
15 Informa el valor de un sensor específico. Para usar este bloque se necesita tener un “PicoBoard” conectado a su computador. Para aprender más consulte:http://www.playfulinvention.com/picoboard.html
16 Informa  verdadero, si un sensor específico está presionado. Para usar este bloque se necesita tener un “PicoBoard” conectado a su computador.  Para aprender más consulte:http://www.picocricket.com/picoboard.html

NÚMEROS
1 Suma dos números.
2 Resta dos números
3 Multiplica dos números.
4 Divide dos números.
4 Selecciona un número entero al azar dentro de un rango especificado.
6 Informa verdadero, si el primer valor es menor que el segundo.
8 Reporta verdadero, si dos valores son iguales.
9 Informa verdadero, si el primer valor es mayor que el segundo.
9 Informa verdadero, si ambas condiciones son verdaderas.
10 Informa verdadero,  si una de las dos condiciones es verdadera.
11 Reporta verdadero, si la condición es falsa; reporta  falso si la condición es verdadera.
1 Concatena (combina) cadenas de letras (caracteres)
2 Informa el número de letras en una cadena
1 Informa la letra en una posición específica dentro de una cadena
12 Reporta el resultado de una función seleccionada (abs, raíz cuadrada, sin, cos, tan, asin, acos, atan, ln, log, e^, 10^) aplicada a un número específico.
12 Informa el resto (módulo) de la división del primer número por el segundo número.
r Informa el entero más cercano a un número.
VARIABLES
nvariable Permite crear y nombrar una nueva variable. Cuando usted genera una variable, aparecen los bloques correspondientes a ella. Se puede escoger si la variable es para todos los Objetos (global) o solo para un Objeto (local)
borrar Borra todos los bloques asociados con una variable
infor Informa el valor de la variable
cam Modifica la variable en una cantidad determinada (Si se tiene más de una variable, utilice el menú desplegable para seleccionar el nombre de la variable)
fijar Fija la variable a un valor específico.
most Muestra el monitor de la variable en el escenario
escon Esconde el monitor de la variable para que no aparezca en el escenario
nue Permite crear y nombrar una nueva lista. Cuando se genera una lista, aparecen los bloques para esa lista. Se puede escoger si la lista es para todos los Objetos (global) o solo para un Objeto (local)
bo Borra los bloques asociados a una lista.
mi Reporta todos los elementos que tiene la lista.
alist Adiciona el elemento especificado  al final de la lista (el elemento puede ser un número o una cadena de letras u otros caracteres).
borr Borra uno o todos los elementos de una lista. Se puede escoger del  menú desplegable o usar un número para indicar qué  elemento borrar. Si escoge “último” borrará el último elemento de la lista. Si escoge “todos” borra todo lo que contiene la lista. Borrar, decrementa la longitud de la lista.
ins Inserta un elemento en un lugar específico de la lista. Se puede escoger del menú desplegable o usar un número para indicar dónde insertar el elemento dentro de la lista. Si escoge “último” adiciona el elemento al final de la lista. Si se escoge “cualquiera”  lo inserta aleatoriamente en la lista. La longitud de la lista se incrementa en 1.
rem Reemplaza un elemento de la lista con un valor específico.  Se puede escoger del  menú desplegable o usar un número para especificar el elemento que va a reemplazar. Si escoge “último” , reemplaza el último elemento de la lista. Si escoge “cualquiera”  reemplaza aleatoriamente un elemento de la lista. La longitud de la lista no se modifica.
milist Reporta el elemento en una ubicación específica dentro de la lista.

Usted puede especificar cuál elemento, eligiendo del menú

desplegable o escribiendo un número.

long Reporta cuántos elementos hay en la lista.

2014-15. INICIACIÓN A LA PROGRAMACIÓN. SCRATCH 2.0. PARTE I

Dibujo

SCRATCH 2.0. INICIACIÓN A LA PROGRAMACIÓN I


Scratch es un lenguaje de programación que “corre” en un entorno de programación que también se llama Scratch.

Scratch es desarrollado y mantenido por el equipo de Scratch en el grupo Lifelong Kindergarten del MIT Media Lab (http://www.media.mit.edu/).

ICONO SCRATCH

Scratch es y será siempre software libre y gratuito. Usted no necesita una licencia de uso de Scratch para utilizarla en una Institución educativa, en la casa o en cualquier otro lugar.

Vamos con algunos requisitos para seguir el tutorial:

  • Tener Scratch instalado y listo para correr.
  • Ya es corriente el uso online de Scratch 2.0.
  • Poseer algunas aptitudes básicas a la hora de usar un ordenador (palabras como arrastrar y soltarseleccionardoble clic, etc. te deberían significar algo).
  • Necesitaréis tener nociones sobre magnitudes angulares y sobre los ejes cartesianos.
  • Ser paciente, y tener ganas de aprender. Punto.

No hace falta que sepas nada sobre programación ni sobre algoritmos… de hecho una vez que empieces a trabajar con soltura con Scratch estarás en condiciones de interpretar cualquier definición sobre estos conceptos.

De cualquier manera, para no arrancar “a ciegas” sobre estas cuestiones, conviene dejar algunas definiciones simples e incompletas sobre algunos términos:

Programa: Conjunto de instrucciones estructuradas y ordenadas, las cuales un ordenador puede interpretar y ejecutar (más simplemente, con un programa podemos darle órdenes a la computadora para que haga lo que nosotros queramos).

Programación: Creación de un conjunto de órdenes e instrucciones que un ordenador puede interpretar y ejecutar (o sea, vista la definición anterior, es la creación de un programa).

Se programa con los lenguajes de programación (que es el “idioma” con que podemos comunicarnos con la computadora).

Los cambios más importantes que hemos encontrado en Scratch 2.0, respecto de la versión 1.4 son:

  • Permite crear y editar proyectos en línea.
  • Se ofrecen ahora dos nuevas categorías: “Eventos” y “Más bloques”.

Ejemplo scratch tetris

INGREDIENTES BÁSICOS DE UN PROYECTO DE SCRATCH

  • Los proyectos de Scratch están construidos con Objetos (Objeto móvil programable es la traducción al español dada a Sprite, en adelante se utiliza solo la palabra Objeto).
  • Puede modificar cómo se ve un Objeto dándole un disfraz diferente. Usted puede hacer que el Objeto parezca una persona, un tren, una mariposa o cualquier otra cosa.
  • Puede usar cualquier imagen como disfraz: puede dibujar una imagen en el Editor de Pinturas o importar una imagen del disco duro de su equipo.
  • Puede darle instrucciones al Objeto, diciéndole que se mueva o toque música o que reaccione a otros Objetos. Para decirle a un Objeto qué hacer, usted encaja bloques gráficos unos con otros formando pilas, llamadas programas (scripts).

Como texto básico de los conocimientos explicados en clase para poder abordar los proyectos que estamos planteando, os dejo este pdf que resume, en gran medida, todo aquello que debéis conocer.

ScratchGuiaReferencia

Del mismo modo, os invito a visitar esta web, con contenidos perfectamente explicados, muy intuitiva y que se adentra en prácticas básicas para un comienzo adecuado en nuestra andadura (pulsa sobre el icono).

scratch button


2014-15. CONCEPTOS BASICOS

cabecera-entradas-blog

 

CONCEPTOS BÁSICOS

ELECTRICIDAD, MECÁNICA E HIDRÁULICA. COCHE ELÉCTRICO

Adjunto os dejo tres documentos que resumen nuestras clases prácticas seguidas para la construcción del coche eléctrico de 2o ESO.

Abordan circuitos básicos serie-paralelo de electricidad, mecánica básica basada en reductoras de motores mediante poleas y aplicación del principio de Pascal y, por tanto, de la Hidráulica en el giro del eje delantero de nuestro vehículo.
image
image

image

image

image

2014-15. PROYECTO INTEGRADO. ARDUINO. INICIACIÓN II

cabecera-entradas-blog

PROYECTO INTEGRADO. INTRODUCCIÓN A ARDUINO II

CONOCIMIENTOS BÁSICOS. PRÁCTICAS COMENTADAS

Encender LED con un pulsador

Tenemos conocimientos suficientes para detectar las partes de un programa o sketch y el momento de declarar variables que emplearemos en el mismo.  Ahora vamos a introducir un elemento básico como es un PULSADOR. Pues bien, un pulsador es un mecanismo que permite el paso de la corriente o no, es decir, en Arduino, permitirá el paso de 5 voltios o bien cortará este flujo (0 voltios). Los pulsadores pueden estar normalmente abiertos (no permiten el paso de tensión) o bien normalmente cerrados (permiten el paso de la tensión que proporciona la placa de Arduino). Cuando permiten el paso, el estado será HIGH o bien valor 1, mientras que, caso contrario, será estado LOW o valor 0. Un led tendrá asociada una resistencia de 220 Ohms, mientras que un pulsador la tendrá de 10KOhms.

Estado digital 5 voltios 0 voltios
 Opción 1  HIGH  LOW
 Opción 2  1  O
 Opción 3  TRUE  FALSE

Un pulsador se encuentra conectado a 5 voltios en un polo y (10KOhmios + Pin) en el otro polo.

Ya en la programación, el número del pin en el que conectamos un pulsador se puede introducir tal cual está serigrafiado en la placa (del 0 al 13) , pero es muy recomendable introducirlo como una variable, constante o definición con el valor introducido previamente en la parte del Sketch en la que se hace la definición de variables, de ahí que definamos int pulsador=(pin donde se conecta). Del mismo modo declaramos que el pulsador será un INPUT.

pinMode (pulsador, INPUT);

// declara el pin al que está conectado el pulsador como entrada

Posteriormente, en el loop definiremos la función IF que es la que comprobará si el pulsador está en posición HIGH o LOW.

Lo primero que se puede apreciar es la aparición de la función if-else. Esta es una condicional que evalúa una condici[on y dependiendo del resultado ejecuta una u otra acción.  En nuestro caso la condición a evaluar será: Si al iniciar loop()  Arduino entrega 5 voltios (HIGH) en el pin que nosotros elijamos, entonces Arduino ejecutará la tarea de secuenciar el encendido de los leds. Podemos emplear el presente esquema como visualización del ejemplo.
t02_31

Pues, después de esta introducción, os dejo una nueva forma de trabajar en clase.  DESARROLLAREMOS NUESTRAS PRÁCTICAS A TRAVÉS DEL PROGRAMA DE AUTODESK que podemos encontrar en este enlace:

http://www.123d.circuits.io

Nos damos de alta con un usuario y contraseña y el programa guardará las programaciones automáticamente en su base de datos asociada a nuestro usuario.

Este programa reúne el software IDE de Arduino (donde confeccionábamos el sketch de Arduino) y la visualización del software FRITZING. Podremos probar nuestro programa, hacerlo funcionar sin necesidad de montarlo físicamente. Del mismo modo, nos permite exportar el código del sketch al IDE de Arduino. Todas nuestras prácticas las desarrollaremos a través del citado software online libre.

Ahora os explicaré cómo desarrollar la sencilla práctica que enciende un led cuando accionamos un pulsador. Se ha desarrollado con 123d.circuits, se ha simulado y se ha exportado al IDE de Arduino para poder exportarlo al soporte físico de Arduino.

Pulsador con led_123

Escogemos los componentes a emplear y los situamos en la protoboard. Asignamos el valor de las resistencia pulsando sobre ellas y editando el dígito y las unidades empleadas. Los componentes se agregan pulsando el icono superior derecho COMPONENTS.

Pulsador con led_123_2

Posteriormente procedemos a programar nuestro código. Pulsamos CODE EDITOR. 123circuits nos escribe un código automático, pero este lo debemos adaptar a nuestras necesidades. Definimos los bloques habituales (DEFINICIÓN DE VARIABLES, VOID SETUP, VOID LOOP). Cuando terminemos la programación, pulsamos START SIMULATION. Ahí podemos observar si nuestro programa es eficiente. Terminada satisfactoriamente la simulación, podemos exportar el código pulsado el icono DOWNLOAD CODE, generándonos un archivo RAR que una vez descomprimido puede ser abierto por el IDE de Arduino. A partir de entonces, procedemos de forma habitual.

Pulsador con led_exportado123

Adjunto os dejo el sketch para que lo probéis y podamos desarrollar las dos prácticas que os dejo al final de esta entrada.

Como podéis ver, aparece el comando if. Intentaré explicar su funcionamiento lógico de forma concisa, alejada de tecnicismos.

El comando if (podemos traducirlo como SI OCURRE ESTO) comprobará si se dan unas condiciones determinadas. Caso de que así sea, procede a ejecutar una serie de comandos. En nuestro caso el if comprueba si el pulsador está accionado. Pues bien, si está accionado cierra el circuito y la placa entrega 5 voltios, por tanto está en estado HIGH. Arduino debe leer pues este valor o voltaje. Como ya sabemos, Arduino lee con la orden digitalRead (para señal digital), por tanto el comando dirá: if (digitalRead(…….)==HIGH). Acto seguido, ¿QUÉ LEEMOS? Pues queremos leer el pin 4, al que hemos denominado PULSADOR, por tanto debemos escribir lo que sigue, en cualquiera de las dos formas, preferiblemente la primera:

A) if (digitalRead(pulsador)==HIGH) {

B) if (digitalRead(4)==HIGH){

Después de la llave abierta, indicamos QUÉ QUEREMOS QUE HAGA ARDUINO DE CUMPLIRSE LA CONDICIÓN. Por tanto, en nuestro caso, tal y como vemos en la captura de pantalla, será poner en estado HIGH el led asociado al pin 7. Finalmente volvemos a cerrar llaves.

Adicionalmente podemos añadir varias condiciones al if, por ejemplo que se den dos simultaneas, teniendo la estructura que sigue:

if (…………)&&(………..) {(ejecuta algo}

Podemos incluir también qué queremos que haga en caso de que no se cumpla el comando if, resultando lo que sigue:

if (…………)&&(………..) {(ejecuta algo}

else {(ejecuta esto otro)}

Otros comparativos pueden ser:

 x == y (x is equal to y)
 x != y (x is not equal to y)
 x <  y (x is less than y)  
 x >  y (x is greater than y) 
 x <= y (x is less than or equal to y) 
 x >= y (x is greater than or equal to y)

PRÁCTICAS BÁSICAS A DESARROLLAR 

PRÁCTICA 1. JUEGO DE BALONCESTO

Debemos programar dos jugadores con dos canastas conectadas a un pulsador cada una de ellas. Cuando un jugador enceste tres veces en su canasta, se encenderá el primer led, así hasta alcanzar tres leds encendidos tras encestar tres veces tres. El jugador que termine antes con su secuencia de encestes ganará con el sonido de un buzzer zumbador, dando por terminado el juego. Montaremos en 123d.circuits, simulamos y exportamos a Arduino IDE. Finalmente, intentaremos fabricarlo físicamente.

PRÁCTICA 2. JUEGO DE REFLEJOS

Dos jugadores. Cada uno vuelve a tener tres leds que encender. En este caso, existirá un led aislado, que se irá encendiendo de forma aleatoria (enciende y apaga sin pauta predefinida). Cuando uno de los jugadores pulse con antelación al otro tres veces, encederá uno de los tres leds, así hasta alcanzar tres leds encendidos tras concluir la secuencia propuesta.

ANEXO

Arduino no recuerda acciones que ha desarrollado en el void loop si vuelve a ejecutar el mismo comando. Por decirlo de alguna forma, al volver a pasar por el mismo comando, borra la lectura realizada en el anterior ciclo y recuerda la nueva lectura hasta que vuelva a pasar por ahí el loop.

Para que recuerde cualquier lectura externa, ya sea un tiempo, una temperatura, una pulsación… debemos generar una variable. Y decimos variable porque varía en función de los datos que se reciben. Así, será variable el número de veces que encestamos, del mismo modo que varía la temperatura exterior o bien el tiempo que pudiera tardar en accionar un pulsador.

En nuestro caso, Arduino debe recordar cuándo se ha pulsado 3 veces un mecanismo (pulsador). Por ello, tenemos que definir una variable entera, previa al void loop para que solo lo lea al principio y una vez. La estructura sería  de este modo:

int contador==0;

Aquí decimos que una variable denominada contador (o cualquier otra cosa que queramos) parte de un valor igual a cero. Ponemos dos iguales para que lo asocie con el valor cero y no con un pin.

Usando el comando if, pudiéramos construir algo parecido a esto: Si accionamos el pulsador, el contador debe sumar 1 a su valor anterior, por tanto, sería:

if (digitalRead(pulsador)==HIGH) {

contador=contador+1;

En este momento, la variable contador modifica su valor (dentro del void loop) y cada vez que vuelva a pasar el loop y compruebe que se ha accionado el pulsador, sumará 1 al valor que tenía antes CONTADOR.  Claro está, nuestro programa objeto (ejercicios propuestos) quiere que cuando ocurra algo 3 veces, encienda un led. Por tanto, dentro del IF primero, debemos colocar otro if que compruebe si CONTADOR es igual a 3 y, caso de que así sea, encender el led primero, si es igual a 6 encender el led segundo y, finalmente, si es igual a 9, encender el led 3 y sonar el zumbador. Por tanto, debemos usar varios if. Como tenemos dos jugadores, debemos asociar tanto leds como contador con cada jugador, así sería, por ejemplo: led_1_P1    led_1_P2  (led primero del player 1…); contadorP1    contador P2  …….

Me pongo a vuestra disposición para cuantas dudas os surjan.

2013-14. TUTORÍA 3ESO. INTERESES PROFESIONALES

image

INTERESES PROFESIONALES. TUTORÍA 3º ESO

Como es habitual durante cada año, entramos en un momento importante de vuestra formación: plantearnos por primera vez, de forma seria, qué profesión futura nos interesa, nos gusta… nos apasiona. Pero, también, qué currículo formativo tenemos que ir escogiendo para llegar a esta meta.

Para ello, planteamos una ejercicio interesante de investigación.

El resultado final fue fantástico.

2014-03-10 10.11.352014-03-10 10.08.03 2014-03-10 10.06.40

wpid-img_20140225_133346-1.jpg