BertlTemplate_SensBlinkMotor

Dependencies:   BertlLib mbed

Committer:
Wizo
Date:
Thu Nov 15 17:51:37 2018 +0000
Revision:
0:32cdefc83a9e
BertlTemplate_SensBlinkMotor

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Wizo 0:32cdefc83a9e 1 #include "mbed.h"
Wizo 0:32cdefc83a9e 2 #include "Serial_HL.h"
Wizo 0:32cdefc83a9e 3 #include "Bertl14.h"
Wizo 0:32cdefc83a9e 4 #include "BertlObjects.h"
Wizo 0:32cdefc83a9e 5
Wizo 0:32cdefc83a9e 6 // main=2^0 LS ENC 2^2
Wizo 0:32cdefc83a9e 7 BusOut boardPow(p30, P1_6, P1_7);
Wizo 0:32cdefc83a9e 8
Wizo 0:32cdefc83a9e 9 // ls5 nur beim Betrl15
Wizo 0:32cdefc83a9e 10 // AnalogInHL ls1(p18), ls2(p16), ls3(p19), ls4(p17); // B14
Wizo 0:32cdefc83a9e 11
Wizo 0:32cdefc83a9e 12 AnalogInHL ls1(p18), ls2(p16), ls3(p20), ls4(p19), ls5(p17); // B15
Wizo 0:32cdefc83a9e 13
Wizo 0:32cdefc83a9e 14 void ButonBlinker();
Wizo 0:32cdefc83a9e 15 void LineSensor();
Wizo 0:32cdefc83a9e 16 void ButonMotor();
Wizo 0:32cdefc83a9e 17
Wizo 0:32cdefc83a9e 18
Wizo 0:32cdefc83a9e 19 int main(void)
Wizo 0:32cdefc83a9e 20 {
Wizo 0:32cdefc83a9e 21 boardPow=1; wait_ms(10);
Wizo 0:32cdefc83a9e 22 InitBertl();
Wizo 0:32cdefc83a9e 23 pex.useISR=0;
Wizo 0:32cdefc83a9e 24 pex.ClearLeds();
Wizo 0:32cdefc83a9e 25
Wizo 0:32cdefc83a9e 26 while(1)
Wizo 0:32cdefc83a9e 27 {
Wizo 0:32cdefc83a9e 28 ButonBlinker();
Wizo 0:32cdefc83a9e 29 LineSensor();
Wizo 0:32cdefc83a9e 30 ButonMotor();
Wizo 0:32cdefc83a9e 31
Wizo 0:32cdefc83a9e 32 }
Wizo 0:32cdefc83a9e 33
Wizo 0:32cdefc83a9e 34 return 1;
Wizo 0:32cdefc83a9e 35 }
Wizo 0:32cdefc83a9e 36
Wizo 0:32cdefc83a9e 37 // Linensensor ansteuern mit If abfrage
Wizo 0:32cdefc83a9e 38 void LineSensor()
Wizo 0:32cdefc83a9e 39 {
Wizo 0:32cdefc83a9e 40 if (ls1.Read()<600) // wenn Sensor 1 dunkel ist dann leuchtet die LED BL1
Wizo 0:32cdefc83a9e 41 {
Wizo 0:32cdefc83a9e 42 pex.SetLeds(LED_BL1);
Wizo 0:32cdefc83a9e 43 }
Wizo 0:32cdefc83a9e 44 if (ls2.Read()<600)
Wizo 0:32cdefc83a9e 45 {
Wizo 0:32cdefc83a9e 46 pex.SetLeds(LED_BL2);
Wizo 0:32cdefc83a9e 47 }
Wizo 0:32cdefc83a9e 48 if (ls4.Read()<600)
Wizo 0:32cdefc83a9e 49 {
Wizo 0:32cdefc83a9e 50 pex.SetLeds(LED_BR1);
Wizo 0:32cdefc83a9e 51 }
Wizo 0:32cdefc83a9e 52 if (ls5.Read()<600)
Wizo 0:32cdefc83a9e 53 {
Wizo 0:32cdefc83a9e 54 pex.SetLeds(LED_BR2);
Wizo 0:32cdefc83a9e 55 }
Wizo 0:32cdefc83a9e 56
Wizo 0:32cdefc83a9e 57 }
Wizo 0:32cdefc83a9e 58
Wizo 0:32cdefc83a9e 59 // Tastenabfrage mit LEDs anzeige
Wizo 0:32cdefc83a9e 60 void ButonBlinker()
Wizo 0:32cdefc83a9e 61 {
Wizo 0:32cdefc83a9e 62 pex.ReadButtons();
Wizo 0:32cdefc83a9e 63
Wizo 0:32cdefc83a9e 64 if (pex.IsButton(BTN_FLL)) // wenn Taste vorne links gedrückt wird leuchtet die LED FL1
Wizo 0:32cdefc83a9e 65 {
Wizo 0:32cdefc83a9e 66 pex.SetLeds(LED_FL1);
Wizo 0:32cdefc83a9e 67 }
Wizo 0:32cdefc83a9e 68 if (pex.IsButton(BTN_FL))
Wizo 0:32cdefc83a9e 69 {
Wizo 0:32cdefc83a9e 70 pex.SetLeds(LED_FL2);
Wizo 0:32cdefc83a9e 71 }
Wizo 0:32cdefc83a9e 72 if (pex.IsButton(BTN_FRR))
Wizo 0:32cdefc83a9e 73 {
Wizo 0:32cdefc83a9e 74 pex.SetLeds(LED_FR1);
Wizo 0:32cdefc83a9e 75 }
Wizo 0:32cdefc83a9e 76 if (pex.IsButton(BTN_FR))
Wizo 0:32cdefc83a9e 77 {
Wizo 0:32cdefc83a9e 78 pex.SetLeds(LED_FR2);
Wizo 0:32cdefc83a9e 79 }
Wizo 0:32cdefc83a9e 80
Wizo 0:32cdefc83a9e 81 wait_ms(500);
Wizo 0:32cdefc83a9e 82 pex.ClearLeds();
Wizo 0:32cdefc83a9e 83 wait_ms(50);
Wizo 0:32cdefc83a9e 84 }
Wizo 0:32cdefc83a9e 85
Wizo 0:32cdefc83a9e 86 // Motor ansteuern mit taster
Wizo 0:32cdefc83a9e 87 void ButonMotor()
Wizo 0:32cdefc83a9e 88 {
Wizo 0:32cdefc83a9e 89 if(pex.IsButton(BTN_FM)) // wenn Taster gedrückt wird Motor start
Wizo 0:32cdefc83a9e 90 {
Wizo 0:32cdefc83a9e 91 mL.SetPow(0.2);
Wizo 0:32cdefc83a9e 92 mR.SetPow(0.2);
Wizo 0:32cdefc83a9e 93 wait_ms(1000);
Wizo 0:32cdefc83a9e 94 mL.SetPow(0.0);
Wizo 0:32cdefc83a9e 95 mR.SetPow(0.0);
Wizo 0:32cdefc83a9e 96 }
Wizo 0:32cdefc83a9e 97
Wizo 0:32cdefc83a9e 98 }