RGB

Dependencies:   mbed

Fork of RGB-15 by Ladner-Praja

Committer:
ladner
Date:
Tue Jul 07 20:36:32 2015 +0000
Revision:
1:28cfac75543f
Parent:
0:cce97dfa8e6b
Child:
2:1317061163f8
Folge der Linie(2015);

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ladner 0:cce97dfa8e6b 1 #include "mbed.h"
ladner 0:cce97dfa8e6b 2
ladner 0:cce97dfa8e6b 3 I2C i2c(p28, p27);
ladner 0:cce97dfa8e6b 4 BusOut myled(LED1,LED2,LED3,LED4);
ladner 0:cce97dfa8e6b 5 BusOut myrgb(P1_23,P1_25,P1_24);
ladner 0:cce97dfa8e6b 6 DigitalOut LedBlue(P1_28);
ladner 0:cce97dfa8e6b 7 BusIn myline(p18,p16,p19,p17);
ladner 0:cce97dfa8e6b 8 DigitalIn linecenter(p20);
ladner 0:cce97dfa8e6b 9 DigitalOut online(P1_6);
ladner 0:cce97dfa8e6b 10 DigitalOut MotorL_EN(P1_15);
ladner 0:cce97dfa8e6b 11 DigitalOut MotorL_FORWARD(P1_1);
ladner 0:cce97dfa8e6b 12 DigitalOut MotorL_REVERSE(P1_0);
ladner 0:cce97dfa8e6b 13 DigitalOut MotorR_EN(P0_21);
ladner 0:cce97dfa8e6b 14 DigitalOut MotorR_FORWARD(P1_3);
ladner 0:cce97dfa8e6b 15 DigitalOut MotorR_REVERSE(P1_4);
ladner 0:cce97dfa8e6b 16 DigitalOut Motor_SENSOR(P1_7);
ladner 0:cce97dfa8e6b 17 DigitalOut enable(P1_2);
ladner 0:cce97dfa8e6b 18 PwmOut mg1(P1_15);
ladner 0:cce97dfa8e6b 19 PwmOut mg2(P0_21);
ladner 0:cce97dfa8e6b 20 DigitalIn SensorL(P1_12);
ladner 0:cce97dfa8e6b 21 DigitalIn SensorR(P1_13);
ladner 0:cce97dfa8e6b 22 int data;
ladner 0:cce97dfa8e6b 23 int main()
ladner 0:cce97dfa8e6b 24 {
ladner 0:cce97dfa8e6b 25 enable = 0;
ladner 0:cce97dfa8e6b 26 online = 0;
ladner 0:cce97dfa8e6b 27 Motor_SENSOR=0;
ladner 0:cce97dfa8e6b 28
ladner 0:cce97dfa8e6b 29 myrgb = 0x07;//7->aus
ladner 0:cce97dfa8e6b 30 LedBlue=1;
ladner 0:cce97dfa8e6b 31 myled = 0x00;
ladner 0:cce97dfa8e6b 32
ladner 0:cce97dfa8e6b 33 MotorL_EN = 0;
ladner 0:cce97dfa8e6b 34 MotorL_FORWARD = 0;
ladner 0:cce97dfa8e6b 35 MotorL_REVERSE = 0;
ladner 0:cce97dfa8e6b 36 MotorR_EN = 0;
ladner 0:cce97dfa8e6b 37 MotorR_FORWARD = 0;
ladner 0:cce97dfa8e6b 38 MotorR_REVERSE = 0;
ladner 0:cce97dfa8e6b 39 mg1=0.5;
ladner 0:cce97dfa8e6b 40 mg2=0.5;
ladner 0:cce97dfa8e6b 41
ladner 0:cce97dfa8e6b 42 i2c.start();
ladner 0:cce97dfa8e6b 43 i2c.write(0x40);
ladner 0:cce97dfa8e6b 44 i2c.write(0x06);
ladner 0:cce97dfa8e6b 45 i2c.write(0x00);
ladner 0:cce97dfa8e6b 46 i2c.stop();
ladner 0:cce97dfa8e6b 47
ladner 0:cce97dfa8e6b 48 i2c.start();
ladner 0:cce97dfa8e6b 49 i2c.write(0x40);
ladner 0:cce97dfa8e6b 50 i2c.write(0x02);
ladner 0:cce97dfa8e6b 51 i2c.write(~0x00);
ladner 0:cce97dfa8e6b 52 i2c.stop();
ladner 0:cce97dfa8e6b 53
ladner 1:28cfac75543f 54 int waiting = 0;
ladner 1:28cfac75543f 55 bool active = false;
ladner 1:28cfac75543f 56
ladner 1:28cfac75543f 57 enable = 1;
ladner 1:28cfac75543f 58 online = 1;
ladner 1:28cfac75543f 59 while(1){
ladner 1:28cfac75543f 60 myled=myline;
ladner 1:28cfac75543f 61 }
ladner 0:cce97dfa8e6b 62 while(1){
ladner 0:cce97dfa8e6b 63 // Einlesen der Taster und speichern unter data
ladner 0:cce97dfa8e6b 64 i2c.start();
ladner 0:cce97dfa8e6b 65 i2c.write(0x40);
ladner 0:cce97dfa8e6b 66 i2c.write(0x01);
ladner 0:cce97dfa8e6b 67 i2c.start();
ladner 0:cce97dfa8e6b 68 i2c.write(0x41);
ladner 0:cce97dfa8e6b 69 data = i2c.read(0);
ladner 0:cce97dfa8e6b 70 i2c.stop();
ladner 1:28cfac75543f 71
ladner 1:28cfac75543f 72 if(active)
ladner 1:28cfac75543f 73 {
ladner 1:28cfac75543f 74 enable = 1;
ladner 1:28cfac75543f 75 online = 1;
ladner 1:28cfac75543f 76 }
ladner 1:28cfac75543f 77 else
ladner 1:28cfac75543f 78 {
ladner 1:28cfac75543f 79 if(waiting<8)
ladner 1:28cfac75543f 80 waiting++;
ladner 1:28cfac75543f 81 else
ladner 1:28cfac75543f 82 {
ladner 1:28cfac75543f 83 enable = 1;
ladner 1:28cfac75543f 84 online = 1;
ladner 1:28cfac75543f 85
ladner 1:28cfac75543f 86 enable = 0;
ladner 1:28cfac75543f 87 online = 0;
ladner 1:28cfac75543f 88 }
ladner 1:28cfac75543f 89 }
ladner 0:cce97dfa8e6b 90
ladner 0:cce97dfa8e6b 91 //01->forneMitte
ladner 0:cce97dfa8e6b 92 //02->hintenMitte
ladner 0:cce97dfa8e6b 93 //04->forneLinks
ladner 0:cce97dfa8e6b 94 //08->forneRects
ladner 0:cce97dfa8e6b 95 //10->hintenLinks
ladner 0:cce97dfa8e6b 96 //20->hintenRechts
ladner 0:cce97dfa8e6b 97 //40->Rechts
ladner 0:cce97dfa8e6b 98 //80->Links
ladner 0:cce97dfa8e6b 99
ladner 0:cce97dfa8e6b 100 }
ladner 0:cce97dfa8e6b 101 }