Matthias Praja
/
RGB-15
RGB
Fork of RGB-15 by
main.cpp@1:28cfac75543f, 2015-07-07 (annotated)
- 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?
User | Revision | Line number | New 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 | } |