PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : display einstellen



roboter14
23.02.2010, 16:21
Hallo,
habe seit einen Monat den RP6 mit M32. 8-[
Wollte mal kurz fragen, wie man die Sensorwerte des Spannungssensors auf das Display bringt.
Danke im voraus.

shedepe
23.02.2010, 18:42
Also von einem ADC Pin von der M32 geht das ziemlich einfach:
uint16_t ADCwert = readADC(uint8_t channel) //Wert lesen
writeIntegerLCD(ADCwert, DEC) //Wert auf Display schreiben

Wenn du einen der Werte von der Basis anzeigen willst müsstest du über I2C gehen

Dirk
23.02.2010, 19:04
Hallo roboter14,

der Spannungssensor für den Akku (wenn du den meinst?) befindet sich ja auf der RP6Base. Wenn du den Wert auf dem LCD der M32 darstellen willst, brauchst du in der Base das I2C-Slave-Programm.

Auf der M32 würde ich experimentieren mit Example_06_I2CMaster.
Wenn du da z.B. so eine Funktion:
void readUbatSensor(void)
{
uint8_t ubatSens[2];
uint16_t ubat;

I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 21); // Start with register 21 (UBAT_L)...
I2CTWI_readBytes(I2C_RP6_BASE_ADR, ubatSens, 2); // and read 2 registers

ubat = ubatSens[0] + (ubatSens[1]<<8);

setCursorPosLCD(0, 3);
writeIntegerLengthLCD(ubat, DEC, 4);

setCursorPosLCD(1, 3);
writeIntegerLengthLCD((((ubat/102.4f)+0.1f)), DEC, 2);
writeChar('.');
writeIntegerLengthLCD((((ubat/1.024f)+10)), DEC, 2);
writeChar('V');
}
... einfügst, dann zeigt sie die Akkuspannung auf dem LCD an.

Gruß
Dirk

roboter14
24.02.2010, 13:48
der Spannungssensor für den Akku (wenn du den meinst?)
ja, genau den meine ich. Danke für das programm. Geht das so für alle Sensorwerte(mit anderem sensornamen natürlich) auf dem RobotBase

RobotMichi
24.02.2010, 14:12
ja, das müsste so für die anderen Sensoren auch funktionieren.

lg
Michi

Xandi11
25.02.2010, 10:58
Hat das originale LCD Display für die M32 eigentlich eine Hintergrundbeleuchtung eingebaut, die man über irgendeinen Port einschalten?

RobotMichi
25.02.2010, 15:14
nein, es gibt keine Beleuchtung, aber die braucht man nicht, weil ja ohnehin die Segmente, auf denen etwas angezeit wird, leuchten.

lg
Michi

Xandi11
25.02.2010, 17:45
Dass die Segmente leuchten ist schon klar, aber normalerweise gibt es doch auf jedem LCD den man irgendwo kauft eine Hintergrundbeleuchtung.

RobotMichi
26.02.2010, 06:00
Hi,

also beim Display für den RP6 gibt es sie auf jeden Fall nicht. Wäre meiner Ansicht nach auch nicht sinnvoll, wenn eh die Segmente leuchten. Sinnvoll wäre Hintergrundbeleuchtung dann, wenn die Segmente z.B schwarz leuchten, aber beim RP6-Display leuchten sie ja grün und das noch ziemlich hell.

lg
Michi

roboter14
14.03.2010, 09:10
Hab in vielen Videos gesehen das der RP6 einen Sensor hat um nicht von einer Tischkante zu fallen oder ähnliches:http://www.youtube.com/watch?v=rDyUe4gYTEQ

Wie funktioniert so etwas und welche Sensoren Braucht man dafür?

Virus
14.03.2010, 09:38
das passt zwar hier nicht rein ----> Display

Such einfach mal hier nach Liniensensor.
Dann kann der RP6 messen ob der Boden reflektiert, wenn da nichts reflektiert, weis man da ist kein Boden :-)