PMK_industrija_mikro4

Dependencies:   rohm-rpr0521 rohm-sensor-hal Servo TextLCD

Committer:
emilija
Date:
Mon Jul 05 12:57:49 2021 +0000
Revision:
1:c49ad58c141d
Parent:
0:c4a5143aeebc
PMK_INDUSTRIJA_MICRO4 VERZIJA2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
emilija 0:c4a5143aeebc 1 #include "mbed.h"
emilija 0:c4a5143aeebc 2 #include "color.h"
emilija 0:c4a5143aeebc 3 ColorSensor::ColorSensor(PinName ss0, PinName ss1, PinName ss2, PinName ss3, PinName sout):
emilija 0:c4a5143aeebc 4 s0(ss0), s1(ss1), s2(ss2), s3(ss3), _out(sout)
emilija 0:c4a5143aeebc 5 {
emilija 0:c4a5143aeebc 6 s0.write(1);
emilija 0:c4a5143aeebc 7 s1.write(1);
emilija 0:c4a5143aeebc 8 s2.write(0);
emilija 0:c4a5143aeebc 9 s3.write(0);
emilija 0:c4a5143aeebc 10 interrupted = 12345;
emilija 0:c4a5143aeebc 11 countR = counter;
emilija 0:c4a5143aeebc 12 countG = counter;
emilija 0:c4a5143aeebc 13 countB = counter;
emilija 0:c4a5143aeebc 14 counter = 0;
emilija 0:c4a5143aeebc 15 flag = 0;
emilija 0:c4a5143aeebc 16 _out.mode(PullUp);
emilija 0:c4a5143aeebc 17 _out.rise(this, &ColorSensor::incCount);
emilija 0:c4a5143aeebc 18 ts.attach(this, &ColorSensor::getReading, .01);
emilija 0:c4a5143aeebc 19
emilija 0:c4a5143aeebc 20 }
emilija 0:c4a5143aeebc 21
emilija 0:c4a5143aeebc 22 int ColorSensor::getRed()
emilija 0:c4a5143aeebc 23 {
emilija 0:c4a5143aeebc 24 return countR;
emilija 0:c4a5143aeebc 25 }
emilija 0:c4a5143aeebc 26 int ColorSensor::getBlue()
emilija 0:c4a5143aeebc 27 {
emilija 0:c4a5143aeebc 28 return countB;
emilija 0:c4a5143aeebc 29 }
emilija 0:c4a5143aeebc 30 int ColorSensor::getGreen()
emilija 0:c4a5143aeebc 31 {
emilija 0:c4a5143aeebc 32 return countG;
emilija 0:c4a5143aeebc 33 }
emilija 0:c4a5143aeebc 34 void ColorSensor::incCount()
emilija 0:c4a5143aeebc 35 {
emilija 0:c4a5143aeebc 36 counter++;
emilija 0:c4a5143aeebc 37 }
emilija 0:c4a5143aeebc 38 void ColorSensor::getReading()
emilija 0:c4a5143aeebc 39 {
emilija 0:c4a5143aeebc 40
emilija 0:c4a5143aeebc 41 flag++;
emilija 0:c4a5143aeebc 42 if(flag == 1)
emilija 0:c4a5143aeebc 43 {
emilija 0:c4a5143aeebc 44 countR = counter;
emilija 0:c4a5143aeebc 45 s2.write(1);
emilija 0:c4a5143aeebc 46 s3.write(1);
emilija 0:c4a5143aeebc 47 }
emilija 0:c4a5143aeebc 48 else if(flag == 2)
emilija 0:c4a5143aeebc 49 {
emilija 0:c4a5143aeebc 50 countG = counter;
emilija 0:c4a5143aeebc 51 s2.write(0);
emilija 0:c4a5143aeebc 52 s3.write(1);
emilija 0:c4a5143aeebc 53 }
emilija 0:c4a5143aeebc 54 else if(flag ==3)
emilija 0:c4a5143aeebc 55 {
emilija 0:c4a5143aeebc 56 countB = counter;
emilija 0:c4a5143aeebc 57 s2.write(0);
emilija 0:c4a5143aeebc 58 s3.write(0);
emilija 0:c4a5143aeebc 59 }
emilija 0:c4a5143aeebc 60 else if(flag == 4)
emilija 0:c4a5143aeebc 61 {
emilija 0:c4a5143aeebc 62 flag = 0;
emilija 0:c4a5143aeebc 63 }
emilija 0:c4a5143aeebc 64 counter = 0;
emilija 0:c4a5143aeebc 65
emilija 0:c4a5143aeebc 66 }
emilija 0:c4a5143aeebc 67
emilija 0:c4a5143aeebc 68
emilija 0:c4a5143aeebc 69 void ColorSensor::poll()
emilija 0:c4a5143aeebc 70 {
emilija 0:c4a5143aeebc 71
emilija 0:c4a5143aeebc 72 ColorSensor::getReading();
emilija 0:c4a5143aeebc 73
emilija 0:c4a5143aeebc 74 }
emilija 0:c4a5143aeebc 75
emilija 0:c4a5143aeebc 76