Nicolae Marton / Mbed 2 deprecated TDP3_Final

Dependencies:   mbed

Committer:
Nicolaemf
Date:
Thu Mar 21 23:47:39 2019 +0000
Revision:
1:ef045321c068
Parent:
0:270ea1abdd2d
correct the bluetooth module and add comments;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Nicolaemf 0:270ea1abdd2d 1 // ColourSensor_H.h
Nicolaemf 0:270ea1abdd2d 2
Nicolaemf 0:270ea1abdd2d 3 #ifndef ColourSensor_H
Nicolaemf 0:270ea1abdd2d 4 #define ColourSensor_H
Nicolaemf 0:270ea1abdd2d 5
Nicolaemf 0:270ea1abdd2d 6 #include "mbed.h"
Nicolaemf 0:270ea1abdd2d 7
Nicolaemf 0:270ea1abdd2d 8 // ColourSensor is used to detect the coloured disks and control the Solenoid
Nicolaemf 0:270ea1abdd2d 9 /* Attributes:
Nicolaemf 0:270ea1abdd2d 10 - Pinouts of sensor inputs and solenoid output
Nicolaemf 0:270ea1abdd2d 11
Nicolaemf 0:270ea1abdd2d 12 Methods:
Nicolaemf 0:270ea1abdd2d 13 - solenoidSet
Nicolaemf 0:270ea1abdd2d 14 - readColSenIf
Nicolaemf 0:270ea1abdd2d 15 - readColSenWhich
Nicolaemf 0:270ea1abdd2d 16 - colourCheck
Nicolaemf 0:270ea1abdd2d 17 - makeColourActive
Nicolaemf 0:270ea1abdd2d 18 */
Nicolaemf 0:270ea1abdd2d 19
Nicolaemf 0:270ea1abdd2d 20 class ColourSensor {
Nicolaemf 0:270ea1abdd2d 21 public:
Nicolaemf 0:270ea1abdd2d 22 void solenoidSet(bool state); // Setting solenoid state
Nicolaemf 0:270ea1abdd2d 23 void solenoidOn(); // Interrupt to turn ON solenoid
Nicolaemf 0:270ea1abdd2d 24 void readSensor(); // Read sensors
Nicolaemf 0:270ea1abdd2d 25 void convert(); // converts sensor readings to sensible logic
Nicolaemf 0:270ea1abdd2d 26 void process(); // Colour processing
Nicolaemf 0:270ea1abdd2d 27 void initialConditions(); // Sets initial conditions
Nicolaemf 0:270ea1abdd2d 28
Nicolaemf 0:270ea1abdd2d 29 DigitalIn inOne;
Nicolaemf 0:270ea1abdd2d 30 DigitalIn inTwo;
Nicolaemf 0:270ea1abdd2d 31 DigitalOut solenoid;
Nicolaemf 0:270ea1abdd2d 32
Nicolaemf 0:270ea1abdd2d 33 int firstLoop;
Nicolaemf 0:270ea1abdd2d 34 bool toggleA;
Nicolaemf 0:270ea1abdd2d 35 bool toggleB;
Nicolaemf 0:270ea1abdd2d 36 bool toggleC;
Nicolaemf 0:270ea1abdd2d 37 bool toggleConst; // Can be used to toggle colour processing
Nicolaemf 0:270ea1abdd2d 38
Nicolaemf 0:270ea1abdd2d 39 bool newDetection; // Colour newly detected? (i.e. is now but wasn't before?) Yes/No -> 1/0
Nicolaemf 0:270ea1abdd2d 40 bool flagColour;
Nicolaemf 0:270ea1abdd2d 41 bool sensorOneCheck, sensorTwoCheck;
Nicolaemf 0:270ea1abdd2d 42 ColourSensor(PinName pin1, PinName pin2, PinName pin3);
Nicolaemf 0:270ea1abdd2d 43
Nicolaemf 0:270ea1abdd2d 44 void makeColourActive();
Nicolaemf 0:270ea1abdd2d 45 void ColourCheck();
Nicolaemf 0:270ea1abdd2d 46 bool diskColour; // Colour of disk: Red/Blue -> 1/0
Nicolaemf 0:270ea1abdd2d 47 bool diskHave;
Nicolaemf 0:270ea1abdd2d 48 bool sensorColour;
Nicolaemf 0:270ea1abdd2d 49 private:
Nicolaemf 0:270ea1abdd2d 50 bool sensorOne;
Nicolaemf 0:270ea1abdd2d 51 bool sensorOneOld; // Comparison bool
Nicolaemf 0:270ea1abdd2d 52
Nicolaemf 0:270ea1abdd2d 53 bool sensorTwo;
Nicolaemf 0:270ea1abdd2d 54 // Have disk? Yes/No -> 1/0
Nicolaemf 0:270ea1abdd2d 55 bool sensorTwoOld;
Nicolaemf 0:270ea1abdd2d 56
Nicolaemf 0:270ea1abdd2d 57 bool sensorIf; // Yes/No -> 1/0
Nicolaemf 0:270ea1abdd2d 58 bool sensorIfOld;
Nicolaemf 0:270ea1abdd2d 59 // Red/Blue -> 0/1
Nicolaemf 0:270ea1abdd2d 60
Nicolaemf 0:270ea1abdd2d 61
Nicolaemf 0:270ea1abdd2d 62 bool solenoidState; // State of solenoid: On/Off -> 1/0
Nicolaemf 0:270ea1abdd2d 63
Nicolaemf 0:270ea1abdd2d 64 };
Nicolaemf 0:270ea1abdd2d 65
Nicolaemf 0:270ea1abdd2d 66 #endif