Está en la página 1de 5

Robot encendido y apagado con un haz de luz

conectado a LDR
En primera instancia tenemos que definir el proyecto, ver si el
cdigo que vamos a crear se ha adecuado para el proyecto, en caso
que no salga se puede buscar otro en remplazo ,lo ideal es que
salga el proyecto ,en mi caso es un carrito que se enciende los
motores cuando es alumbrado con un de luz y se enciende el motor
de atrs haciendo que este se mueva hacia delante ,en el camino se
es alumbrado para el apagado se alumbra otra vez con un haz de
luz y este se apaga . Tambin quiere utilizar un sensor detector de
distancia pero este se malogro.
Lista de materiales:
-potencimetro de 5k.
-01 LDR.
-c.i.lm324.
-dos borneras.
-09 resistencias de 330.
02resistencias de

10K.

-01 resistencia de un 1K.


-04 tip 41.NPN
-04 tip 122 NPN.
-Un PIC 16F88.
-04diodos de 4007.
-04 diodos de 4004.
-01 led.
-una fuente de alimentacin de 5v.
-una fuente de alimentacin de 6v.
-Una placa de 15.5 cm por largo ,9cm por ancho.
-un pulsador o shiwh
-acido.
-Cuatro llantas.
-Dos motores.
- scalos de 9de lado para 18 pines.
-scalo de 7 de lado para 14 pines .

A continuacin tenemos
MIKROC.
int estado

= 0;

el programa que este se realiz en


// variables a utilizar

int estadoAnt = 0;
int salida

= 0;

void main() {
// ANSEL = 0x00;

// puertos E/S digital

//ANSELH = 0x00;
// C1ON_bit = 0x00;

// se apagan los comparadores

//C2ON_bit = 0x00;
TRISB = 0x00;
TRISa = 1;

// puerto B como salida


// puerto D1 como entrada

// PORTB = 0x00;
// inicializacin del puerto.

while(1){
estado = Button(&PORTa,0,5,1); // regresa 0 255 la libreria de boton
// para antirrebotes de microC
// parametro1: pide el puerto
// parametro2: numero del puerto RD1
// parametro3: tiempo en ms: 1ms
// parametro4: pregunta por el estado
//pregunta por un alto :1

/* para un mejor entendimiento del cdigo se sugiere


ver el diagrama de flujo adjunto */

if((estado == 255) && (estadoAnt == 0)){

salida = 1 - salida;
}

estadoAnt = estado;

if(salida == 1){
PORTB = 0b00001001;
}
//if((estado == 255) && (estado == 0)){
// PORTB = 0b00000000;

else{
PORTB = 0b00000000;
}
}
}
Ah acaba el programa en todas las sentencias indicamos que cuando se ha
alumbrado el LDR se se ponga en funcionamiento el motor de atrs

-el programa incluye un bucle en el cual puede volver hacer el mismo


procedimiento en otras palabras recuerda el estado anterior del pulsador.

Se puede observar que el siguiente diagrama se hizo como prueba


en el proteus como bien sabemos que el proteus se usa para hacer
pruebas y este nos entrega casi real, luego se plasma en el
protoboard y si nos funciona esto ya se puede plasmar en la placa.

Q3
Q1

R1

R3

TIP41

1k

D1

D2

1N4007

1N4007

U1
16
15

R5

1k
TIP41

OSC1/CLKIN
OSC2/CLKOUT

RA0
RA1
RA2
RA3
RA4/T0CKI

MCLR

10k

RB0/INT
RB1
RB2
RB3
RB4
RB5
RB6
RB7

17
18
1
2
3
6
7
8
9
10
11
12
13

+88.8

Q4
Q2

R2

D3

D4

1N4007

1N4007

R4

TIP41

1k

1k

PIC16F84A
TIP41

Q7
LDR1

R7

TORCH_LDR

Q5
TIP41

1k

1N4007
TIP41

220

R6

1
2

11

90%

10k

D7

1N4007

R10
U2:A

RV3

D6

1k

R8
LM324

+88.8

D5
LED-RED

Q8

10k

R9

Q6

D8

D9

1N4007

1N4007

R11

TIP41

1k

1k
TIP41

Tambin se puede apreciar el acabado a continuacin.

También podría gustarte