martes, 6 de septiembre de 2016

USO DEL SERVO MOTOR

¿Que es un ServoMotor?
Un Servo es un dispositivo pequeño, especial de motor de c.c. que tiene un eje de rendimiento controlado. Este puede ser llevado a posiciones angulares específicas al enviar una señal codificada. Están generalmente formados por un amplificador. Con tal de que una señal codificada exista en la línea de entrada, el servo mantendrá la posición angular del engranaje. Cuando la señala codificada cambia, la posición angular de los piñones cambia. En la práctica, se usan servos para posicionar superficies de control como el movimiento de palancas, pequeños ascensores y timones. Está limitado, teniendo un rango de movimiento de 0 a 180 grados.



Composición del ServoMotor.

En la siguiente figura se muestra la composición interna de un servomotor. Se puede observar el motor, la circuitería de control, un juego de piñones, y la caja. También se pueden ver los 3 cables de conexión externa:
  • uno (rojo) es para alimentación, Vcc (~ +5volts);
  • otro (negro) para conexión a tierra (GND);
  • el último (blanco o amarillo) es la línea de control por la que se le envía la señal codificada para comunicar el ángulo en el que se debe posicionar.

Picture of servo gears





domingo, 24 de julio de 2016

Conexion De Motor Reductor Y Puente H


Para iniciar el tema antes que nada, uno se puede plantear la siguiente pregunta;
¿Que es un moto reductor?
Es una maquina la cual posee un motor electrico el cual regula la velocidad en una forma segura y eficiente. Posee componentes tales como sistemas de engranajes y torques.

Este puede ser conectado de la siguiente manera:

 

El puente H (en nuestro caso el Modulo L298N) es un componente electronico el cual permite a un motor electrico DC girar en ambos sentidos, avance y retroceso.
L298N_pines_Electronilab 

Este puede ser conectado y programado. La programacion (en mi caso) activa el motor en un sentido por 4 segundos, luego detiene el motor por 0.5 segundos, después activa el motor en sentido inverso por 4 segundos y por último detiene el motor por 5 segundos. Luego repite la acción sin fin. El codigo es el siguiente:

int IN3 = 5;
int IN4 = 4;

void setup()
{
  pinMode (IN4, OUTPUT);    
  pinMode (IN3, OUTPUT);   
}
void loop()
{
  digitalWrite (IN4, HIGH);
  digitalWrite (IN3, LOW);
  delay(4000);

  digitalWrite (IN4, LOW);
  delay(500);

  digitalWrite (IN3, HIGH);
  delay(4000);

  digitalWrite (IN3, LOW);
  delay(5000);
}

--------------------------------------------------------------

Esquema de conexion usado a lo largo del proyecto.
L298N_1_motControl_Motor_paso_a_paso_arduino_L298N_Electronilab 




Materiales usados a lo largo de la practica:
  • 1 placa Arduino UNO R3 con su cable. 
  • 1 moto reductor con su respectiva rueda 
  • 1 protoboard de 830 puntos 
  • 1 puente H L298N motor drive controller 
  • 8 cables jumper macho-macho
  • 1 caja de destornilladores finos





lunes, 11 de julio de 2016

Sumativa: Uso De Potenciometro Y Botonera En Una Secuencia (2)




El proyecto fue entregado el dia de hoy, se tuvo una hora mas para poder finalizarlo, con mi compañero tuve un problema ya que los leds estaban puestos de una manera erronea pero a la final todo salio segun lo planeado.



El codigo final quedo tal que asi:
int rapidez;
void setup() 
{
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);

}
void loop()
{
// put your main code here, to run repeatedly:
 rapidez = analogRead(0);
digitalWrite(6, HIGH); 
digitalWrite(5, HIGH); 
delay(rapidez);
digitalWrite(6, LOW); 
digitalWrite(5, LOW); 
delay(rapidez);
digitalWrite(7, HIGH); 
digitalWrite(4, HIGH); 
delay(rapidez);
digitalWrite(7, LOW);
digitalWrite(4, LOW);
delay(rapidez);
digitalWrite(8, HIGH); 
digitalWrite(3, HIGH); 
delay(rapidez);
digitalWrite(8, LOW); 
digitalWrite(3, LOW); 
delay(rapidez);
digitalWrite(9, HIGH); 
digitalWrite(2, HIGH); 
delay(rapidez);
digitalWrite(9, LOW); 
digitalWrite(2, LOW); 
delay(rapidez);
digitalWrite(9, HIGH); 
digitalWrite(2, HIGH); 
delay(rapidez);
digitalWrite(9, LOW); 
digitalWrite(2, LOW); 
delay(rapidez);
digitalWrite(8, HIGH); 
digitalWrite(3, HIGH); 
delay(rapidez);
digitalWrite(8, LOW); 
digitalWrite(3, LOW); 
delay(rapidez);
digitalWrite(7, HIGH); 
digitalWrite(4, HIGH); 
delay(rapidez);
digitalWrite(7, LOW);
digitalWrite(4, LOW);
delay(rapidez);
digitalWrite(6, HIGH); 
digitalWrite(5, HIGH); 
delay(rapidez);
digitalWrite(6, LOW); 
digitalWrite(5, LOW); 
delay(rapidez);





martes, 28 de junio de 2016

Sumativa: Uso De Potenciometro Y Botonera En Una Secuencia

El día de hoy el Mr. dio a conocer que cada uno debia obtener una pareja para asi poder trabajar de forma grupal un proyecto que el Mr. explicaria mas adelante. Al explicar el proyecto, el cual despues nos enteramos que seria la sumativa, la función que le debíamos dar a la botonera era que al ser pulsada realice una secuencia y al soltarlo se enciendan los de diferente forma (formando asi dos secuencias a realizar), mientras que el potenciometro se debía encargar de regular la rapidez con la cual se encendían los leds en cada secuencia.

En la primera secuencia los leds debían encenderse en serie continuamente mientras que una fila iba en dirección de izquierda a derecha, la otra fila de diodos leds se dirigía hacia la dirección opuesta.
En la segunda secuencia se debían encender la mitad de leds de cada fila mientras la otra mitad se encontraban apagados, pero luego se debían encender al revés, los que estaban apagados se prendian, y los que estaban prendidos se apagaban. La velocidad se ajustaba utilizando el potenciometro.
El resto de la hora fue dado para terminar dicho proyecto, el cual la proxima clase se revisaria.

martes, 21 de junio de 2016

Leds En Direcciones Opuestas (Uso De Pulsador Y Potenciometro)

En este proyecto se usarian los ultimos componentes usados recientemente, la botonera y el potenciometro, para que al pulsar o no, los leds parpadeen en una dirección y al mover el potenciometro se ajuste la intensidad / ritmo de las luces.

Para esto cada uno debia utilizar dos variables en la programación. También al momento de conectar el circuito debimos mezclar las dos conexiones realizadas anteriormente para los otros circuitos, quizas conectar a la linea del positivo para que asi esto conecte ambos componentes a 5v utilizando cables en a protoboard. 


'Use esta imagen para guiarme a lo largo de esta clase'

martes, 14 de junio de 2016

Uso Del Potenciometro

El día de hoy el Mr. dio a conocer un nuevo componente que se usara en practicas proximas, el potenciometro, componente el cual sirve para regular intensidad del paso de energia. Al momento de conectar esto se toma como una señal analógica por lo cual puede tener muchos estado, a diferencia de las digitales como se había estado trabajando en proyectos anteriores.

El potenciometro posee3 patas, que se enumeran viéndolo de frente. La primera (de izquierda a derecha) es de entrad, el cual debe estar conectado a una señal analógica que nosotros daremos; la de en medio es de salida, la cual debe estar conectada a '5v'; y la de la derecha que debe estar conectada a tierra (GND).

Para esta actividad trabajamos con el pin 13 de la placa Arduino. Consistía en que según se ajustaba la intensidad en el potenciometro, la rapidez del parpadeo del led iba aumentando o disminuyendo.

La variable a usar era analogRead, ademas el código para la salida que era la del led se mantenía con el formato normal parecido al del programa ejemplo Blink, pero en el delay se escribía el nombre que se le había dado a la variable -como el caso de int rapidez; - (y asi el correcto uso del potenciometro). 

Diodos Leds Al Contrario Con El Uso De Un Pulsador

Para la tarea enviada lo unico que se debia hacer era juntar los codigos de clases pasadas, el de "Leds en direcciones opuestas" con el uso de un pulsador, para que estas actuasen de cierta manera al ser pulsado dicho boton.

La conexión en la placa y protoboard es similar pero en lugar de conectarla al pin 13 se conecta a los demás pins que se encenderán en direcciones opuestas previamente ya establecidas.

 

martes, 7 de junio de 2016

Botonera En Arduino

El dia de hoy el Mr. procedio a explicar y a dar a conocer el uso de la botonera / pulsador. La botonera que yo utilice era de 2 patas, aunque me dio problemas conectarla.

En esta actividad trabajamos modificando el led del pin 13 que se encuentra en la placa Arduino para que al pulsar o no pulsar la botonera se encienda o se apague dicho led. Para esto se conectaba una de las patas del led a tierra pero, utilizando una resistencia de 1k ohmios y del otro lado se conectaba a la placa al pin de 5v y al pin 13 (o cualquier otro que se use).


'Modelo aparte'




Luego en la programación debíamos añadir una variable, con un nombre adecuado para el trabajo (ej. int rapidez;) que se insertaba como int antes del setup y esa misma variable se la añadía en el loop para que lea el estado utilizando digitalRead y lo que sucedia si el estado era postivo o negativo pues era una señal digital. Para finalizar, se le añadia else para el estado alterno y lo que ocurriria en dicho estado (ya sea en negativo o positivo).

Programar: "Leds En Direcciones Opuestas"

El dia de hoy la actividad se basaba en lograr algo similar, pero no igual, a la actividad del 'auto fantástico'. La diferencia es que, en lugar de iluminar en secuencia, los diodos leds partirian desde la mitad y haciéndolo en direcciones opuestas, de ida y vuelta.

Para que esto llegue a su cumbre, se necesitaba encender dos diodos leds a la vez, de cada lado, para lo cual se usaba dos salidas digitalWrite en la misma linea de la programación, siempre y cuando los diodos compartan su delay.
Después de hacer esto se iba contando los pines de la placa conectado a los leds en secuencia pero con un orden diferente.
Al termino de la primera secuencia, se debía repetir el código pero de manera inversa para que retroceda y así pueda volver a comenzar cuando la placa ejecute el programa, creando que los diodos leds vayan de manera contraria a si.



Codigo que use en el proyecto:
void setup() {
 // put your setup code here, to run once:
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT+);
pinMode(8, OUTPUT);
pinMode(7, OUTPUT);
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
}

void loop() {
 // put your main code here, to run repeatedly:
 digitalWrite(7, HIGH);   // turn the LED on (HIGH is the voltage level)
 delay(50);              // wait for a second
  digitalWrite(8, HIGH);   // turn the LED on (HIGH is the voltage level)
 delay(50);              // wait for a second
 digitalWrite(6, HIGH);   // turn the LED on (HIGH is the voltage level)
 delay(50);              // wait for a second
digitalWrite(9, HIGH);   // turn the LED on (HIGH is the voltage level)
 delay(50);              // wait for a second
digitalWrite(5, HIGH);   // turn the LED on (HIGH is the voltage level)
 delay(50);              // wait for a second
 digitalWrite(10, HIGH);   // turn the LED on (HIGH is the voltage level)
 delay(50);              // wait for a second
  digitalWrite(4, HIGH);   // turn the LED on (HIGH is the voltage level)
 delay(50);              // wait for a second
digitalWrite(11, HIGH);   // turn the LED on (HIGH is the voltage level)
 delay(50);    
   digitalWrite(11, LOW);   // turn the LED on (HIGH is the voltage level)
 delay(50);              // wait for a second
  digitalWrite(4, LOW);   // turn the LED on (HIGH is the voltage level)
 delay(50);              // wait for a second
 digitalWrite(10, LOW);   // turn the LED on (HIGH is the voltage level)
 delay(50);              // wait for a second
digitalWrite(5, LOW);   // turn the LED on (HIGH is the voltage level)
 delay(50);              // wait for a second
digitalWrite(9, LOW);   // turn the LED on (HIGH is the voltage level)
 delay(50);              // wait for a second
 digitalWrite(6, LOW);   // turn the LED on (HIGH is the voltage level)
 delay(50);              // wait for a second
  digitalWrite(8, LOW);   // turn the LED on (HIGH is the voltage level)
 delay(50);              // wait for a second
digitalWrite(7, LOW);   // turn the LED on (HIGH is the voltage level)
 delay(50);  
  digitalWrite(7, LOW);   // turn the LED on (HIGH is the voltage level)
 delay(1000);   
  digitalWrite(8, LOW);   // turn the LED on (HIGH is the voltage level)
 delay(1000);

martes, 31 de mayo de 2016

Leds: "Auto Fantastico en Arduino"

El dia de hoy, a lo largo de la clase volvimos a trabajar con la placa Arduino. El Mr. nos explico algunas de las caracteristicas y especificaciones tecnicas de la placa, asi como conceptos basicos y fundamentales para su adecuado uso.

El Mr. dio a conocer una actividad que consistia en programar diodos led para que se enciendan y se apaguen continuamente a un determinado ritmo.


'Modelo a seguir'


Para esto cada uno nos fuimos al programa 'Arudino" y elegimos el ejemplo "Blink", el cual le da instrucciones a la placa de hacer parpdear un led durante cierto tiempo. Se procede a realizar el proyecto; se conecta la placa a la protoboard y cada pin en la linea de cada diodo led utilizando los cables jumper. Finalmente se ajusta en el programa el tiempo de duracion deseado de la luz de los led, el tiempo esta dado en milisegundos por lo cual para poder ocurrir un segundo debe ingresarse el numero '1000'.



martes, 10 de mayo de 2016

Selfie de un compañero

El día de hoy en clase de informática realizamos una actividad que consistía en dibujarnos a nosotros mismos y luego intercambiar el dibujo con nuestros compañeros de manera aleatoria.
Este ejercicio fue bueno por el simple hecho que fue dinámico y sencillo, nos ayudo a reconocer un poco sobre nosotros mismos.

Quien me descubrió fue San Lucas por el reloj que dibuje.


A el cual descubrí fue Luis León por el hecho de sus lentes, estatura y su anchura de cuerpo.



A continuación le pregunté a Luis sobre que eran los sensores y me dijo que "estos son aparatos electrónicos que nos ayudan a determinar las magnitudes físicas externas para así transformarlas a una eléctrica la cual se puede manipular"