Projekte
plm
Abstand
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
Abstand
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
7496 private projects
385 public projects
16433021 lines compiled
58481 builds
NIBO
@
abstand/main.c [read only]
/* NIBO2 Projekt ACHTUNG: Das Programm wurde mit einem NIBO2 von 2020 getestet. Die niborobolib muss - unter Compiler settings - auf Version 3.6 eingestellt sein. Der NIBO2 hat 5 Abstandssensoren, die aus Sender- und Empfänger-Diode bestehen Die Messung ist auch davon abhängig, ob die Dioden zueinander richtig eingestellt sind. Wenn die (blaue) Senderdiode z.B. in die Luft sendet, dann kann die darunter (unter der Platine) angebrachte schwarze Empfänger-Diode nicht viel empfangen. Die Abstandssensoren werden genau gegengerichtet den LEDs nummeriert. Also ist Abstandssensor 0 bei LED 7, Abstandssensor 2 zeigt gerade aus nach vorne, liegt also zwischen den LEDs 4 und 5. Wenn die beiden Dioden halbwegs passend aufeinander ausgerichtet sind, die Messung gestartet ist (copro_ir_startMeasure()), die Daten aktualisiert sind (copro_update()) dann liefert die Empfängerdiode in (uint16_t)copro_distance[0] den aktuellen Abstandswert. Die zurückgegebene Zahl wird größer, je kürzer der Abstand zum reflektierenden Objekt ist. Im Programm wird der Abstand so ausgewertet, dass die jeweils neben dem Abstandssensor angebrachte LED grün leuchtet, wenn der Abstand groß ist, und rot, wenn der Abstand klein ist. Was groß und klein bedeutet, hängt von der Farbe und Oberfläche des reflektierenden Objektes sowie der Ausrichtung der Sende- und Empfangsdiode zueinander ab. Da muss man also ein wenig experimentieren. */ //Bibliotheken importieren #include <nibo/niboconfig.h> #include <nibo/display.h> #include <nibo/copro.h> #include <nibo/delay.h> #include <nibo/iodefs.h> #include <nibo/bot.h> #include <nibo/spi.h> #include <avr/interrupt.h> #include <stdio.h> #include <nibo/leds.h> int main() { //Hauptprogramm sei(); //Initialisieren bot_init(); spi_init(); leds_init(); delay(50); //Zeit für die Initialisierungen copro_ir_startMeasure(); //Abstandsmessung starten while (1==1) { delay(10); copro_update(); //Messung aktualisieren //Abstandssensor 0 if ((uint16_t)copro_distance[0] > 200) { leds_set_status(2,7); // setzt LED 6 auf Rot } else { leds_set_status(1,7); // setzt LED 6 auf Grün } //Abstandssensor 1 if ((uint16_t)copro_distance[1] > 200) { leds_set_status(2,6); // setzt LED 6 auf Rot } else { leds_set_status(1,6); // setzt LED 6 auf Grün } //Abstandssensor 2 if ((uint16_t)copro_distance[2] > 200) { leds_set_status(2,4); // setzt LED 4 auf Rot leds_set_status(2,5); // setzt LED 5 auf Rot } else { leds_set_status(1,4); // setzt LED 4 auf Grün leds_set_status(1,5); // setzt LED 5 auf Grün } //Abstandssensor 3 if ((uint16_t)copro_distance[3] > 200) { leds_set_status(2,3); // setzt LED 3 auf Rot } else { leds_set_status(1,3); // setzt LED 3 auf Grün } //Abstandssensor 4 if ((uint16_t)copro_distance[4] > 200) { leds_set_status(2,2); // setzt LED 6 auf Rot } else { leds_set_status(1,2); // setzt LED 6 auf Grün } } return 0; }
Compiler results:
Werbung
Online
Antoniotzj
darinantonio390
preston07a2761551
vickeycdw10063158239