Conteo en una banda transportadora
Dependencies: mbed TCS3200 Pulse SeeedShieldBot BluetoothSerial
PROYECTO.cpp
- Committer:
- diego_27
- Date:
- 2021-11-11
- Revision:
- 0:af774eabe2b7
File content as of revision 0:af774eabe2b7:
#include "mbed.h" #include "Pulse.h" //Libreria PulseIn Serial bt(PA_9,PA_10); //Comunicacion con el modulo HC-06 DigitalIn signal(PC_7); //Señal del sensor de obstaculo DigitalOut lamp(PB_3); //Lampara DigitalOut s0(PB_6); DigitalOut s1(PA_7); //Pines para el Sensor de color TCS230 DigitalOut s2(PA_6); DigitalOut s3(PA_5); DigitalOut pinMotorA(PC_10); //Declaracion de pins del motor reductor DigitalOut pinMotorB(PC_12); PulseInOut sensorSalida(PB_9); //Salida del Sensor de color int main(){ bt.baud(9600); int conteo=0; int Rojo = 0; int Verde = 0; int Azul = 0; pinMotorA=0; //motor prendido al inicio pinMotorB=1; lamp=0; s0=1; //20% Freq del sensor s1=0; for(;;){ //Sensor de Color s2=0; //ROJO s3=0; wait(.1); Rojo = sensorSalida.read_low_us(); wait(.1); s2=1; //Verde s3=1; wait(.1); Verde = sensorSalida.read_low_us(); wait(.1); s2=0; //Azul s3=1; wait(.1); Azul = sensorSalida.read_low_us(); wait(.1); if (Rojo < 35 && Verde > 100 && Azul < 82) bt.printf(" . *** ROJO ***"); if (Rojo > 105 && Verde > 110 && Azul >83 ) bt.printf(" . *** NEGRO ***"); if (Rojo > 20 && Verde < 28 && Azul < 27) bt.printf(" . *** VERDE ***"); //Sensor de Objetos float valor = signal.read(); valor = signal.read(); if(valor==0){ conteo++; while(signal.read()==0){ // while Para evitar que siga tomando valores (antirebote de señal) wait(.1); } bt.printf("%d",conteo); } if(conteo>=10){ bt.printf("*El proceso de conteo ha terminado*"); lamp=1; wait(4.5); pinMotorA=0; //motor apagado y el rele se activa la lampara prendida al terminar el proceso pinMotorB=0; conteo=0; }else if(conteo==0){ lamp=0; pinMotorA=0; //motor prendido pinMotorB=1; } } }