Projekte
Xagoo
Test_Tischplatte
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
Test_Tischplatte
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
7432 private projects
378 public projects
16179195 lines compiled
58194 builds
NIBO
@
test_tischplatte/main.cpp [read only]
#include <niboburger/robomain.h> // in diesem Bereich können globale Variablen definiert werden // ... void Tischkante() { int Bodensensormitte = analog_getValueExt(ANALOG_BC, 2); if(Bodensensormitte<39) //Kein Unterboden, anhalten, rückwärtsfahren und 90 Grad drehung { led_set(3, 1); led_set(2, 1); motpid_stop(10); motpid_setSpeed(-50, -50); led_set(1, 1); led_set(4, 1); delay(650); led_set(1, 0); led_set(2, 0); led_set(3, 0); led_set(4, 0); motpid_stop(10); odometry_reset(); while (odometry_getRight (0)< 22) //Linksdrehung bis Odometrie 27 gezählt hat { motpid_setSpeed(-50, 50); led_set(4, 1); } led_set(4, 0); } if(Bodensensormitte>40) //Unterbodenkontakt freie Fahrt aber langsam kleiner xD { led_set(4,1); led_set(1,1); motpid_setSpeed(15, 15); } } void Schnittwinkelkorrigieren_rechtsDrehung() { analog_wait_update(); int fll = analog_getValueExt(ANALOG_FLL, 2); int fl = analog_getValueExt(ANALOG_FL, 2); int fr = analog_getValueExt(ANALOG_FR, 2); int frr = analog_getValueExt(ANALOG_FRR, 2); int l= max (fll, fl); int r= max (frr, fr); for(int i=0; i<4; i++) //Der Roboter hat 4 ,,versuche'' seine Position zu korrigieren { led_set(1, 1); led_set(4, 1); motpid_setSpeed( -10, -10); delay(200); motpid_stop(10); led_set(1, 0); led_set(4, 0); if(r>l) { do { delay(300); led_set(1,1); motpid_setSpeed(20, -20); delay(100); } while(r=!l); led_set(1,0); } } } void Schnittwinkelkorrigieren_linksDrehung() { analog_wait_update(); int fll = analog_getValueExt(ANALOG_FLL, 2); int fl = analog_getValueExt(ANALOG_FL, 2); int fr = analog_getValueExt(ANALOG_FR, 2); int frr = analog_getValueExt(ANALOG_FRR, 2); int l= max (fll, fl); int r= max (frr, fr); for(int i=0; i<4; i++) // Der Roboter hat 4 ,,versuche'' seine Position zu korrigieren { led_set(1, 1); led_set(4, 1); motpid_setSpeed( -10, -10); delay(300); motpid_stop(10); led_set(1, 0); led_set(4, 0); if(l>r ) { do { delay(300); led_set(4,1); motpid_setSpeed( -10, 10); delay(100); } while(l=!r); led_set(4,0); } } } void setup() { led_init(); motpwm_init(); surface_init(); motpid_init (); odometry_init (); int Bodensensormitte = analog_getValueExt(ANALOG_BC, 2); } void loop() { analog_wait_update(); int fll = analog_getValueExt(ANALOG_FLL, 2); int fl = analog_getValueExt(ANALOG_FL, 2); int fr = analog_getValueExt(ANALOG_FR, 2); int frr = analog_getValueExt(ANALOG_FRR, 2); int l= max (fll, fl); int r= max (frr, fr); if((l>30) && (r>30)) { for(int i=0; i<1; i++) { Schnittwinkelkorrigieren_linksDrehung(); Schnittwinkelkorrigieren_rechtsDrehung(); } motpid_stop(10); motpid_setSpeed(-50, -50); led_set(1, 1); led_set(4, 1); delay(700); led_set(1, 0); led_set(4, 0); led_set(3, 0); led_set(2, 0); motpid_stop(10); odometry_reset(); while (odometry_getRight (0)< 22) //Linksdrehung bis Odometrie 27 gezählt hat { motpid_setSpeed(-50, 50); led_set(4, 1); } } if((l<30)&&(r<30)) { Tischkante(); } }
Compiler results:
Werbung
Online
aileenschumacher702
KylieSat
maxieqjv952917214
warrenhinder6456