Funktionen zum Auslesen der ADC-Wandler.
Gruppiert in die zusammenhaengenden Hardwareeinheiten.
(Batterie, Liniensensoren, Radsensoren)
Die Switches (Taster) werden in der Datei switches.c bearbeitet.
Mehr ...
gehe zum Quellcode dieser Datei
|
int | Battery (void) |
| Liest die Batteriespannung und gibt sie zurueck.
Es erfolgt keine Konvertierung in einen Spannungswert.
|
|
void | LineData (unsigned int *data) |
| Liest die Daten der beiden Linienverfolgungssensoren.
Die Linien-Beleuchtungs-LED kann sowohl an- als auch ausgeschaltet sein.
|
|
void | OdometryData (unsigned int *data) |
| Liest die Daten der beiden Odometriesensoren (Radsensoren).
Diese Funktion schaltet die Odometrie-LED's immer an.
Diese Funktion schaltet die Back-LED's immer aus.
|
|
Funktionen zum Auslesen der ADC-Wandler.
Gruppiert in die zusammenhaengenden Hardwareeinheiten.
(Batterie, Liniensensoren, Radsensoren)
Die Switches (Taster) werden in der Datei switches.c bearbeitet.
- Siehe auch
- Defines fuer die Auswahl der ADC-Kanaele in asuro.h
BATTERIE, IR_LEFT, IR_RIGHT, WHEEL_LEFT, WHEEL_RIGHT
Der Kanal SWITCH wird hier nicht bearbeitet.
- Version
- V— - 10.11.2003 - Jan Grewe - DLR
Original Version von der ASURO CD
-
V— - bis zum 07.01.2007 -
Bitte in Datei CHANGELOG nachsehen.
-
V001 - 13.01.2007 - m.a.r.v.i.n
+++ Alle Funktionen
Zerlegte Sourcen in einzelne Dateien fuer eine echte Library.
-
V002 - 22.01.2007 - Sternthaler
+++ Alle Funktionen
Kommentierte Version (KEINE Funktionsaenderung)
-
V003 - 20.02.2007 - m.a.r.v.i.n
In Battery und OdometryData Funktion autoencode temporaer abschalten
-
V004 - 06.04.2007 - m.a.r.v.i.n
Batterie und OdometrieData Funktionen umbenannt in Battery und OdometryData.
Alte Funktionsnamen ueber Defines beibehalten
-
V005 - 20.01.2008 - m.a.r.v.i.n
A/D Wandler Abfrage ueber ReadADC Funktion
-
V005 - 29.03.2009 - rossir
A/D Wandler Abfrage ueber Interrupt
Definiert in Datei adc.c.
Liest die Batteriespannung und gibt sie zurueck.
Es erfolgt keine Konvertierung in einen Spannungswert.
- Rückgabe
- 10-Bit-Wert der Batteriespannung (Bereich 0..1023)
- Die Spannung in Volt kann mit folgende Formel berechnet werden:
- Umess[V] = (Uref / 2 ^ ADC-Bitsanzahl) * Batterie ()
Ubat[V] = ((R1 + R2) * Umess) / R2
Dabei sind:
- Uref = 2.56 Volt
ADC-Bitsanzahl = 10 Bit
R1 = 12000 Ohm auf der ASURO-Platine
R2 = 10000 Ohm auf der ASURO-Platine
Oder einfach:
- Ubat[V] = 0,0055 * Battery ()
- Beispiel:
- (Nur zur Demonstration der Parameter/Returnwerte)
int wert;
if (wert < 810)
alles_stop ();
Definiert in Zeile 84 der Datei adc.c.
void LineData |
( |
unsigned int * |
data | ) |
|
Liest die Daten der beiden Linienverfolgungssensoren.
Die Linien-Beleuchtungs-LED kann sowohl an- als auch ausgeschaltet sein.
- Parameter
-
[out] | data | Zeiger auf die gelesenen Daten:
data[0] linker Sensor (Bereich 0..1023)
data[1] rechter Sensor (Bereich 0..1023) |
- Siehe auch
- Die globale Variable autoencode wird temporaer auf FALSE gesetzt und am Ende
der Funktion mit dem alten Wert restauriert.
- Hinweis:
- Die Linien-Beleuchtungs-LED kann vorher mit der Funktion FrontLED()
im aufrufenden Programmteil an- bzw. ausgeschaltet werden.
- Beispiel:
- (Nur zur Demonstration der Parameter/Returnwerte)
unsigned int data [2];
if (data [0] > 100)
tu_diese ();
if (data [1] < 50)
tu_das ();
Definiert in Zeile 125 der Datei adc.c.
void OdometryData |
( |
unsigned int * |
data | ) |
|
Liest die Daten der beiden Odometriesensoren (Radsensoren).
Diese Funktion schaltet die Odometrie-LED's immer an.
Diese Funktion schaltet die Back-LED's immer aus.
- Parameter
-
[out] | data | Zeiger auf die gelesenen Daten:
data[0] linker Sensor,
data[1] rechter Sensor. (Bereich 0..1023) |
- Hinweis:
- Die Odometrie-Beleuchtungs-LED's muessen zur Messung der Odometrie-
sensoren wegen der Hardware im ASURO immer eingeschaltet sein.
Die Hardware ist so ausgelegt, dass dadurch allerdings die hinteren
Back-LED's ausgeschaltet werden.
Da die Odometrie-Beleuchtungs-LED's in dieser Funktion EIN-geschaltet
werden, funktionieren dann die Back-LED's nicht mehr. Sie koennen im
Programm nach dieser Funktion mit BackLED() bei Bedarf wieder
eingeschaltet werden.
- Beispiel:
- (Nur zur Demonstration der Parameter/Returnwerte)
unsigned int data [2];
if (data [0] > data [1])
fahre_links ();
if (data [0] < data [1])
fahre_rechts ();
Definiert in Zeile 174 der Datei adc.c.
{
DDRC &= ~((1 << PC0) | (1 << PC1));
}