Conteo en una banda transportadora
Dependencies: mbed TCS3200 Pulse SeeedShieldBot BluetoothSerial
PROYECTO.cpp
00001 #include "mbed.h" 00002 #include "Pulse.h" //Libreria PulseIn 00003 Serial bt(PA_9,PA_10); //Comunicacion con el modulo HC-06 00004 DigitalIn signal(PC_7); //Señal del sensor de obstaculo 00005 DigitalOut lamp(PB_3); //Lampara 00006 DigitalOut s0(PB_6); 00007 DigitalOut s1(PA_7); //Pines para el Sensor de color TCS230 00008 DigitalOut s2(PA_6); 00009 DigitalOut s3(PA_5); 00010 DigitalOut pinMotorA(PC_10); //Declaracion de pins del motor reductor 00011 DigitalOut pinMotorB(PC_12); 00012 PulseInOut sensorSalida(PB_9); //Salida del Sensor de color 00013 00014 int main(){ 00015 bt.baud(9600); 00016 int conteo=0; 00017 int Rojo = 0; 00018 int Verde = 0; 00019 int Azul = 0; 00020 pinMotorA=0; //motor prendido al inicio 00021 pinMotorB=1; 00022 lamp=0; 00023 s0=1; //20% Freq del sensor 00024 s1=0; 00025 00026 for(;;){ 00027 //Sensor de Color 00028 s2=0; //ROJO 00029 s3=0; 00030 wait(.1); 00031 Rojo = sensorSalida.read_low_us(); 00032 wait(.1); 00033 00034 s2=1; //Verde 00035 s3=1; 00036 wait(.1); 00037 Verde = sensorSalida.read_low_us(); 00038 wait(.1); 00039 00040 s2=0; //Azul 00041 s3=1; 00042 wait(.1); 00043 Azul = sensorSalida.read_low_us(); 00044 wait(.1); 00045 00046 if (Rojo < 35 && Verde > 100 && Azul < 82) bt.printf(" . *** ROJO ***"); 00047 if (Rojo > 105 && Verde > 110 && Azul >83 ) bt.printf(" . *** NEGRO ***"); 00048 if (Rojo > 20 && Verde < 28 && Azul < 27) bt.printf(" . *** VERDE ***"); 00049 //Sensor de Objetos 00050 float valor = signal.read(); 00051 valor = signal.read(); 00052 if(valor==0){ 00053 conteo++; 00054 while(signal.read()==0){ // while Para evitar que siga tomando valores (antirebote de señal) 00055 wait(.1); 00056 00057 } 00058 bt.printf("%d",conteo); 00059 } 00060 00061 00062 if(conteo>=10){ 00063 bt.printf("*El proceso de conteo ha terminado*"); 00064 lamp=1; 00065 wait(4.5); 00066 pinMotorA=0; //motor apagado y el rele se activa la lampara prendida al terminar el proceso 00067 pinMotorB=0; 00068 conteo=0; 00069 }else if(conteo==0){ 00070 lamp=0; 00071 pinMotorA=0; //motor prendido 00072 pinMotorB=1; 00073 } 00074 00075 } 00076 00077 }
Generated on Wed Aug 17 2022 11:47:02 by 1.7.2