miércoles, 28 de junio de 2017

Práctica # 2

Secuencia # 1: Barrido de bordes

Durante esta práctica, el mister de programación nos mandó a realizar una secuencia donde los diodos led se enciendan barriendo los bordes de la matriz 8x8. Para realizar esta actividad, requerimos de los siguientes materiales :

  • Matriz 8x8 
  • Arduino Uno
  • Resistencias 220 ohms
  • Cables Jumper (macho-hembra y macho-macho)
Para iniciar, tomamos nuestra matriz y la conectamos por medio de los jumper al Arduino de la siguiente manera:

La secuencia que debíamos realizar tenia que encender sólo los LEDs de los bordes, uno tras de otro ya que no podían estar encendidos dos a la vez. Para realizar la tarea encomendada utilizamos la siguiente programación:

void setup() {
    for (int j=2; j<18; j++)
      pinMode(j, OUTPUT);

     for (int j=2; j<10; j++)
      digitalWrite(j, LOW);
     for (int j=10; j<18; j++)
      digitalWrite(j, HIGH);
}

void loop() {
    for (int j=2; j<3; j++) {
      digitalWrite(j, HIGH);     //Levantamos la columna
      for (int k= 10 ; k<18 ; k++) {
        digitalWrite(k, LOW);   //Encendemos el punto
        delay(100);
        digitalWrite(k, HIGH);  //Apagamos el punto
       }
       digitalWrite(j, LOW);   //Bajamos la columna
   }
   for (int j=17; j<18; j++) {
      digitalWrite(j, LOW);     //Levantamos la columna
      for (int k= 3 ; k<10 ; k++) {
        digitalWrite(k, HIGH);   //Encendemos el punto
        delay(100);
        digitalWrite(k, LOW);  //Apagamos el punto
       }
       digitalWrite(j, HIGH);   //Bajamos la columna
   }
   {
      digitalWrite(9, HIGH);     //Levantamos la columna
      for (int k= 16 ; k>=10 ; k--) {
        digitalWrite(k, LOW);   //Encendemos el punto
        delay(100);
        digitalWrite(k, HIGH);  //Apagamos el punto
       }
       digitalWrite(9, LOW);   //Bajamos la columna
   }
 
      digitalWrite(10, LOW);     //Levantamos la columna
      for (int k= 8 ; k>2 ; k--) {
        digitalWrite(k, HIGH);   //Encendemos el punto
        delay(100);
        digitalWrite(k, LOW);  //Apagamos el punto
       }
       digitalWrite(10, HIGH);   //Bajamos la columna
   }




Secuencia # 2:  Infinito


Durante esta práctica, el mister de programación nos mandó a realizar una secuencia donde los diodos led se enciendan barriendo dos bordes de la matriz y cruzándose, formando una equis, haciendo esto infinitamente.

La secuencia, al igual que la anterior, debía prender solo un LED a la vez, y tuvimos que usar operaciones matemáticas para realizar la siguiente programación a través de diferencias:


int s=1;


void setup()


{
    for (int j=2; j<19; j++)
      pinMode(j, OUTPUT);

     for (int j=2; j<10; j++)
      digitalWrite(j,HIGH);
     for (int j=10; j<18; j++)
      digitalWrite(j, LOW);

}


void loop() {
 
 
          digitalWrite(2, LOW);  
      for (int k= 18 ; k>=10 ; k--) {
        digitalWrite(k, HIGH);
        delay(250);
        digitalWrite(k, LOW);
       }
      digitalWrite(2, HIGH);



      for (int e=2; e<10; e++) {
        digitalWrite(e, LOW);
        digitalWrite (e+8, HIGH);
        delay(250);
        digitalWrite(e,HIGH);
        digitalWrite(e+8,LOW);
      }

        digitalWrite(9, LOW);  
      for (int k= 17 ; k>=10 ; k--) {
        digitalWrite(k, HIGH);
        delay(250);
        digitalWrite(k, LOW);
       }
      digitalWrite(9, HIGH);
 

    s=1;
    for (int p=9; p>=2; p--){
 
   
     
      digitalWrite(p, LOW);
        digitalWrite (p+s, HIGH);
        delay(250);
        digitalWrite(p,HIGH);
        digitalWrite(p+s,LOW);

         s=s+2;
En esta práctica, la parte más difícil fue realizar el barrido diagonal inverso debido a que la diferencia entre las filas y columnas no era la misma siempre.




Sofia Pin
Walter Sánchez
3RO Oxford

lunes, 17 de octubre de 2016

Uso del Servo Motor

El dia de hoy conocimos una nueva herramienta de trabajo para nuestro nuevo proyecto. Esta herramienta se la reconoce con el nombre de Servo Motor.
https://www.mgsuperlabs.co.in/estore/image/cache/data/MGSL/HS311_400x300-500x500.jpg¿Que es un servo motor?
Es un dispositivo electronico el cual tiene un eje de rendimiento controlado. Los servo motores se controlan por medio de un pulso de ancho variable y frecuencia constante. El servomotor que utilizaremos en clases es el HS-311 por su precio economico y tiene la mayoria de caracteristicas que un servo mas caro tiene. Este servo puede operar a 180 grados.
A continuacion podremos observar las especificaciones de un servo motor:
  • Velocidad: 0.19 seg/60° at 4.8V
  • Velocidad: 0.15 seg/60° at 6.0V
  • Torque: 42.00 oz-in at 4.8V
  • Torque: 51.00 oz-in at 6.0V
  • Largo:  1.60" (41mm)
  • Ancho:   0.80" (20mm)
  • Alto:  1.40" (37mm)
  • Peso:  1.5oz (43g)
¿Como se realiza la conexion del servo moto al Arduino?
El servo motor tiene 3 cables de diferentes colores. Estos son el negro, el rojo, y el amarillo. Cada color tiene una funcion especifica para realizar.

El color rojo es el cable positivo por tal razon este ira conectado en el pin 5V del Arduino.
El color negro puede ir conectado directamente al GND del Arduino o al protoboard donde tiene todas las GNDs referenciadas.
Y por ultimo tenemos al cable amarillo de esta herramienta de trabajo. Este va al pin 9 del Arduino, tambien puede ir conectado a cualquier pin PWM. Por medio de este cable se manda la señal de control al servo motor para ir de 0 a 180 grados.

domingo, 21 de agosto de 2016

PROYECTO FINAL

Para nuestro proyecto de sumativa, el cual sera nuestra nota para el examen quimestral del primer parcial, debemos crear un auto control remoto donde este pueda ser controlado por un dispositivo Bluetooth (el aprendido la clase pasada).Debe realizar todas las actividades de cualquier otro auto normal, sea avanzar, retroceder, y girar hacia los lados. Para este proyecto tenemos una lista de materiales utilizados los cuales son: 
-Arduino uno
-Modulo HC-05
-2 puentes H
-4 motorreductores
-4 neumaticos
- cables jumper macho-macho
- cables jumper macho-hembra
-3 baterias de 9v
-2 protoboard
-cinta doble
-cinta de embalaje


El procedimiento de nuestro trabajo fue:
1.- Conectar ambos puentes H con sus respectivos motorrreductores con neumáticos.
2.- Conectar por medio de cables jumper los puentes H a puertos del Arduino.
3.- Colocar tanto puentes H como Arduino al protoboard a su gusto por medio de la utilización de cinta doble.
4.- Conectar las baterías a los puentes H y Arduino, estableciendo una tierra común para ambos puente H.
5.- Conectar el HC-05 al protoboard y al Arduino en los pines correctos.
6.- Pegar dos protoboards para realizar una base mas grande y que puedan entrar todas las herramientas.
7.- Realizar la programación para manejar el Robot desde un dispositivo remoto.
8.- Ajustar los cables con cinta de embalaje para darle mayor estética al robot. 
      


CONEXIÓN Y USO DEL MODULO DE BLUETOOH HC 05


Cada clase nueva en informatica podemos aprender de nuevos instrumentos. El dia de hoy conocimos el Modulo Bluetooth HC 05. En que consiste esta herramienta?

Modulo Bluetooth HC 05 es un componente electronico que permite conexiones mediante Bluetooth a cualquier dispositivo con sistema Android para controlar un sistema remotamente. 


La siguiente programacion es la programacion basica de esta herramienta: 
int state = 0; // Variable lectrura serial

//bluetooth hc-06
int ledPin = 12; // usamos un pin de salida al LED
int state = 0; // Variable lectrura serial
 
void setup() {
    pinMode(ledPin, OUTPUT);   //Declara pin de Salida
    digitalWrite(ledPin, LOW); //Normalmente Apagado
    Serial.begin(9600);
}
 
void loop() {
 //si el modulo a manda dato, guardarlo en estado.
  if(Serial.available() > 0){
       state = Serial.read();
  } // esta parte del código es para solo 1 Carácter o Unidad.
 
 // si el estado es 0 ese sería Apagado “OFF”
 if (state == '0') {
    digitalWrite(ledPin, LOW);
    Serial.println("LED: off");
 }
 
 // de lo contrario si el estado es 1 ese sería Encendido “ON”
 else
 if (state == '1') {
     digitalWrite(ledPin, HIGH);
     Serial.println("LED: on");
 }
 
}

CONEXIÓN DE MOTOR REDUCTOR Y PUENTE H

El día de hoy iniciamos con una nueva herramienta para todos nosotros en la materia de informática. Esta es conocida como el motor reductor
El motor reductor es un método para la reducción de velocidad. Son aparatos de uso industrial, que necesitan esta reducción de forma segura, eficiente y casi exacta.
  Con este instrumento se puede recibir:
  • Regularidad perfecta en la velocidad y en su potencia.
  • Mayor eficiencia en la transmisión de la potencia suministrada por el motor. 
  • Seguridad en su transmisión.
  • Menor espacio requerido.
  • Menor tiempo requerido para su instalación.


  • Los motorreductores no tienen polaridad asi que son muy sencillos para su conexion. Se conectan de la forma que uno desee y ya esta listo para su uso.





    Otra herramienta utilizada en clases que también es nueva es el puente H. En que consiste este instrumento? Es un circuito electronico que permite a un motor electrico DC girar en ambos sentidos, es decir, puede avanzar como retroceder, tal como el usuario desee utilizarlo. 
    Se conectan dos cables macho macho en el puente H, uno de cada lado, y losotros extremos iran conectados al motorreductor. En el GND ira conectado el negativo de la bateria de 9v.
    Donde dice IN en la imagen, iran conectados los cables macho hembra de estos pines del puente H y sus extremos iran al arduino