Matthias Praja
/
RGB-15
RGB
Fork of RGB-15 by
main.cpp
- Committer:
- ladner
- Date:
- 2015-07-07
- Revision:
- 4:0c35562c35a4
- Parent:
- 3:2cd73b6f5b50
- Child:
- 5:e968c184ad9f
File content as of revision 4:0c35562c35a4:
#include "mbed.h" I2C i2c(p28, p27); BusOut myled(LED1,LED2,LED3,LED4); BusOut myrgb(P1_23,P1_25,P1_24); DigitalOut LedBlue(P1_28); BusIn myline(p18,p16,p19,p17); DigitalIn linecenter(p20); DigitalOut online(P1_6); DigitalOut MotorL_EN(P1_15); DigitalOut MotorL_FORWARD(P1_1); DigitalOut MotorL_REVERSE(P1_0); DigitalOut MotorR_EN(P0_21); DigitalOut MotorR_FORWARD(P1_3); DigitalOut MotorR_REVERSE(P1_4); DigitalOut Motor_SENSOR(P1_7); DigitalOut enable(P1_2); PwmOut mg1(P1_15); PwmOut mg2(P0_21); DigitalIn SensorL(P1_12); DigitalIn SensorR(P1_13); int data; int out_helper[8]; int main() { out_helper[0]=0; out_helper[1]=1; out_helper[2]=3; out_helper[3]=7; out_helper[4]=15; out_helper[5]=14; out_helper[6]=12; out_helper[7]=8; enable = 0; online = 0; Motor_SENSOR=0; myrgb = 0x07;//7->aus LedBlue=1; myled = 0x00; MotorL_EN = 0; MotorL_FORWARD = 0; MotorL_REVERSE = 0; MotorR_EN = 0; MotorR_FORWARD = 0; MotorR_REVERSE = 0; mg1=0.5; mg2=0.5; i2c.start(); i2c.write(0x40); i2c.write(0x06); i2c.write(0x00); i2c.stop(); i2c.start(); i2c.write(0x40); i2c.write(0x02); i2c.write(~0x00); i2c.stop(); int waiting = 0; bool active = false; while(1){ // Einlesen der Taster und speichern unter data i2c.start(); i2c.write(0x40); i2c.write(0x01); i2c.start(); i2c.write(0x41); data = i2c.read(0); i2c.stop(); if(active) { enable = 1; online = 1; myrgb=3; wait(0.5); } else { if(waiting<7) waiting++; else { enable = 1; online = 1; if(myline<15||linecenter<1) { active=1; myrgb=6; } else myrgb=4; waiting=0; } wait(0.5); myled=out_helper[waiting]; enable = 0; online = 0; myrgb=7; } //0=>keine Linie //01->forneMitte //02->hintenMitte //04->forneLinks //08->forneRects //10->hintenLinks //20->hintenRechts //40->Rechts //80->Links } }