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
7430 private projects
378 public projects
16178470 lines compiled
58188 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
andreasnew290004031
armanddelatorre8855
Banane
blairembley00135154
blythe489719956356
bobbiedevereaux394
chandradillion322729
claysadleir964730
deandnv25751532757234
dianeiek83169264258
drusillapayne578806
elberttelfer568
elissa90h1495041949
elvialavender09
freddymunson4969971
harold532781508
hersheldraper36
jamierapp475936
janellegard4477
jeannachuter775627
lenoretousignant247
loriniles410565581
margaretasykes113416
margenebales8570025
marina42362450713
maxiepalfreyman85
megleanne692975377833
natashamoyes64624093
rolandokilgour324331
shaneldisher04604335
shellachen05598945
warrenhinder6456
zackirvin72719811111