Está en la página 1de 3

Prctica: Control de un motor de CD con foto

resistencia
Introduccin
En esta prctica se explica como hacer funcionar un motor de CD (de corriente directa) con Arduino. Primero
que nada hay que entender que para hacer funcionar dispositivos como motores se va a requerir algo ms que
solo el Arduino. Por qu?. Los microcontroladores con los que comnmente cuentan los Arduinos por ejemplo
el ATmega328 son muy poderosos pero estn limitados en cuanto a la corriente que proporciona en cada uno
de sus pines. En el microcontrolador Atmega328, el cual es utilizado en la mayora de los Arduinos, cada uno de
sus pines es capaz de proporcionar 20ma y todos sus pines combinados 50ma. Por lo que hay que tener esto
presente cuando se desee hacer funcionar algn dispositivo que ocupe ms corriente.
Puente H L293D
La finalidad de un puente en H es controlar grandes cantidades de corriente, como las que necesitan los
motores de un robot.
Con una cantidad mnima de corriente, que es lo que Arduino proporciona, se puede controlar la velocidad y el
sentido de giro de los motores.
La conexin de un puente L293D para controlar motores de CD se detalla a continuacin:
Descripcin del chip:

En el chip L293D:
Pin 1 (Enable 1) y Pin 9 (Enable
2) conectar a +5V, para que
estn permanentemente
habilitados

M1

M2

Pin 8 (Vs) y Pin 16 (Vss) a 5 V

Con esta conexin, el motor M1 se controlar con puertos de Arduino a travs de las entradas del L293D pata 2
(input 1) y pata 7 (input 2), el el motor M2 se controlar con las entradas en la pata 10 (input 3) y pata 15 (input
4), de la siguiente manera:
Valor en Input 1
Valor en Input 2
Efecto
High
High
Motor detenido
Low
Low
Motor detenido
High
Low
Motor gira en una direccin
Low
High
Motor gira en sentido contrario
Conecte la fotoresistencia de la siguiente manera
VDD = 5 Vs
Px = pin 7
R1 entre 55 K y 65 K

M. C. Silvia Gonzlez

M. C. Silvia Gonzlez

Programa de ejemplo: Control de un motor de CD con una foto resistencia


Para este programa ejemplo se controla un solo motor, y ste se conecta a los pines digitales 9 y 10 de
Arduino, la foto resistencia se conecta al pin digital 7.
int linea1Motor = 9; // se usa pin 9 y 10 del Arduino para mandar las seales que
controlan
int linea2Motor = 10; // el motor, con las combinaciones que se muestran en la
anterior tabla
int fotoPin = 7;

// variable para el control por foto resistencia

void setup()
{ pinMode(linea1Motor, OUTPUT); // configurar como salida las lneas de control del
motor
pinMode(linea2Motor, OUTPUT);
pinMode(fotoPin,INPUT); //configurar como entrada el pin de control de la
fotorresistencia
}
void loop()
{
// Motor
digitalWrite(linea1Motor,HIGH);
digitalWrite(linea2Motor,LOW);

foto

// Combinacin para que Motor avance en una direccin

boolean reverse1 = digitalRead(fotoPin); // lee pin de fotoresistencia


if(reverse1==HIGH) //Si reverse1==HIGH es porque encontr obstculo y se ensombreci
{

la

digitalWrite(linea1Motor,LOW); // Motor se apaga 1 seg


digitalWrite(linea2Motor,LOW);
delay(1000);

segundos

digitalWrite(linea1Motor,LOW); // Motor gira en sentido contrario 2


digitalWrite(linea2Motor,HIGH);
delay(2000);
digitalWrite(linea1Motor,LOW);
digitalWrite(linea2Motor,LOW);
delay(500);

// Motor se apaga 1 seg

M. C. Silvia Gonzlez