Puertas abiertas – Ate irekiak 2012

Puertas abiertas – Ate irekiak 2012

Don Bosco realizará 2 días de puertas abiertas el 17 y 19 de Mayo, jueves y sábado respectivamente. Si no te viene bien las fechas ponte en contacto que seguro que encontramos alguna fecha en la que puedas visitar el departamento de electrónica. Los ciclos formativos de grado medio y superior que tenemos son:

  • Electrónica
  • Telecomunicaciones

Don Bosco ate ireki eguna 2 egunetan ospatuko du, Maiatzak 17 osteguna eta 19 larunbata. Datekin arazorik baldin baduzu jar zaitez lasai asko gurekin arremanetan eta elektronika departamendua bisitatzeko beste dataren bat topatuko dugu. Ditugun erdi eta goi mailako zikloak hauek dira:

  • Elektronika
  • Telekomunikazioak

 

 

 

Don Bosco de Errenteria organiza tres concursos científico-tecnológicos

El éxito obtenido en la primera edición del concurso proiektON, organizado por el centro Don Bosco de Errenteria, ha llevado no solo a poner en marcha una segunda edición, sino a llevar a cabo dos concursos más para “estimular la creatividad y el espíritu científico-tecnológico de nuestros jóvenes”. De tal forma, este año, además de poder participar en proiektON, se podrá hacer en la primera edición de ideiON y DB Bots.
.
Dos de los tres concursos, proiektON e ideiON, han nacido con “la idea de fomentar y premiar el espíritu creativo e innovador dentro del área tecnológica entre los jóvenes”, y pretenden ser “un escaparate ante la sociedad del trabajo y esfuerzo que realizan tanto alumnos como profesores del ámbito no universitario dentro de las aulas”. En ambos proyectos puede participar el alumnado de ESO, Bachillerato y Ciclos Formativos, tanto de grado medio como de grado superior, que cursen estudios en centros públicos o privados de la Comunidad Autónoma Vasca y de la Comunidad Foral de Navarra. En el caso de proiektON, para poder participar hay que ser menor de 25 años.
El próximo 19 de mayo, sábado, de 10:00 a 12:30 horas, el gimnasio del instituto Don Bosco acogerá una exposición con los proyectos que se hayan presentado a los tres concursos, y a las 13:00 horas se llevará a cabo la entrega de premios en el salón de actos.

.
.

PROIEKTON
.
Aquellos que quieran participar en la segunda edición de proiektON podrán hacerlo de forma individual o en equipos formados por dos alumnos o alumnas. Todos los proyectos contarán con un tutor o profesor que será quien actúe como persona de contacto entre su centro formativo y el IEFPS Don Bosco. Los alumnos sólo podrán presentar un proyecto a concurso y, en cualquier caso, ningún concursante podrá optar a dos premios.
Los que quieran participar deberán enviar, antes del 13 de abril, la solicitud de inscripción al IEFPS Don Bosco de Errenteria, mediante un formulario habilitado en la web del concurso. Asimismo, en este concurso se repartirán un total de 9 premios, tres por cada categoría, dotados de 500, 300 y 200 euros, para el primer, segundo y tercer premio, respectivamente, más un diploma.
.
.
IDEION
.
La participación para el concurso ideiON, que se realizará este año por vez primera, será de carácter individual y se podrán presentar tantas ideas como se quiera. Quienes quieran participar en este concurso deberán tener una cuenta en la red social Facebook, en la que tendrán que realizar una solicitud de amistad a Elektronika Don Bosco. El último día para poder realizar las peticiones de amistad será el 2 de marzo.
A medida que vayan recibiendo las citadas peticiones, la organización de ese departamento irá aceptándolas y, de ese modo, la inscripción quedará realizada. A partir de ese momento, los participantes podrán escribir en el muro del facebook de Elektronika Don Bosco. El  5 de marzo la organización dejará en el muro de la citada red social el planteamiento para poder desarrollar la idea, que estará basado en una situación real y actual a la que habrá que dar respuesta mediante una idea científico-tecnológica.
Los participantes de este concurso deberán realizar un vídeo o vídeo-montaje sobre su idea y colgarla, posteriormente, en el portal Youtube. Por cada idea que se presente se tendrá que elaborar un vídeo, han especificado desde el centro. Asimismo, el 2 de abril la organización permitirá que los participantes puedan poner en el muro de la red social la dirección web o URL del vídeo que han realizado.
“Este concurso no contará con un jurado definido”, han señalado desde Don Bosco, “sino que serán los propios usuarios de facebook quienes, mediante el botón ‘me gusta’, darán el voto a sus ideas favoritas”. El vídeo que obtenga un mayor número de apoyos será la idea ganadora de este concurso. El 4 de mayo, y tras las comprobaciones pertinentes por parte de la organización, se dará a conocer el ganador de ideiON, que será premiado con 500 euros.
.
.
DB BOTS
.
El concurso de robots velocistas, DB BOTS, “consiste en circular por un camino cerrado y de formas simples a la máxima velocidad posible sin salirse de él hasta que un robot alcance al otro. Se irán intercambiando las posiciones hasta que un robot alcance dos veces al otro, proclamándose ganador”, se ha explicado.
Puede participar cualquier persona, aunque solo una por robot. Al igual que con el de proiektON, aquellos que quieran participar deberán enviar, antes del 1 de mayo, la solicitud de inscripción al IEFPS Don Bosco de Errenteria mediante el formulario habilitado en la web del concurso.
No obstante, la organización comunicará a todos los aspirantes, antes del 6 de mayo, si han sido seleccionados o no para la fase final. Las comunicaciones entre la organización y los participantes se realizarán, preferentemente, por correo electrónico o a través de la web, han indicado desde la organización.
Asimismo, en la web relativa a este concurso se pueden consultar tanto las características de la pista por la que tendrán que correr los robots, así como las cualidades que ha de tener el robot con el que se quiera participar. El ganador absoluto de DB BOT recibirá un premio de 250 euros; el segundo clasificado recibirá 100 euros y el mejor robot de ESO y bachiller será obsequiado con 150 euros.
.
.
CONSULTAS E INFORMACIÓN
.
Para cualquier duda o consulta sobre los concursos proiektON o ideiON se puede contactar con David Muñoz y Carlos Lizarbe (departamento de Electrónica), a través del email ideion-bosco@fpdonbosco.com, y para cualquier consulta sobre DB BOT con Ion Hernández en dbbots@fpdonbosco.com. Asimismo, también se puede llamar al 943 510 450 para cualquiera de los tres concursos.
Control de motor dc con Arduino

Control de motor dc con Arduino

En la pequeña robótica los motores que más se suelen usar son los de corriente continua (dc). Entender el control de estos motores es la base para poder programarlos. Por ahora no vamos a poner el sketch, simplemente vamos a explicar como controlar un motor dc y a nada que se sepa algo de programación con Arduino el programa debería de salir relativamente fácil.

.

.

Para controlar un motor de corriente continua hay que usar un puente H. Esto se puede construir pero como puede dar mucho trabajo por lo que en pequeña robótica se suele usar modelos que están en circuitos integrados. El nombre viene dado porque su arquitectura se asemeja a la letra H como se puede ver en la imagen.

.

.

Un puente H se construye con 4 interruptores (mecánicos o mediante transistores). Cuando los interruptores S1 y S4 (ver primera figura) están cerrados (y S2 y S3 abiertos) se aplica una tensión positiva en el motor, haciéndolo girar en un sentido. Abriendo los interruptores S1 y S4 (y cerrando S2 y S3), el voltaje se invierte, permitiendo el giro en sentido inverso del motor.

Con la nomenclatura que estamos usando, los interruptores S1 y S2 nunca podrán estar cerrados al mismo tiempo, porque esto cortocircuitaría la fuente de tensión. Lo mismo sucede con S3 y S4.

En vez de interruptores se suelen usar transistores y mediante la configuración en H se puede hacer que el motor dc gire en ambos sentidos.

.

.

 

Hay diferentes circuitos integrados con la arquitectura de un puente H, los más sencillo son los L293D y SN754410. Aunque es recomendable mirar el datasheet suelen dar unos 1200mA y mediante cada circuito integrado se puede controlar 2 motores (600mA cada uno).

En la imagen se puede ver como los pines de un lado (1, 2, 3, 4, 5, 6 y 7) son para controlar un motor y los pines del otro lado (9, 10, 11, 12, 13, 14 y 15) son para controlar un segundo motor. El pin 8 hay que conectarlo a la fuente de alimentación con la que se alimenta el motor y el pin 16 es la alimentación propia del chip. Recuerda que si se usan más de una fuente de alimentación (pila motor y pila chip) tienen que tener las masas comunes (4, 5, 12 y 13) para que tengan la misma referencia.

.

.

En la tabla de la imagen se pude ver que el control del motor se hace mediante 3 pines (EN, 1A y 2A). Siguendo las convinaciones de la tabla se puede hacer que el motor:

  • Gire a la derecha.
  • Gire a la izquierda.
  • Se frene el motor.

.

Control de velocidad

Para hacer que le motor gire a diferentes velocidades debemos utilizar la técnica de modulación por ancho de pulso-PWM. Aquí hay algunos gráficos donde se muestra la relación entre la señal de pulsos (PWM) y el voltaje efectivo:

.

.

Cuando el tiempo que el pulso está activo es la mitad del periodo de la señal o el parámetro duty cycle está al 50%, el voltaje efectivo es la mitad del voltaje total de entrada.

.

.

Cuando el duty cycle es reducido al 25%, el voltaje efectivo es un cuarto del voltaje total de entrada. Entonces la velocidad del motor disminuye. De esta forma controlando el duty cycle o el tiempo que el pulso está activo (frecuencia), podemos controlar la velocidad del motor de continua.

Una forma de realizar dicho control en Arduino, es utilizando la salida analógica PWM. Hay que recordar que la señal de salida PWM (pines 9,10) es una señal de frecuencia constante (30769 Hz) y que sólo nos permite cambiar el «duty cycle» o el tiempo que el pulso está activo (on) o inactivo (off), utilizando la función analogWrite().

Como se ha comentado hasta ahora se puede controlar tanto el sentido de giro como la velocidad a la gira. Para poder hacer las dos cosas se puede hacer con el A1 y el A2 conectándolos a un pin PWM cada uno de ellos.

.

.

.

La solución de usar 2 pines PWM es correcta aunque puede ser malgastar pines ya que los PWM están más limitados que los digitales. Por eso es posible controlar un motor con un pin digital y un PWM. Para el ejemplo vamos a suponer que el pin 1A está conectado a un PWM de Arduino y el pin 2A a uno digital. Ez giro a izquierda sería el mismo que en el ejemplo de arriba.

.

.

Para hacer que gire a la derecha a diferentes velocidades hay que poner el pin digital en alto y mandar un pulso PWM por el otro pin. Hay que tener en cuenta que la velocidad la marca el tiempo que está a cero la señal PWM, osea cuando 1A=0 y 2A=1 girará a la derecha. Pero cuando 1A=1 y 2A=1 no girará.

.

.

Aunque en algunos datasheet dice que con esta combinación el motor se frena, se puede usar sin problemas.

10 led-en kontrola 4 interruptoez

10 led-en kontrola 4 interruptoez

Muntai honen helburua 4 interruptoren bitartez 10 led kontrolatzea da. 4 interruptore horien bidez 0 tik 10era zenbaki bat sartuko diogu sistema bitarrean eta zenbakiari dagokion led kopuruak piztu behar dira.
Proteus 7.7 erabili dugu zirkuitu hau simulatzeko:
.
.
.
Eta hemen bideo bat dugu zirkuituaren funtzionamenduarekin

.

Azkenik, ariketa hau egiteko programa daukagu:
void setup() 
{ 
  Serial.begin(9600);      // abre el puerto serie a 9600 bps: 
  pinMode(A0, INPUT);  
  pinMode(A1, INPUT); 
  pinMode(A2, INPUT); 
  pinMode(A3, INPUT); 
  pinMode(2, OUTPUT); 
  pinMode(3, OUTPUT); 
  pinMode(4, OUTPUT); 
  pinMode(5, OUTPUT); 
  pinMode(6, OUTPUT); 
  pinMode(7, OUTPUT); 
  pinMode(8, OUTPUT); 
  pinMode(9, OUTPUT); 
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
    digitalWrite(2, LOW);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
    digitalWrite(7, LOW);
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW); 

}
void loop()
{
  digitalRead(A0);
  digitalRead(A1);
  digitalRead(A2);
  digitalRead(A3);
  if((digitalRead(A0)==HIGH)&&(digitalRead(A1)==HIGH)&&(digitalRead(A2)==HIGH)&&
     (digitalRead(A3)==HIGH))
  {
    digitalWrite(2, LOW);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
    digitalWrite(7, LOW);
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
  }
  if((digitalRead(A0)==LOW)&&(digitalRead(A1)==HIGH)&&(digitalRead(A2)==HIGH)&&
     (digitalRead(A3)==HIGH))
  {
    digitalWrite(2, HIGH);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
    digitalWrite(7, LOW);
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
  }
  if((digitalRead(A0)==HIGH)&&(digitalRead(A1)==LOW)&&(digitalRead(A2)==HIGH)&&
     (digitalRead(A3)==HIGH))
   {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, LOW);
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
    digitalWrite(7, LOW);
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
   }
  if((digitalRead(A0)==LOW)&&(digitalRead(A1)==LOW)&&(digitalRead(A2)==HIGH)&&
     (digitalRead(A3)==HIGH))
   {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
    digitalWrite(7, LOW);
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW); 
   }
  if((digitalRead(A0)==HIGH)&&(digitalRead(A1)==HIGH)&&(digitalRead(A2)==LOW)&&
     (digitalRead(A3)==HIGH))
    {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, HIGH);
    digitalWrite(6, LOW);
    digitalWrite(7, LOW);
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
    }
  if((digitalRead(A0)==LOW)&&(digitalRead(A1)==HIGH)&&(digitalRead(A2)==LOW)&&
     (digitalRead(A3)==HIGH))
    {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, HIGH);
    digitalWrite(6, HIGH);
    digitalWrite(7, LOW);
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
    }
  if((digitalRead(A0)==HIGH)&&(digitalRead(A1)==LOW)&&(digitalRead(A2)==LOW)&&
     (digitalRead(A3)==HIGH))
    {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, HIGH);
    digitalWrite(6, HIGH);
    digitalWrite(7, HIGH);
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
    }
  if((digitalRead(A0)==LOW)&&(digitalRead(A1)==LOW)&&(digitalRead(A2)==LOW)&&
     (digitalRead(A3)==HIGH))
   {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, HIGH);
    digitalWrite(6, HIGH);
    digitalWrite(7, HIGH);
    digitalWrite(8, HIGH);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
   }
  if((digitalRead(A0)==HIGH)&&(digitalRead(A1)==HIGH)&&(digitalRead(A2)==HIGH)&&
     (digitalRead(A3)==LOW))
   {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, HIGH);
    digitalWrite(6, HIGH);
    digitalWrite(7, HIGH);
    digitalWrite(8, HIGH);
    digitalWrite(9, HIGH);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
   }
  if((digitalRead(A0)==LOW)&&(digitalRead(A1)==HIGH)&&(digitalRead(A2)==HIGH)&&
     (digitalRead(A3)==LOW))
    {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, HIGH);
    digitalWrite(6, HIGH);
    digitalWrite(7, HIGH);
    digitalWrite(8, HIGH);
    digitalWrite(9, HIGH); 
    digitalWrite(10, HIGH); 
    digitalWrite(11, LOW);
    }
  if((digitalRead(A0)==HIGH)&&(digitalRead(A1)==LOW)&&(digitalRead(A2)==HIGH)&&
     (digitalRead(A3)==LOW))
    {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    digitalWrite(5, HIGH);
    digitalWrite(6, HIGH);
    digitalWrite(7, HIGH);
    digitalWrite(8, HIGH);
    digitalWrite(9, HIGH);  
    digitalWrite(10, HIGH);
    digitalWrite(11, HIGH);
    }
}
2 pultsadore bidez soinu maila kontrolatu

2 pultsadore bidez soinu maila kontrolatu

roiektu honek egiten duena da bi pultsadoreen bidez led barrak dituen argi kopurua kontrolatuko dugu. Pultsadore batekin led barra bat gehiago piztuko da eta beste pultsadorearekin led barra bat gutxiago piztuko da. Pentsa ezazue bolumena kontrolatzeko sistema bat dela. Zero baina gutxiago ezin da jeitsi bolumena eta maximoa hamar baino gehiago ezin da igo bolumena.
Proteus programarekin simulatu dugu, horretarako Proteus 7.7 erabili dugu Arduino UNOrekin konpatiblea izateko. Hona hemen argazkia Proteusen simulatuta:
.
.
Ikasle batek prozesuaren bideotutorial bat egin du. Ea zer deritzozue!
.

.

Horretarako Arduino UNO erabili dugu bere Sketch programarekin. Hona hemen Sketch-a:
int x=3;
void setup() { 
  pinMode(2, INPUT);  
  pinMode(3, INPUT); 
  pinMode(4, OUTPUT); 
  pinMode(5, OUTPUT); 
  pinMode(6, OUTPUT); 
  pinMode(7, OUTPUT); 
  pinMode(8, OUTPUT); 
  pinMode(9, OUTPUT); 
  pinMode(10, OUTPUT); 
  pinMode(11, OUTPUT); 
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);  
}
void loop() 
{
  digitalRead(2);
  if (digitalRead(2) == LOW)
  {
    digitalRead(2); 
    while(digitalRead(2)== LOW)
    {
      digitalRead(2);
    }
    if(x>=13)
    {
      x=13;
    }
    digitalWrite(x, HIGH); 
    x++;
  }  
  digitalRead(3);
  if (digitalRead(3) == LOW)
  {
    digitalRead(3); 
    while(digitalRead(3)== LOW)
    {
      digitalRead(3);
    }
    if(x<=3)
    {
      x=4;
    }
    x--;
    digitalWrite(x, LOW);   
  }  
}