![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Bertl16-cross
main.cpp
- Committer:
- WelzAlex
- Date:
- 2016-06-16
- Revision:
- 0:41f8d348b90d
File content as of revision 0:41f8d348b90d:
//while(1){ VOR (weiss)_ZURUECK(rot)_RECHTS(blinker) } #include "mbed.h" DigitalOut Von(P2_13); // 12V on // Definition der 12 LED's DigitalOut WSLI(P1_10); //wsS links D1 DigitalOut WSRE(P1_12); //wsS rechts D4 DigitalOut GELIVO (P1_11); //ge links vorn D2 DigitalOut GEREVO (P1_13); //ge rechts vorn D5 DigitalOut GELIHI(P1_14); //ge links hinten D6 DigitalOut RTLIHI(P1_15); // rt links hinbten D7 DigitalOut GEREHI(P1_16); //ge rechts hinten D8 DigitalOut RTREHI(P1_17); //rt rechts hinten D9 DigitalOut ledD10 (P1_18); DigitalOut ledD11 (P2_16); DigitalOut ledD12 (P1_20); DigitalOut ledD13 (P1_21); // LDR AnalogIn LDR(P0_14); // RGB LED DigitalOut RGB(P1_22); // Motor Steuerung Schaltung Pg 2 DigitalOut MG1_EN(P2_16);// NUR DIGITAL ohne PWM ! ! ! DigitalOut MG1_F(P2_15); DigitalOut MG1_R(P2_14); DigitalOut MG2_EN(P2_19); DigitalOut MG2_F(P2_20); DigitalOut MG2_R(P2_21); //ULTRASCHALL ABSTANDSMESSER DigitalOut TRIG(P2_22); DigitalIn ECHO(P2_23); // Definition der Taster **************** Schaltplan Pg5 DigitalIn TA1(P1_23); //TA1 DigitalIn TA2(P1_24); // DigitalIn TA3(P1_25); // DigitalIn TA4(P1_26); // DigitalIn TA5(P1_27); // DigitalIn TA6(P1_28); // DigitalIn TA7(P1_30); // DigitalIn TA8(P1_31); // // INCREMENTGEBER *********************** Schaltplan Pg 6 DigitalOut EN_INCR (P2_2); //Incrementgeber Enable DigitalIn INCR_L1 (P2_6); DigitalIn INCR_L2 (P2_7); DigitalIn INCR_R1 (P2_8); DigitalIn INCR_R2 (P2_9); // LINE SENSOR *************************** Schaltplan Pg 7 DigitalOut EN_Line (P2_5); //Enable LINE Sensor DigitalIn ISO1 (P1_9); // Statt ANALOG hier DIGITAL DigitalIn ISO2 (P0_23); // nur für einfachen TEST! DigitalIn ISO3 (P0_16); DigitalIn ISO4 (P0_15); DigitalIn ISO5 (P1_3); // Blue LED ****************************** Schaltplan Pg 8 DigitalOut LedBl (P1_5); int main() { //ALLE LEDS aus GELIHI=1; //Gelb links hinten GEREHI=1;//gelb rehts hinten RTREHI=1;//Rot rechts hinten RTLIHI=1; //rot links hinten GELIVO=1;//gelb links vorne GEREVO=1;//gelb rechts hinten WSLI=1;//weiss links vorne WSRE=1;//weiss rechts vorne ledD10=1; ledD11=1; ledD13=1; ledD12=1; Von =1; MG1_EN=MG2_EN=1; while(1)//Hauptschleife { int c=0; int d=0; int e=0; int f=0; //1 Schleife (vor-zurück-90°rechts) while(c<1) { int i = 0; int a = 0; int b = 0; MG1_F=MG2_F=1; //LED links nach rechts while(i<1) { WSLI=0; WSRE=0; ledD10=0; wait (0.2); ledD10=1; ledD11=0; wait (0.2); ledD11=1; ledD13=0; wait (0.2); ledD13=1; ledD12=0; wait (0.2); ledD12=1; WSLI=1; WSRE=1; i++; } MG1_F=MG2_F=0; wait(0.1); MG1_R=MG2_R=1; //LED rechts nach links while(a<1) { RTREHI=0;//Rot rechts hinten RTLIHI=0; //rot links hinten ledD12=0; wait (0.2); ledD12=1; ledD13=0; wait (0.2); ledD13=1; ledD11=0; wait (0.2); ledD11=1; ledD10=0; wait(0.2); ledD10=1; RTREHI=1;//Rot rechts hinten RTLIHI=1; //rot links hinten a++; } MG1_R=MG2_R=0; wait(0.75); //Blinker Rechts Vorn/Hinten while(b<2) { GEREVO=0; GEREHI=0; wait(0.05); GEREVO=1; GEREHI=1; wait(0.05); GEREVO=0; GEREHI=0; wait(0.05); GEREVO=1; GEREHI=1; wait(0.05); GEREVO=0; GEREHI=0; wait(0.05); GEREVO=1; GEREHI=1; wait(0.05); b++; } //90° Drehung (rechts) MG1_F=MG2_R=1; wait(0.5555555); MG1_F=MG2_R=0; wait(0.5); c++; } //2 Schleife (vor-zurück-90°links) while(d<1) { int i = 0; int a = 0; int b = 0; MG1_F=MG2_F=1; //LED links nach rechts while(i<1) { WSLI=0; WSRE=0; ledD10=0; wait (0.2); ledD10=1; ledD11=0; wait (0.2); ledD11=1; ledD13=0; wait (0.2); ledD13=1; ledD12=0; wait (0.2); ledD12=1; WSLI=1; WSRE=1; i++; } MG1_F=MG2_F=0; wait(0.1); MG1_R=MG2_R=1; //LED rechts nach links while(a<1) { RTREHI=0;//Rot rechts hinten RTLIHI=0; //rot links hinten ledD12=0; wait (0.2); ledD12=1; ledD13=0; wait (0.2); ledD13=1; ledD11=0; wait (0.2); ledD11=1; ledD10=0; wait(0.2); ledD10=1; RTREHI=1;//Rot rechts hinten RTLIHI=1; //rot links hinten a++; } MG1_R=MG2_R=0; wait(0.75); //Blinker Links Vorn/Hinten while(b<2) { GELIVO=0; GELIHI=0; wait(0.05); GELIVO=1; GELIHI=1; wait(0.05); GELIVO=0; GELIHI=0; wait(0.05); GELIVO=1; GELIHI=1; wait(0.05); GELIVO=0; GELIHI=0; wait(0.05); GELIVO=1; GELIHI=1; wait(0.05); b++; } //90° Drehung (links) MG1_R=MG2_F=1; wait(0.5555555); MG1_R=MG2_F=0; wait(0.5); d++; } //3.Schleife (zurück-vor-90°links) while(e<1) { int i = 0; int a = 0; int b = 0; MG1_R=MG2_R=1; //LED rechts nach links while(a<1) { RTREHI=0;//Rot rechts hinten RTLIHI=0; //rot links hinten ledD12=0; wait (0.2); ledD12=1; ledD13=0; wait (0.2); ledD13=1; ledD11=0; wait (0.2); ledD11=1; ledD10=0; wait(0.2); ledD10=1; RTREHI=1;//Rot rechts hinten RTLIHI=1; //rot links hinten a++; } MG1_R=MG2_R=0; wait(0.1); MG1_F=MG2_F=1; //LED links nach rechts while(i<1) { WSLI=0; WSRE=0; ledD10=0; wait(0.2); ledD10=1; ledD11=0; wait(0.2); ledD11=1; ledD13=0; wait(0.2); ledD13=1; ledD12=0; wait(0.2); ledD12=1; WSLI=1; WSRE=1; i++; } MG1_F=MG2_F=0; wait(0.75); //Blinker Rechts Vorn/Hinten while(b<2) { GEREVO=0; GEREHI=0; wait(0.05); GEREVO=1; GEREHI=1; wait(0.05); GEREVO=0; GEREHI=0; wait(0.05); GEREVO=1; GEREHI=1; wait(0.05); GEREVO=0; GEREHI=0; wait(0.05); GEREVO=1; GEREHI=1; wait(0.05); b++; } //90° Drehung (rechts) MG1_F=MG2_R=1; wait(0.5555555); MG1_F=MG2_R=0; wait(0.5); e++; } //4.Schleife (zurück-vorn-90°links) while(f<1) { int i = 0; int a = 0; int b = 0; MG1_R=MG2_R=1; //LED rechts nach links while(a<1) { RTREHI=0;//Rot rechts hinten RTLIHI=0; //rot links hinten ledD12=0; wait (0.2); ledD12=1; ledD13=0; wait (0.2); ledD13=1; ledD11=0; wait (0.2); ledD11=1; ledD10=0; wait(0.2); ledD10=1; RTREHI=1;//Rot rechts hinten RTLIHI=1; //rot links hinten a++; } MG1_R=MG2_R=0; wait(0.1); MG1_F=MG2_F=1; //LED links nach rechts while(i<1) { WSLI=0; WSRE=0; ledD10=0; wait (0.2); ledD10=1; ledD11=0; wait (0.2); ledD11=1; ledD13=0; wait (0.2); ledD13=1; ledD12=0; wait (0.2); ledD12=1; WSLI=1; WSRE=1; i++; } MG1_F=MG2_F=0; wait(0.75); //Blinker Links Vorn/Hinten while(b<2) { GELIVO=0; GELIHI=0; wait(0.05); GELIVO=1; GELIHI=1; wait(0.05); GELIVO=0; GELIHI=0; wait(0.05); GELIVO=1; GELIHI=1; wait(0.05); GELIVO=0; GELIHI=0; wait(0.05); GELIVO=1; GELIHI=1; wait(0.05); b++; } //90° Drehung (links) MG1_R=MG2_F=1; wait(0.5555555); MG1_R=MG2_F=0; wait(0.5); f++; } } }