Projekte
ccaero
Schwenken mit Odometry
main.c
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
Schwenken... Odometry
main.c
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
7426 private projects
385 public projects
16180353 lines compiled
58212 builds
NIBO
@
test_1/main.c [read only]
//************************************************************************************************** // Bibliotheken einbinden //************************************************************************************************** #include <nibobee/iodefs.h> #include <nibobee/clock.h> #include <nibobee/motpwm.h> #include <nibobee/delay.h> #include <nibobee/led.h> #include <nibobee/line.h> #include <nibobee/sens.h> #include <nibobee/odometry.h> #include <nibobee/motpid.h> //************************************************************************************************** // Hauptprogramme //************************************************************************************************** int main() { // Initialisierung enable_interrupts(); // Interrupts einschalten motpwm_init(); // Motorcontroller vorbereitebn odometry_init(); // Odometry vorbereiten clock_inc_irq(0,0); // interne Uhr starten led_init(); // LED-Ausgabe vorbereiten sens_init(); // Fühler vorbereiten line_init(); // Bodensendor vorbereiten motpid_init(); // Motor-Software-Regler aktiveren delay(1000); // Pause als INIT-Zeit uint8_t mode = 0; uint8_t do_ = 0; uint16_t last_odo_l=0; uint16_t last_odo_r=0; while(1==1) { if (mode == 0) { led_set(LED_L_RD,1); led_set(LED_R_RD,0); if (do_ == 0) { last_odo_l=odometry_getLeft(0); last_odo_r=odometry_getRight(0); motpid_setSpeed(-30,30); do_=1; } else { if ( odometry_getLeft(0) <= last_odo_l-16 && odometry_getRight(0) >= last_odo_r+16) { motpid_stop(1); mode=1; do_=0; } } } if (mode == 1) { led_set(LED_L_RD,0); led_set(LED_R_RD,1); if (do_ == 0) { last_odo_l=odometry_getLeft(0); last_odo_r=odometry_getRight(0); motpid_setSpeed(30,-30); do_=1; } else { if ( odometry_getRight(0) <= last_odo_r-16 && odometry_getLeft(0) >= last_odo_l+16) { motpid_stop(1); mode=0; do_=0; } } } } return 0; }
Compiler results:
Werbung
Online
AmbroseaLew
MichaelaStiff