lunes, 25 de julio de 2016

MOTOR REDUCTOR + PUENTE H

En esta actividad realizaremos la programación adecuada en un motor reductor junto con un puente H. Para poder comprender la práctica, se tiene que tener clara la teoría para poder aplicarla, es por eso que se presentara ciertas definiciones claves para lograr un mejor resultado:

1.       REDUCTOR O MOTOREDUCTOR
Según sitenordeste, son pequeños motores (monofásicos o trifásicos), reductores de engranajes y a menudo variadores de velocidad (eléctricos o electrónicos). Es decir es aquel motor que capaz de cambiar y combinar velocidades de cualquier magnitud  a través de las adaptaciones en la arquitectura de sus engranajes. 

Ilustración 1 Motoreductor y su plano vertical-frontal
Ilustración 2 Motoreductor usado en el laboratorio

Se obtiene una serie de beneficios sobre estas otras formas de reducción. Algunos de estos beneficios son:

·         Una regularidad perfecta tanto en la velocidad como en la potencia transmitida.
·         Una mayor eficiencia en la transmisión de la potencia suministrada por el motor.
·         Mayor seguridad en la transmisión, reduciendo los costos en el mantenimiento.
·         Menor espacio requerido y mayor rigidez en el montaje.
·         Menor tiempo requerido para su instalación.
Los motores reductores vienen en diversos modelos:

Sin embargo sus componentes principales son:
·         Poleas
  • Engranajes
  • Eje de salida
  • Montaje de rosca
  • Tornillo sin fin
1.       PUENTE H
Según Wikipedia,  un Puente en H es un circuito electrónico que permite a un motor eléctrico DC girar en ambos sentidos, avance y retroceso. Son ampliamente usados en robótica y como convertidores de potencia.



Circuito en Protoboard y Arduino UNO
PROGRAMACION Y PRÁCTICA
Materiales:
  • Puente H
  • Arduino UNO
  • Cables Macho-Hembra & Macho-Macho
  • Protoboard
  • Batería 9v
  • Destornillador estrella
  • Adaptador para batería
  • Cable de impresora

Programación para puente H y motoreductor:

int IN3 = 5;
int IN4 = 4;
void setup() {
pinMode(IN4, OUTPUT);
pinMode(IN3, OUTPUT);
}
void loop (){
digitalWrite (IN4, HIGH);
digitalWrite (IN4, LOW);
delay(4000);
digitalWrite (IN4, LOW);
delay(500);
digitalWrite (IN3, HIGH);
delay(4000);
digitalWrite (IN3, LOW);
delay(5000);
}



BIBLIOGRAFIA:

sábado, 9 de julio de 2016

MEGA CIRCUITO EN PAREJA

REALIZADO: 28-JUN-2016

Llego el momento de hacer un MEGA CIRCUITO, asi que si apenas pudimos hacer lo anterior tratando de comprender, la practica que viene iba hacer terrible!

Lo que buscamos es juntar la progrmacion arduino y los circuitos realizados anteriormente y crear una secuencia diversa en cada fila. Este trabajo seria en grupo, y mi companera es Karla Aviles. Juntamos materiales para realizar el trabajo:

  •  12 LEDS (6 para cada fila)
  • Botonera 4 pin
  • Jumpers macho macho
  • Arduino UNO
  • Protoboard
  • Resistencias 220 Ω
  • Potenciometro 1k
PROGRMACION 

int boton;
int vel;
int cuenta = 0;
// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin 13 as an output.
  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, INPUT);
  Serial.begin(9600);
  Serial.print("Estado");
  Serial.print(" - ");
  Serial.println("Velocidad");
  }

// the loop function runs over and over again forever
void loop() {
boton = digitalRead(10);
vel = analogRead(0);
if(boton == HIGH){
  digitalWrite(2, HIGH);
  delay(vel);          
  digitalWrite(3, HIGH);
  delay(vel);
    digitalWrite(2, LOW);   // turn the LED on (HIGH is the voltage level)
  delay(vel);              // wait for a second
  digitalWrite(4, HIGH);    // turn the LED off by making the voltage LOW
  delay(vel);// wait for a second
    digitalWrite(3, LOW);   // turn the LED on (HIGH is the voltage level)
  delay(vel);              // wait for a second
  digitalWrite(5, HIGH);    // turn the LED off by making the voltage LOW
  delay(vel);
    digitalWrite(4, LOW);   // turn the LED on (HIGH is the voltage level)
  delay(vel);              // wait for a second
  digitalWrite(6, HIGH);    // turn the LED off by making the voltage LOW
  delay(vel);
    digitalWrite(5, LOW);   // turn the LED on (HIGH is the voltage level)
  delay(vel);              // wait for a second
  digitalWrite(7, HIGH);    // turn the LED off by making the voltage LOW
  delay(vel);
    digitalWrite(6, LOW);   // turn the LED on (HIGH is the voltage level)
  delay(vel);              // wait for a second
  digitalWrite(8, HIGH);    // turn the LED off by making the voltage LOW
  delay(vel);
    digitalWrite(7, LOW);   // turn the LED on (HIGH is the voltage level)
  delay(vel);              // wait for a second
  digitalWrite(9, HIGH);    // turn the LED off by making the voltage LOW
  delay(vel);
    digitalWrite(8, LOW);   // turn the LED on (HIGH is the voltage level)
  delay(vel);              // wait for a second
  digitalWrite(9, LOW);    // turn the LED off by making the voltage LOW
  delay(vel);
      digitalWrite(8, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(vel);              // wait for a second
  digitalWrite(7, HIGH);    // turn the LED off by making the voltage LOW
  delay(vel);
      digitalWrite(8, LOW);   // turn the LED on (HIGH is the voltage level)
  delay(vel);              // wait for a second
  digitalWrite(6, HIGH);    // turn the LED off by making the voltage LOW
  delay(vel);
      digitalWrite(7, LOW);   // turn the LED on (HIGH is the voltage level)
  delay(vel);              // wait for a second
  digitalWrite(5, HIGH);    // turn the LED off by making the voltage LOW
  delay(vel);
      digitalWrite(6, LOW);   // turn the LED on (HIGH is the voltage level)
  delay(vel);              // wait for a second
  digitalWrite(4, HIGH);    // turn the LED off by making the voltage LOW
  delay(vel);
      digitalWrite(5, LOW);   // turn the LED on (HIGH is the voltage level)
  delay(vel);              // wait for a second
  digitalWrite(3, HIGH);    // turn the LED off by making the voltage LOW
  delay(vel);
      digitalWrite(4, LOW);   // turn the LED on (HIGH is the voltage level)
  delay(vel);              // wait for a second
  digitalWrite(2, HIGH);    // turn the LED off by making the voltage LOW
  delay(vel);
    digitalWrite(3, LOW);   // turn the LED on (HIGH is the voltage level)
  delay(vel);              // wait for a second
  digitalWrite(2, LOW);
  cuenta = cuenta + 1;
  Serial.print(1);
Serial.print("      -     ");
  Serial.println(vel);
  }
else{
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
delay(vel);
digitalWrite(4, HIGH);
digitalWrite(7, HIGH);
delay(vel);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
delay(vel);
digitalWrite(3, HIGH);
digitalWrite(8, HIGH);
delay(vel);
digitalWrite(4, LOW);
digitalWrite(7, LOW);
delay(vel);
digitalWrite(2, HIGH);
digitalWrite(9, HIGH);
delay(vel);
digitalWrite(3, LOW);
digitalWrite(8, LOW);
delay(vel);
digitalWrite(2, LOW);
digitalWrite(9, LOW);
delay(vel);
digitalWrite(3, HIGH);
digitalWrite(8, HIGH);
delay(vel);
digitalWrite(4, HIGH);
digitalWrite(7, HIGH);
delay(vel);
digitalWrite(3, LOW);
digitalWrite(8, LOW);
delay(vel);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
delay(vel);
digitalWrite(4, LOW);
digitalWrite(7, LOW);
delay(vel);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
cuenta = cuenta + 1;
Serial.print(0);
Serial.print("      -     ");
Serial.println(vel);
}
if(cuenta == 15){
    Serial.print("Estado");
  Serial.print(" - ");
  Serial.println("Velocidad");
  cuenta = 0;
}
}




Circuito Potenciometro
El trabajo fue dificultoso ya que, el portoboard se cayo y algunos clabes se danaron, nos toco reconstruir todo y al hacerlo se nos quemaron dos LED's; pero al final logramos entender nuestros errores con ayuda de nuestros companeros.

PSDT: no hubiesemos hecho nada sin la ayuda de ERICK PULLA! Mil gracias, de Karla y Patty.


BOTONERA Y POTENCIOMETRO!!!

REALIZADO: 14-JUN-2016

Debido a que ya hemos trabajado con el juego de LEDS basico, y su programacion sencilla. Hoy usariamos la botonera y el potenciometro. En esta practica nos guiaremos esencialmente del circuito usado en el pasado.


Trabajo con la botonera!


Para comenzar realizamos, el trabajo con la botonera. Aun asi hay que tener claro que es una botonera o llamado tambien boton pulsador. Se lo define como un dispositivo digital empleado por lo general para negar(sin pulsar) o permitir(al ser pulsado) el paso de corriente en un circuito. Es decir poder abrir y cerrar un circuito.
pulsador esuema
"dos cables paralelos y el botón que conecta uno con otro según se apriete o no"
Botones pulsador 4 pin para Arduino





BIBLIOGRAFIA:
https://felixmaocho.wordpress.com/2013/01/19/arduino-como-funciona-u-se-utiliza-un-pulsador/
http://www.areatecnologia.com/electronica/potenciometro.html


EL POTENCIOMETRO
Los potenciometros limitan el paso de la corriente electrica (intensidad), su trabajo es similar al de una resistencia, peor a diferencia que se muestran variado,

    "El valor de un potenciómetro viene expresado en ohmios (símbolo Ω) como las resistencias, y el valor del potenciómetro siempre es la resistencia máxima que puede llegar a tener. La mínimo lógicamente es cero. Por ejemplo un  potenciómetro de 10KΩ puede tener una resistencia variable con valores entre 0Ω y 10.000Ω."

Potenciometro de 3 pin y su esquema de circuito

MATERIALES USADOS:
  • 8 LEDS
  • Protoboard
  • Arduino Uno
  • Potenciometro 1k Ω
  • Botonera de 4 pin
  • Resistencia de 220 Ω
  • Jumpers MACHO-MACHO

PROGRAMCION ARDUINO PARA BOTONERA

const int buttonPin = 2;                              // número del pin para el botón
const int ledPin =  13;                                 // número del pin del LED
int buttonState = 0;                                   // estado del botón (0 ó LOW es apagado y 1 ó HIGH es encendido)
void setup() {
pinMode(ledPin, OUTPUT);                    // Se identifica el pin 13 como salida
pinMode(buttonPin, INPUT);                 // Se identifica el pin 2 como entrada
}
void loop(){
buttonState = digitalRead(buttonPin);   // Leemos si el botón en pin2 está abierto o cerrado
if (buttonState == HIGH) {                          // Si está siendo pulsado es HIGH
digitalWrite(ledPin, HIGH);                    // Y el LED se enciende
}
else {
digitalWrite(ledPin, LOW);                      // Si no es asi, se apaga
}
}
Fuente: https://mega.nz/#!xIIUBKjD!PTcLIFKrGFc5RKTfOzLVWC1slixR2aqgNA-W86eXbis
PROGRAMACION POTENCIOMETRO:
int potPin = 0;                  // Pin de entrada para el potenciómetro
int ledPin = 13;                // Pin de salida para el LED
void setup() {
pinMode(ledPin, OUTPUT);     // Declara el pin del LED como de salida
}
void loop() {
digitalWrite(ledPin, HIGH);       // Enciende el LED
delay(analogRead(potPin));                     // Lee el valor del potenciómetro
digitalWrite(ledPin, LOW);                      // Apaga el LED
delay(analogRead(potPin));
}

MODELO CIRCUITO FINAL REALIZADO EN FRITZING: POTENCIOMETRO + BOTONERA