Projekte
wed
18_Multiblinker_2
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
18_Multiblinker_2
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
@
18_multiblinker_2/main.cpp [read only]
#include <nibobee/robomain.h> //-------------------------------------- // Globale Konstanten definieren //-------------------------------------- // Maximalwerte für Zähler //------------------------ #define COUNTER_LR_MAX 100000 #define COUNTER_LY_MAX 80000 #define COUNTER_RR_MAX 60000 #define COUNTER_RY_MAX 40000 //-------------------------------------- // Globale Variablen definieren //-------------------------------------- // Zählervariablen für 4 LEDs //--------------------------- uint32_t counter_lr = 0; uint32_t counter_ly = 0; uint32_t counter_rr = 0; uint32_t counter_ry = 0; // Zustandsvariablen für 4 LEDs //----------------------------- uint8_t led_lr = 0; uint8_t led_ly = 0; uint8_t led_rr = 0; uint8_t led_ry = 0; // Allgemeine Statusvariable (blinken) //------------------------------------ uint8_t status_blink = 0; // Input-Variablen für den Fühler //------------------------------- int8_t feeler_left_new = 0; int8_t feeler_left_old = 0; void setup() { led_init(); // LED-Pins am Mikrocontroller konfigurieren feeler_init(); // Pins für die Fühler-Taster konfigurieren } void loop() { //**************************************************************************** // INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT //**************************************************************************** // Neuen Fühler-Wert lesen und speichern //-------------------------------------- feeler_left_new = feeler_getLeft(); //**************************************************************************** // VERARBEITUNG VERARBEITUNG VERARBEITUNG VERARBEITUNG VERARBEITUNG //**************************************************************************** // LED Zustandsvariablen je nach Counterstand festlegen //----------------------------------------------------- // LINKS ROT //---------- if (counter_lr == 0) { if (led_lr == 0) { led_lr = 1; } else { led_lr = 0; } } // LINKS GELB //----------- if (counter_ly == 0) { if (led_ly == 0) { led_ly = 1; } else { led_ly = 0; } } // RECHTS ROT //----------- if (counter_rr == 0) { if (led_rr == 0) { led_rr = 1; } else { led_rr = 0; } } // RECHTS GELB //------------ if (counter_ry == 0) { if (led_ry == 0) { led_ry = 1; } else { led_ry = 0; } } // wenn der Fühler gerade nach vorne gedrückt wird... //--------------------------------------------------- if (feeler_left_new == +1 && feeler_left_old == 0) { // wenn "blinken" aus -> "blinken" an // ansonsten -> "blinken" aus //------------------------------------ if (status_blink == 0) { status_blink = 1; } else { status_blink = 0; } } // LED Zustandsvariablen ggf. überschreiben //----------------------------------------- if (status_blink == 0) { led_lr = 0; led_ly = 0; led_rr = 0; led_ry = 0; } // Counter werden runtergezählt und bei 0 wieder auf MAX gesetzt //-------------------------------------------------------------- // LINKS ROT //---------- if (counter_lr > 0) { counter_lr = counter_lr - 1; } else { counter_lr = COUNTER_LR_MAX; } // LINKS GELB //----------- if (counter_ly > 0) { counter_ly = counter_ly - 1; } else { counter_ly = COUNTER_LY_MAX; } // RECHTS ROT //----------- if (counter_rr > 0) { counter_rr = counter_rr - 1; } else { counter_rr = COUNTER_RR_MAX; } // RECHTS GELB //------------ if (counter_ry > 0) { counter_ry = counter_ry - 1; } else { counter_ry = COUNTER_RY_MAX; } // Aktuellen Fühler-Wert als "alten" Wert speichern // (für den nächsten Durchgang der loop()-Funktion) //------------------------------------------------- feeler_left_old = feeler_left_new; //**************************************************************************** // OUTPUT OUTPUT OUTPUT OUTPUT OUTPUT OUTPUT OUTPUT OUTPUT //**************************************************************************** // LEDs je nach Statuswert ein- bzw. ausschalten //---------------------------------------------- led_set(LED_L_RD, led_lr); led_set(LED_L_YE, led_ly); led_set(LED_R_RD, led_rr); led_set(LED_R_YE, led_ry); }
Compiler results:
Werbung
Online
lebetcasinocomisaac
refugiajude043850652
warrenhinder6456