lunes, 29 de febrero de 2016

Conectando 2 teléfonos antíguos



Introducción:
Se atribuye la invención del teléfono a Antonio Meucci alrededor del año 1857, quien desarrollo este aparato, para poder comunicarse con su esposa enferma de reumatismo, mientras él se encontraba en su oficina. Para el presente proyecto, se empleará un teléfono tipo “disco de marcar”. Desde finales del siglo XIX se desarrollaron los primeros teléfonos de este tipo y durante más de 100 años fueron evolucionando.

Paso 1:
El diagrama interno de las conexiones del teléfono muestra 2 cables, los cuales se encargan de la recepción y la trasmisión de voz. El cable marcado como “R” recibe la señal y el cable marcado como “T” transmite las señales de voz. La siguiente imagen nuestra el diagrama interno.

Diagrama de conexión interna del teléfono
Para hacer una línea telefónica local, se emplearan solamente los auriculares de los 2 teléfonos. Para permitir la transmisión de datos, es necesario energizar el circuito. Para la correcta transmisión y recepción, la conexión será:

Transmisor teléfono 1 => Receptor teléfono 2
   Receptor teléfono 1 => Transmisor teléfono 2
Conexión de los auriculares y la fuente de alimentación
Paso 2:
Las imágenes, muestran los teléfonos que se emplearán
Teléfono gris modelo Indetel
Teléfono beige tipo Indetel

Paso 3:
Las siguientes imágenes muestran la conexión hecha con cables tipo caimán. Es importante recordar la fuente de alimentación para energizar el circuito.
Conexión interna en el teléfono beige
Conexión en el teléfono gris

Paso 4:
La imagen muestra la conexión final. El cableado es de unos 30 cm. Sin embargo se puede utilizar cable más largo, para crear una red de comunicación interna.


sábado, 27 de febrero de 2016

Paracaidas de juguete



Introducción:
El componente asociado a lo referente a seguridad aeronáutica es el paracaídas. Este dispositivo de supervivencia permite desacelerar la caída de personas y o objetos. Uno de los primeros registros que se tienen sobre este tipo de dispositivos, hacen referencia a Leonardo da Vinci, quien diseño un paracaídas como el que se muestra en la imagen.
Boceto del paracaidas de Leonardo da Vinci
Paso 1:
El primer paso consiste en reunir el material que consiste en una bolsa de tintorería, hilo encerado grueso y cinta de aislar.

De la bolsa de tintorería, se recorta un cuadrado. De dobla en cuatro partes, como se nuestra en el video y se practica un corte como se muestra en la siguiente imagen.

Bolsa de plástico, doblada en 4 y recortada en un extremo
Paso 2:
Las cuatro esquinas que se recortaron se unen los extremos con cinta de aislar y se hace un orificio. Se utilizaran 2 hilos del mismo tamaño para unir las cuatro puntas. Una vez que se haya hecho esto, con otro trozo de hilo, se hace un nudo corredizo, el cual será el cinturón para sujetar el muñeco de juguete.

Paracaidas terminado
Paso 3:
El siguiente video, muestra paso a paso la fabricación y prueba del paracaídas.



jueves, 25 de febrero de 2016

Motor a pasos Arduino



Introducción:
Los motores de dc tradicionales, presentan un funcionamiento muy sencillo, ya que al energirzarlos comienzan a girar y al cambiar la polaridad de sus 2 terminales, se cambia el sentido de giro. Sin embargo, para controlar la posición, el numero de giros y la velocidad no es posible con este tipo de motores. Una alternativa para el control de motores eléctricos, son los motores a pasos, una alternativa para el control de velocidad, posición y giro.

Paso 1:
En la presente práctica, se controlará un motor a pasos empleando los siguientes componentes:

-       Tarjeta Arduino Uno
-       Motor a pasos bipolar
-       Drive para motores L293
-       Fuente de alimentación externa (4 baterías AA)

El siguiente diagrama muestra la conexión de la tarjeta Arduino con el drive L293. Para el motor a pasos, se colocaron 4 LEDs, éstos 4 componentes corresponden a las 4 terminales del motor a pasos bipolar.

Diagrama de conexión de la tarjeta Arduino y el motor a pasos
Paso 2:
La siguiente tabla muestra la secuencia de las 4 terminales del Arduino al drive del motor. Esta secuencia permite el giro del motor antihorario.


Terminal

A
B
C
D
Paso 1
1
0
1
0
Paso 2
1
0
0
1
Paso 3
0
1
0
1
Paso 4
0
1
1
0

El código de colores para el motor bipolar es:

Cable azul => Terminal A
Cable rojo => Terminal B
Cable blanco => Terminal C
Cable naranja => Terminal D

Los pines para la activación de las señales son del 10 al 13. A continuación se muestra el programa, el cual activa diferentes velocidades para el giro del motor. A continuación el programa.

/****** Motor a Pasos ***** //
 * Escrito: AMS
 * 
 */

int Informacion_Serial;
int Terminal_A=10;
int Terminal_B=11;
int Terminal_C=12;
int Terminal_D=13;

void setup() {
  pinMode(Terminal_A, OUTPUT);
  pinMode(Terminal_B, OUTPUT);
  pinMode(Terminal_C, OUTPUT);
  pinMode(Terminal_D, OUTPUT);
  
  Serial.begin(9600);
  Serial.print("0==> Parar, 1==> Lento, 2==> Medio");
  Serial.println("3==> Rapido, 4==> Muy rapido");
}                                     // 

void loop() {

   while(true) 
    {
    if(Serial.available()>0) {
      Informacion_Serial=Serial.read();
    
    if (Informacion_Serial=='0')
      {
          Serial.println("Paro"); 
          digitalWrite(Terminal_A,0);
          digitalWrite(Terminal_B,0);
          digitalWrite(Terminal_C,0);
          digitalWrite(Terminal_D,0); 
      }
      else if (Informacion_Serial=='1')
        {
              Serial.println("Lento"); 
          for(int vuelta = 0; vuelta <12; vuelta++)
            {
              digitalWrite(Terminal_A,1);
              digitalWrite(Terminal_B,0);
              digitalWrite(Terminal_C,1);
              digitalWrite(Terminal_D,0);
                delay(500);
              digitalWrite(Terminal_A,1);
              digitalWrite(Terminal_B,0);
              digitalWrite(Terminal_C,0);
              digitalWrite(Terminal_D,1);
                delay(500);
              digitalWrite(Terminal_A,0);
              digitalWrite(Terminal_B,1);
              digitalWrite(Terminal_C,0);
              digitalWrite(Terminal_D,1);
                delay(500);
              digitalWrite(Terminal_A,0);
              digitalWrite(Terminal_B,1);
              digitalWrite(Terminal_C,1);
              digitalWrite(Terminal_D,0);
                delay(500); 
            }
          }
      else if (Informacion_Serial=='2')
        {
              Serial.println("Medio"); 
          for(int vuelta = 0; vuelta <12; vuelta++)
            {
              digitalWrite(Terminal_A,1);
              digitalWrite(Terminal_B,0);
              digitalWrite(Terminal_C,1);
              digitalWrite(Terminal_D,0);
                delay(100);
              digitalWrite(Terminal_A,1);
              digitalWrite(Terminal_B,0);
              digitalWrite(Terminal_C,0);
              digitalWrite(Terminal_D,1);
                delay(100);
              digitalWrite(Terminal_A,0);
              digitalWrite(Terminal_B,1);
              digitalWrite(Terminal_C,0);
              digitalWrite(Terminal_D,1);
                delay(100);
              digitalWrite(Terminal_A,0);
              digitalWrite(Terminal_B,1);
              digitalWrite(Terminal_C,1);
              digitalWrite(Terminal_D,0);
                delay(100);
            }  
      }
      else if (Informacion_Serial=='3')
        {
              Serial.println("Rapido");
          for(int vuelta = 0; vuelta <12; vuelta++)
            {
              digitalWrite(Terminal_A,1);
              digitalWrite(Terminal_B,0);
              digitalWrite(Terminal_C,1);
              digitalWrite(Terminal_D,0);
                delay(20);
              digitalWrite(Terminal_A,1);
              digitalWrite(Terminal_B,0);
              digitalWrite(Terminal_C,0);
              digitalWrite(Terminal_D,1);
                delay(20);
              digitalWrite(Terminal_A,0);
              digitalWrite(Terminal_B,1);
              digitalWrite(Terminal_C,0);
              digitalWrite(Terminal_D,1);
                delay(20);
              digitalWrite(Terminal_A,0);
              digitalWrite(Terminal_B,1);
              digitalWrite(Terminal_C,1);
              digitalWrite(Terminal_D,0);
                delay(20);
            }
          }   
      else if (Informacion_Serial=='4')
        {
              Serial.println("Muy Rapido");
          for(int vuelta = 0; vuelta <12; vuelta++)
            {
              digitalWrite(Terminal_A,1);
              digitalWrite(Terminal_B,0);
              digitalWrite(Terminal_C,1);
              digitalWrite(Terminal_D,0);
                delay(8);
              digitalWrite(Terminal_A,1);
              digitalWrite(Terminal_B,0);
              digitalWrite(Terminal_C,0);
              digitalWrite(Terminal_D,1);
                delay(8);
              digitalWrite(Terminal_A,0);
              digitalWrite(Terminal_B,1);
              digitalWrite(Terminal_C,0);
              digitalWrite(Terminal_D,1);
                delay(8);
              digitalWrite(Terminal_A,0);
              digitalWrite(Terminal_B,1);
              digitalWrite(Terminal_C,1);
              digitalWrite(Terminal_D,0);
                delay(8);
            }
          }                          
        }
    }
}

Paso 3:
La siguiente imagen nuestra el circuito terminado. La transmisión de datos se realiza a través del puerto serial para dar los comandos al motor.

Motor a pasos bipolar con tarjeta Arduino UNO
Paso 4:
Ahora se realiza la prueba del circuito en el video. La siguiente imagen muestra la comunicación a través del puerto serial.

Puerto serial para la comunicación entre el Arduino y la PC