Projekte
Gagon
Linien Verfolgung Version 1
main.cpp
Projekte
Forum
Doku
Öffentliche Projekte
Startseite
Beispielprogramme
Projekte von anderen
Welcome
Username
Passwort
Eingeloggt bleiben
Zugangsdaten vergessen?
Registrieren
Projektverwaltung
⇨ Please choose! ⇦
——————————————————
✎ Create new project...
★ Browse existing projects...
——————————————————
⚬ MotorTest#1
⚬ C Tutorial 8#1
⚬ NIBO2 C Project#1
⚙ C Tutorial 15#1
⚬ 2010_11_18_el_test001#1
Linien Ve...Version 1
main.cpp
Project details
Compiler settings
Nachrichten
Sie sind nicht eingeloggt.
Neuigkeiten
★
NiboRoboLib 3.6
2017-01-17: Neue Version 3.6
★
NiboRoboLib 3.4.1
2016-04-16: Neue Version 3.4.1
★
Coding Tutorial
2015-11-22: Jetzt auch für den NIBO burger!
Site-Statistic
7433 private projects
378 public projects
16180353 lines compiled
58212 builds
NIBO
@
Linien_Verfolgung_Version_1/main.cpp [read only]
//Joshua Hahn & Rafael Stefanakoudis Erstellt am: 03.02.2016 //Letzte Änderung 08.03.2016 //Include: #include <nibobee/robomain.h> #include <nibobee/iodefs.h> #include <nibobee/led.h> #include <nibobee/motpwm.h> #include <nibobee/analog.h> #include <nibobee/line.h> #include <nibobee/delay.h> //Globale Variablen: //Setup: void setup() { //Initialisierungen: feeler_init(); odometry_init(); motpwm_init(); line_init(); led_init(); //Bevor das Programm Startet wird ein 5 Sekunden Delay durchgeführt um dem Anwender die Zeit zu geben den Nibobee zu Programmieren for (int i=0; i<5; ++i) { led_set(1, 1); led_set(2, 1); delay(700); led_set(1, 0); led_set(2, 0); delay(300); } //Auslesen der kalibrierten Werte: line_readPersistent(); } void Blinken_mit_Delay_und_Bremse(int iDelay) //Max 9 Sekunden { motpwm_setLeft(0); motpwm_setRight(0); for (int i=0; i<iDelay; ++i) { led_set(1, 1); led_set(2, 1); delay(700); led_set(1, 0); led_set(2, 0); delay(300); } } void AusweichenR(){ motpwm_setLeft(-250); motpwm_setRight(-240); for (int i=0; i<2; ++i) { led_set(3, 1); led_set(0, 1); delay(300); led_set(3, 0); led_set(0, 0); delay(50); } motpwm_setRight(0); delay(2000); motpwm_setLeft(0); } void manoever_AusweichenR(){ motpwm_setLeft(0); motpwm_setRight(0); led_set(0, 1); led_set(3, 1); delay(500); AusweichenR(); } void loop() { //Delay von 1 Mili Sekundenn delay(1); //Ausschalten aller Led's led_set(0,0); led_set(1,0); led_set(2,0); led_set(3,0); led_set(4,0); //Abfragen der Momentan-Werte aller Phototransistoren an der Front int Phototran_R = line_get(LINE_R); int Phototran_M = line_get(LINE_C); int Phototran_L = line_get(LINE_L); //Erstellen von Variabeln int power_r = 0; int power_l = 0; int status_fueler_R = feeler_getRight(); int status_fueler_L = feeler_getLeft(); //Switch Fragt erst die Fühler ab, damit der Nibobee bei Kollision stehen bleibt oder ausweicht. switch (status_fueler_R + status_fueler_L){ case +2 || +1: { Blinken_mit_Delay_und_Bremse('5'); }break; case -1 : { manoever_AusweichenR(); }break; case -2 : { manoever_AusweichenR(); }break; default: { //Abfrage um eine grade zu fahren if(((Phototran_R+Phototran_L)>Phototran_M*4) & (Phototran_R< (Phototran_M+Phototran_L)*2) & (Phototran_L< (Phototran_M+Phototran_R)*2) & (Phototran_L+Phototran_R+Phototran_M<1000)) { led_set(2,1); power_l = 300; power_r = 290; } //Leichte Korrektur nach rechts else if((Phototran_L> (Phototran_M+Phototran_R)*2) & (Phototran_L+Phototran_R+Phototran_M<800)) { led_set(3,1); power_l = 300; power_r = 265; } //Leichte Korrektur nach links else if((Phototran_R> (Phototran_M+Phototran_L)*2) & (Phototran_L+Phototran_R+Phototran_M<800)) { led_set(0,1); power_l = 275; power_r = 300; } //Stehen bleiben bei weißem Untergrund else if(Phototran_L+Phototran_R+Phototran_M>1000) { led_set(1,1); power_l = 0; power_r = 0; } //Kurve nach Links else if ((Phototran_R> (Phototran_M+Phototran_L)*2) & (Phototran_L+Phototran_R+Phototran_M>800)) { led_set(0,1); led_set(1,1); power_l = 50; power_r = 500; } //Kurve nach Rechts else if ((Phototran_L> (Phototran_M+Phototran_R)*2) & (Phototran_L+Phototran_R+Phototran_M>800)) { power_l = 500; power_r = 50; led_set(3,1); led_set(1,1); } }break; } //Setzen der neuen Motor-Werte motpwm_setLeft(power_l); motpwm_setRight(power_r); }
Compiler results:
Werbung
Online
gilbertosladen335
hunter94
jnplatesha8912130544
Victorkdf
warrenhinder6456