lunes, 31 de mayo de 2010

arduino

INTRODUCCIÓN

Seguro que has oído hablar decir que los ordenadores guardan y transmiten la información a base de unos y ceros. Por ejemplo, si un ordenador va a escribir un punto en la pantalla, le manda un conjunto de ceros y unos, por ejemplo 01001001.

O quizás le manda un mensaje algo más largo a base de ceros y unos, y ese mensaje quiere decir que dibuje un punto de un determinado color en determinado lugar de la pantalla. Pero para ello la pantalla debe entender ese lenguaje de ceros y unos, ésta no es un ordenador.

Está claro que debe haber algún aparato situado entre el ordenador y la pantalla que lea ese mensaje de ceros y unos y según lo que diga ese mensaje, haga que la pantalla presente una serie de imágenes. Ese aparato se llama tarjeta gráfica, y tu ordenador tiene también una tarjeta de sonido, que está entre el ordenador y el altavoz.

Cuando tú compras el ordenador, se supone que éste tendrá que controlar una serie de aparatos como la pantalla, el altavoz, el micrófono y la impresora, y por lo tanto ya te lo venden con una serie de tarjetas controladoras, pero imagina que vas a usar el ordenador para controlar el funcionamiento de otros aparatos, por ejemplo la lavadora, la nevera, el aire acondicionado, etc.

Necesitarías una tarjeta controladora para situarla entre estos aparatos y tu ordenador. No existe una tarjeta controladora que sirva para controlar cualquier aparato, sino que según lo que quieras controlar, necesitarás comprar un tipo de tarjeta controladora.

Existen una serie de tarjetas controladoras que se utilizan para controlar pequeños aparatos tales como leds, pequeños motores, etc. Hay tarjetas controladoras que además de servir de interface entre el ordenador y ciertos aparatos, también son capaces de almacenar programas, de modo que pueden ejecutar dichos programas una vez desconectadas del ordenador. Una de ellas es arduíno duemilanove, que es con la que vamos a trabajar:





Fíjate en la tarjeta y verás una serie de componentes que no sabes lo que son, ni yo tampoco, y tampoco interesan, pero hay otros que sí debemos saber lo que son:
-
Arriba a la izquierda vemos un cuadradito plateado, que es el puerto USB. Un puerto es una salida para conectar a otro aparato. En este caso el puerto USB de la placa se usa para conectarla al ordenador, a través del puerto USB de éste.
-
Abajo a la derecha verás un chip negro grande. Es el
microprocesador, es el cerebro de la tarjeta.
-
Arriba a la derecha vemos unas conexiones en las que hay escrito digital. Son entradas y salidas digitales, son las conexiones con los aparatos que vamos a controlar.
Vemos abajo que hay unas conexiones en las que hay escrito analog in. Son entradas analógicas ¿Qué diferencia hay entre una entrada analógica o digital? La digital solamente puede tener dos valores: el potencial es cero o el potencial es alto, y entonces es un uno. Sólo puede tener valor cero o uno, igual que una bombilla sólo puede estar encendida o apagada y no le puedes dar un valor intermedio. Las entradas analógicas pueden leer el valor del potencial de la entrada.
PROGRAMACIÓN

Queremos controlar una serie de aparatos desde el ordenador, para eso compramos la tarjeta controladora, la conectamos al ordenador,la instalamos, conectamos los aparatos que queremos controlar, ¿y ahora qué? ¿Cómo le decimos a la tarjeta lo que queremos que hagan los aparatos?

Sabemos que debemos mandar a la tarjeta una serie de ceros y unos con el mensaje sobre lo que queremos que hagan los aparatos, pero no conocemos ese lenguaje de ceros y unos. Y aunque lo conociéramos, serían demasiados ceros y unos, y sería una tarea muy pesada.

Para eso existen los llamados lenguajes de programación. Son lenguajes relativamente fáciles mediante los cuales nos comunicamos con la placa. Luego existen unos programas que traducen ese lenguaje al mensaje de ceros y unos, al código máquina, y lo envían a la tarjeta.

O sea que necesitamos una aplicación que me permita escribir instrucciones en un determinado lenguaje, y esa aplicación lo traduzca a código máquina. Ese tipo de aplicaciones se llaman IDE o entornos de desarrollo. No sólo existen IDE para crear programas para comunicarse con una tarjeta controladora, sino para crear aplicaciones informáticas, páginas web, etc.

Así es la ventana del entorno de desarrollo de arduíno, en ella puedes
ver escrito un programa con instrucciones para la tarjeta.












LENGUAJE ARDUÍNO DE PROGRAMACIÓN


Una vez tienes instalada la placa y el ID, y conectados a la placa los componentes que quieres controlar, sólo te falta conocer el lenguaje en el cual le vas a mandar las instrucciones a la placa.

El lenguaje que vamos a utilizar es propio de arduíno y está basado en otro lenguaje llamado processing, y aprenderlo es
un poquito complicado, así que vamos a ir poco a poco.
Lo primero que vamos a hacer es aprender a decirle a la placa
“enciende un led, espéra un poco y apágalo”
Este sería el programa:

void setup(){
pinMode(13,OUTPUT);
}
void loop(){
digitalWrite(13, HIGH);
delay(200);
digitalWrite(13,LOW);
delay(100);
}

El programa tiene dos partes: setup y loop. Cada parte tiene una serie de instrucciones entre llaves.

El setup configura la tarjeta. En este caso, le estamos diciendo que el pin (conexión) número 13 de la tarjeta es una salida. Esto quiere decir que desde la tarjeta le diremos a un componente conectado al pin 13 que se active o se desactive.

En este caso vamos a conectar un LED desde el pin 13 de la tarjeta hasta el pin de masa (GND).

No vamos a entrar por ahora en el significado de la palabra void. Por ahora simplemente tendremos en cuenta que hay que escribirla ahí aunque no sepamos por qué.

El loop es un bucle. Las instrucciones que están entre llaves después de él se ejecutan, y cuando acaban se vuelven a ejecutar y así hasta que se desconecte la tarjeta.
Vamos a ver lo que hacen las instrucciones del loop:

digitalWrite(13,HIGH); Esta instrucción le da un valor de 5V al pin 13, y de este modo el LED conectado al mismo se encenderá.

delay(200); Esta instrucción espera 200 milisegundos.

digitalWrite(13,LOW); Da un valor de 0V al pin 13 de la tarjeta. Es decir, apaga el LED.

delay (100); Espera 100 ms.

Como ves, este es un programa que hace que un LED funcione como intermitente. Modifícalo para que funcione como intermitente estando un segundo encendido y medio segundo apagado .


El resto de instrucciones los puedes ver en el enlace siguiente:

instrucciones

Comienza leyendo la instrucción digitalRead e if, y haz los siguientes programas:

1. Uno similar al anterior pero de modo que el intermitente sólo parpadee si está pulsado un pulsador. Dibuja el circuito correspondiente, representando la tarjeta como un conjunto de puntos númerados según el pin de que se trate. Representa sólo los pines que utilices.

2. Encender alternativamente durante un segundo cinco leds. Al llegar al último comenzar por el primero.

3. El anterior, pero al llegar al último, se encienden cinco veces durante un segundo, parando medio segundo entre una y otra, y luego vuelve a empezar.

4. Se encienden alternativamente como en el ejercicio 2, pero al pulsar el pulsador cambia el sentido.

miércoles, 7 de abril de 2010

ktechlab

Vamos a hacer una serie de ejercicios con el ktechlab. Abrelo en aplicaciones->educación centros tic-> tecnología-> ktechlab. Abre un nuevo circuito en el menú file.

1. Crea un circuito con una fuente de voltaje en serie con una resistencia. En paralelo con esa resistencia coloca una prueba de voltaje (búscala en el menú de componentes). En la parte inferior de la aplicación ,activa el osciloscopio. Verás que representa el valor de la tensión que se producen entre los dos extremos de la prueba de voltaje.

Coloca el cursor encima de la representación y disminuye su velocidad cambiando el parámetro framerate. Modifica el zoom para verlo mejor.

Selecciona la fuente de voltaje y modifica su valor y su frecuencia en la parte de arriba de la pantalla. Observa cómo se modifica la representación del osciloscopio.

No pases al siguiente ejercicio si no has entendido bien lo que has hecho en éste.

2. Queremos hacer un circuito que rectifique la señal de tensión del ejercicio anterior. La señal es la onda que representa el osciloscopio. Queremos que las partes negativas de la señal cambien y se pongan a cero, de modo que la tensión sea positiva o cero.

El circuito que hace esto lo hemos visto en clase cuando estudiamos los diodos. Si no lo encuentras busca en internet información sobre rectificadores de media onda y realiza el circuito correspondiente en un fichero diferente.

3. Ahora queremos que los valores negativos de la señal inicial se hagan positivos. Para ello tenemos que montar un rectificador de onda completa por puentes de diodos. Busca información en internet y monta el circuito en un fichero diferente.

4. Busca en la lista de componentes una entrada de reloj y colocala en un circuito nuevo. Pon una prueba de voltaje para ver en el osciloscopio el valor de la entrada de reloj.

Coloca una resistencia en paralelo con la prueba de voltaje, y un condensador entre la entrada de reloj y la parte de la resistencia que conecta con la entrada de reloj.

Ahora disminuye poco a poco el valor de la resistencia y observa cómo va modificándose la señal del osciloscopio.

Explica por qué al introducir el condensador y la resistencia se produce esa variación en la señal.

5. Toma el circuito del ejercicio 3 y modifica la salida del mismo modo que en el ejercicio 4, es decir, colocando igualmente un condensador y una resistencia. Observa cómo varía la señal y explica por qué ocurre esto.

6. Crea un circuito nuevo y coloca un display de 7 segmentos y un convertidor de BCD a 7 segmentos. Es el último de los componentes de la lista. BCD es el código binario pero utilizando 4 bits para representar números del cero al 9. Para representar el 10 en vez de representarlo como 1010, se representaría con dos grupos de cuatro bits, uno para el uno y otro para el cero, de modo que el diez sería 0001 0000 y el trece 0001 0011.

Coloca una pila de 5V y cuatro interruptores para poner las entradas del convertidor (ABCD) a 5V o a 0V. Conecta las salidas del convertidor a las entradas del display.

Coloca las entradas lt y rb del convertidor a 5V.

Ahora ve modificando las entradas del convertidor para ir obteniendo los números del cero al 9.

7. Busca en internet el funcionamiento de un contador binario y conéctalo a una entrada de reloj y a un display de siete segmentos de modo que el display vaya aumentando el número representado según el reloj va mandando pulsos.

8. Busca en la wikipedia información sobre el biestable j-k y comprueba su funcionamiento con el ktechlab, igualmente para el biestable r-s.

9. Intenta repetir el ejercicio 7 pero de modo que el display represente los números del 0 al 9 y cuando acabe comience de nuevo por el cero. Ten en cuenta que la entrada r del contador binario es reset, es decir, puesta a cero. Para hacer esto debes usar las puertas lógicas para determinar el momento en que el contador debe ponerse a cero.

10. Ahora queremos introducir un segundo display para las decenas. Para ello hay que introducir otro contador y otro display. EL segundo contador avanzará cada vez que el primer contador se resetee. Tienes que tener en cuenta que el contador avanza cada vez que el pulso de reloj pasa de alto a bajo, de modo que tendrás que colocar una entrada en el segundo display que pase de alto a bajo cada vez que el primer display se resetee. Para ello deberás introducir una puerta lógica entre la entrada al reset del primer contador y la entrada de reloj del segundo contador.

Una vez que hayas conseguido que el segundo contador funcione corréctamente, modifica la entrada de reloj para que los tiempos de alto y bajo sean de 50 ms, o sea 100 ms por ciclo, lo que sería una décima de segundo, y así el segundo display contará los segundos.

Coloca un pulsador entre la entrada de reloj y la entrada al contador, de modo que puedas interrumpir la cuenta cuando quieras. Ya tienes un cronómetro que mide los segundos y las décimas.

11. Completa el circuito anterior de modo que se midan también las centésimas.

12. Conecta en serie una pila de 5V, un interruptor, una resistencia de 100 ohmios y un condensador de un microfaradio. Coloca en paralelo con el condensador una prueba de voltaje, y también en paralelo con el condensador otra resistencia de 100 ohmios en serie con otro interruptor.

Activa el osciloscopio a 100 fps (botón derecho del ratón) y el zoom ponlo casi a la izquierda del todo.

Observa el circuíto y verás que si pulsas el primer interruptor el condensador se debe cargar, y si sueltas este interruptor y pulsas el segundo se debe descargar. En el osciloscopio se representa la tensión en el condensador.

Pulsa y suelta cada interruptor y observa lo que pasa con el osciloscopio y explica por qué pasa esto.

Modifica el valor de las resistencias y ponlas a 500 ohmios. Observa lo que pasa en el osciloscopio y explícalo.

Haz lo mismo modificando el valor de la pila y luego modificando el valor de la capacidad del condensador.

13. En el circuito anterior pon el condensador a 1mF y las resistencias a 100 ohmios. Borra la pila y conceta el punto donde estaba el polo negativo a una tierra y el positivo a una entrada de reloj. Los valores de tiempo alto y bajo de la entrada ponlos a 500 ms.

Observa lo que pasa con la señal del osciloscopio. Explica lo que ha ocurrido.

Modifica los tiempos de la entrada de reloj a 90 ms. Observa y explica lo que pasa.

Aumenta los valores de las resistencias hasta 500 ohmios. Observa y explica lo que pasa.

Aumenta el valor de la capacidad del condensador hasta 6mF Observa y explica lo que pasa.

Guión para el ejercicio 13. Sigue el siguiente esquema para explicar el ejercicio 13. Hazlo en el procesador de textos. No pongas los títulos del esquema sino redacta teniéndolo en cuenta:

a) Qué queremos que haga el circuito, cuál será la entrada y cual queremos que sea la salida.
b) Cómo se construye el circuíto.
c) Qué hace el circuíto. Por donde se va cargando el condensador y por donde se va descargando.
d) De qué depende que el condensador se cargue más rápido o más lento y se descargue más rápido o más lento, qué consecuencias tendrá ésto en la salida.
e) De qué depende que el condensador acumule más o menos carga y qué consecuencias tendré esto en la salida.

14. A partir del ejercicio 11, añade un contador que avance mediante un pulsador. En el momento en el display correspondiente a ese contador coincida con las centenas del contador del ejercicio 11, se active una señal digital y se mantenga activada. Necesitarás un biestable. Ajusta el contador de tiempo de modo que las centenas correspondan a diez segundos.

15. Continúa con el ejercicio anterior de manera que cuando se active la señal digital, se resetee el contador de tiempo, y la señal digital se mantenga activa durante 5 segundos y luego vuelva al principio. Se trata de conseguir un dispositivo que espere un número de decenas de segundos determinado por un display controlado con un pulsador. En el momento que se alcance ese número de decenas de segundos una señal se active durante 5 segundos, y a partir de ese momento vuelva a empezar el ciclo.

domingo, 17 de enero de 2010

Avances en la navegación desde el descubrimiento de América

¿Qué es un sextante? ¿Se utiliza el sextante actualmente?¿Hace cuantos años se construyó el primer barco de vapor?¿Hace cuantos años se construyó el primer barco de hierro?¿Hace cuantos años se hundió el Titanic? ¿Cuántos pasajeros tenía?¿Qué velocidad suelen llevar los barcos actualmente?
http://es.wikipedia.org/wiki/Sextante
http://es.wikipedia.org/wiki/Barco_de_vaporhttp://mgar.net/mar/tecnica2.htm
http://es.wikipedia.org/wiki/RMS_Titanic
http://es.answers.yahoo.com/question/index?qid=20080316144905AAL3lgv

jueves, 7 de enero de 2010

LA NAVEGACIÓN EN LA EDAD MEDIA

Además de los enlaces que aparecen al final, puedes utilizar también la wikipedia. Cuando los textos sean muy largos y quieras buscar una información, puedes usar el menú: editar->buscar en esta página, entonces en la parte de abajo de la pantalla escribes la palabra, por ejemplo navegación y el ordenador busca en el texto dónde aparece esa palabra. Entonces puedes ir rápidamente a la parte del texto donde se está hablando del tema del cual estás buscando información.

¿En qué año aproximadamente comienza la edad media?
¿En qué año aproximadamente termina la edad media?
¿Qué acontecimiento importante ocurrió al comienzo de la edad media?
¿Qué acontecimiento importante ocurrió al finalizar la edad media?
Di tres acontecimientos que ocurrieron durante la edad media.
Di tres personajes que vivieron durante la edad media.
¿Qué es la latitud?¿Qué es la longitud referida a la situación de un punto en la tierra?
Cita los avances más importantes que tuvieron lugar en la edad media respecto a la navegación.

Latitud y longitud
La edad media