Projekte
nibobee
NIBObee BKit-XS Demo
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
NIBObee BKit-XS Demo
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
7467 private projects
385 public projects
16432895 lines compiled
58475 builds
NIBO
@
nibobee_bkit_xs_demo/main.c [read only]
#include <nibobee/iodefs.h> #include <nibobee/motpwm.h> #include <nibobee/motpid.h> #include <nibobee/analog.h> #include <nibobee/led.h> #include <nibobee/delay.h> #include <nibobee/clock.h> #include <nibobee/odometry.h> #include <nibobee/sens.h> #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> uint8_t toggle; int16_t lval, rval; int main() { activate_output_group(IO_LEDS); // LED bits als Output sens_init(); analog_init(); led_set(LED_L_RD, 1); led_set(LED_R_RD, 1); _delay_ms(500); led_set(LED_L_RD, 0); led_set(LED_R_RD, 0); _delay_ms(500); // Port Bits für die IR-LEDs aktivieren activate_output_groupbit(IO_EXT, 2); activate_output_groupbit(IO_EXT, 3); // Hauptschleife: while(1) { sei(); // IR LEDs einschalten clear_output_groupbit(IO_EXT, 2); clear_output_groupbit(IO_EXT, 3); _delay_ms(10); // Werte links und rechts messen lval = analog_getValue(ANALOG_EXT2); rval = analog_getValue(ANALOG_EXT3); // IR LEDs ausschalten set_output_groupbit(IO_EXT, 2); set_output_groupbit(IO_EXT, 3); _delay_ms(10); // Werte links und rechts messen und von vorherigem Ergebnis abziehen, // damit das Umgebungslicht rausgerechnet wird! lval -= analog_getValue(ANALOG_EXT2); rval -= analog_getValue(ANALOG_EXT3); // rote LEDs einschalten wenn viel IR-Licht reflektiert wurde led_set(LED_L_RD, (lval > 15)); led_set(LED_R_RD, (rval > 15)); // gelbe LEDs einschalten wenn eine mittlere Menge IR-Licht reflektiert wurde led_set(LED_L_YE, (lval > 5)); led_set(LED_R_YE, (rval > 5)); // ansonsten sind die LEDs aus... } return 0; }
Compiler results:
Werbung
Online
esperanzagrafton137
kalamerrell63250547
twilatarr8929036