Lego Mindstorms Forum - Diskutieren, Austauschen, Lernen
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   KarteKarte   BenutzergruppenBenutzergruppen   TeamseiteTeamseite   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 
Problem mit dem Beschleunigungssensor

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Lego Mindstorms NXT und RCX Forum Foren-Übersicht -> Sensoren
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Niyar
Mindstormsfreund
Mindstormsfreund



Anmeldungsdatum: 05.03.2010
Beiträge: 4

BeitragVerfasst am: Fr März 05, 2010 8:35 pm       Titel: Problem mit dem Beschleunigungssensor Antworten mit Zitat

Ich arbeite in der Schule mit dem Beschleunigungssensor von HiTechnic. Ich hab versucht mir die einzelnen Werte für die Achsen ausgeben zu lassen. Leider kann ich aber nichts mit den Werten anfangen. Die sind teilweise über 1000 bis hin zu 10000!!!!
Kann mir einer vieleicht sagen wie ich das verstehen soll?

Ich arbeite mit unter NXC.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Linus
Schreibt sehr viel
Schreibt sehr viel



Anmeldungsdatum: 13.07.2007
Beiträge: 443

BeitragVerfasst am: Sa März 06, 2010 12:34 am       Titel: Antworten mit Zitat

Poste mal dein Programm.
_________________
RWTH - Mindstorms NXT Toolbox for MATLAB - www.mindstorms.rwth-aachen.de
Beispielvideo mit der Toolbox in Aktion
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Niyar
Mindstormsfreund
Mindstormsfreund



Anmeldungsdatum: 05.03.2010
Beiträge: 4

BeitragVerfasst am: Sa März 06, 2010 5:37 pm       Titel: Antworten mit Zitat

Hier ist das Programm:

task main()
{
int x,y,z;
SetSensorLowspeed(S2);
SetSensorTouch(S1);
while (true)
{
if (ReadSensorHTAccel(S2, x, y, z))
{
NumOut(20, LCD_LINE4, x);
NumOut(20, LCD_LINE5, y);
NumOut(20, LCD_LINE6, z);
}
if (SENSOR_1 ==1)
{
OnFwd(OUT_A, 20);
Wait(3000);
}
}
}

ich hab in der Schule Vorrichtungen gebaut um jeweils nur eine Achse anzusprechen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Ford Prefect
Moderator
Moderator



Anmeldungsdatum: 11.01.2006
Beiträge: 1950
Wohnort: ein kleiner Planet in der Nähe von Beteigeuze

BeitragVerfasst am: Sa März 06, 2010 6:27 pm       Titel: Antworten mit Zitat

vllt solltest du bei der ersten Ausgabe vorher den Bildschirm löschen:

Code:
NumOut(20, LCD_LINE4, x, true);
NumOut(20, LCD_LINE5, y);
NumOut(20, LCD_LINE6, z);


wenn's dann immer noch nicht geht - hast du mal das Hitechnic Beispielprogramm probiert?
Achtung: S1 durch S2 ersetzen!

Zitat:
NXC is a C programming language that can access all Acceleration Sensor features.
For more information go to http://bricxcc.sourceforge.net/nbc/.

Example NXC Code:
Code:
task main()
{
  SetSensorLowspeed(IN_1);
  int count;

  int xval;
  int yval;
  int zval;

  byte inI2Ccmd[];
  byte outbuf[];
  while (TRUE)
    {
    ArrayInit(inI2Ccmd, 0, 2); // set the buffer to hold 10 values (initially all are zero)
    inI2Ccmd[0] = 0x02; // set values in the array
    inI2Ccmd[1] = 0x42;
    count=8;                                  //read count set to 8 bytes
    I2CBytes(IN_1, inI2Ccmd, count, outbuf);  //read the acceleration sensor on port 1
    xval=outbuf[0];                           //load x axis upper 8 bits
    yval=outbuf[1];                           //load Y axis upper 8 bits
    zval=outbuf[2];                           //load z axis upper 8 bits
    if (xval > 127) xval-=256;                //convert x to 10 bit value
    xval=xval*4 + outbuf[3];
    if (yval > 127) yval-=256;                //convert y to 10 bit value
    yval=yval*4 + outbuf[4];
    if (zval > 127) zval-=256;                //convert z to 10 bit value
    zval=zval*4 + outbuf[5];
   
// Ford's Ergänzung:
    NumOut(20, LCD_LINE4, xval, true);
    NumOut(20, LCD_LINE5, yval);
    NumOut(20, LCD_LINE6, zval);

    }
}

_________________
Don't Panic!
Gruß,
Ford - "A Kingdom of Heaven if NXC had recursions!" - Prefect
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Niyar
Mindstormsfreund
Mindstormsfreund



Anmeldungsdatum: 05.03.2010
Beiträge: 4

BeitragVerfasst am: Di März 09, 2010 1:22 pm       Titel: Antworten mit Zitat

Das Programm funktioniert nicht. Es wird die Fehlermeldung 'File error' auf dem Brick-Display ausgegeben. Der Compiler hat keine Probleme, das Programm zu übersetzen.
Kann es möglich sein, dass das Programm nicht vollständig ist, da bei HiTechnic auch '...' am Ende des Programmes angegeben wird?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Ford Prefect
Moderator
Moderator



Anmeldungsdatum: 11.01.2006
Beiträge: 1950
Wohnort: ein kleiner Planet in der Nähe von Beteigeuze

BeitragVerfasst am: Di März 09, 2010 1:30 pm       Titel: Antworten mit Zitat

soweit es compiliert + übertragen wird, muss es dann auch vollständig sein. "File Error" passiert immer dann, wenn zur Laufzet ein fehler auftritt (z.B. wenn man arrays falsche Variablen zuweist o.ä.)

PS:
hast du dein eigenes, urspr. Programm mit der geänderten Ausgabe probiert?
Code:
    NumOut(20, LCD_LINE4, xval, true);
    NumOut(20, LCD_LINE5, yval);
    NumOut(20, LCD_LINE6, zval);

_________________
Don't Panic!
Gruß,
Ford - "A Kingdom of Heaven if NXC had recursions!" - Prefect
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebi
Moderator
Moderator


Alter: 14
Anmeldungsdatum: 11.01.2008
Beiträge: 1627
Wohnort: Aub

BeitragVerfasst am: Di März 09, 2010 4:11 pm       Titel: Antworten mit Zitat

Probier mal:
Code:
ArrayInit(outbuf, 0, 3);

Nach dem anderen Array Init.
Bei mir kommt, bei Arrays ohne ArrayInit auch immer File Error.
_________________
www.my-lego-page.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Max96
Schreibt sehr viel
Schreibt sehr viel


Alter: 14
Anmeldungsdatum: 17.08.2009
Beiträge: 488
Wohnort: Rheinland-Pfalz

BeitragVerfasst am: Mi März 10, 2010 5:51 pm       Titel: Antworten mit Zitat

Hi,
also ich habe festgestellt, dass bei dem Programm öfters die Meldung "File Error" kommt.
Um das zu verhindern habe ich in die Schleife die den Sensor abfragt einen Wait(50) Befehl reingemacht. So kann man das verhindern.
Eine Erklärung warum das so ist habe ich noch nicht gefunden.

PS: Weis jemand wie man die Werte die der Sensor liefert in G umrechnen kann?
_________________
Gruß Max
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Linus
Schreibt sehr viel
Schreibt sehr viel



Anmeldungsdatum: 13.07.2007
Beiträge: 443

BeitragVerfasst am: Do März 11, 2010 12:18 am       Titel: Antworten mit Zitat

Max96 hat folgendes geschrieben::

PS: Weis jemand wie man die Werte die der Sensor liefert in G umrechnen kann?
Durch 200 teilen. Der sensor gibt max -400 bis +400 zurück, und er kann -2G bis +2G messen.
_________________
RWTH - Mindstorms NXT Toolbox for MATLAB - www.mindstorms.rwth-aachen.de
Beispielvideo mit der Toolbox in Aktion
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Niyar
Mindstormsfreund
Mindstormsfreund



Anmeldungsdatum: 05.03.2010
Beiträge: 4

BeitragVerfasst am: Do März 18, 2010 7:24 pm       Titel: Antworten mit Zitat

Danke für die Hilfen.
Ich bin etwas weitergekommen.
Da ich den Sensor erst ma etwas ausprobiert habe, arbeite ich erst ma nicht mit dem weiter. Ich hab jetzt mit dem Kompass-Sensor angefangen, der übrigens auch echt cool ist
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge vom vorherigen Thema anzeigen:   
Neuen Beitrag schreiben   Auf Beitrag antworten    Lego Mindstorms NXT und RCX Forum Foren-Übersicht -> Sensoren Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  
Sie können keine Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum nicht antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge ARCTAN Problem (Mathe) NXT-G Magi1982 Klickibunti 6 Sa Aug 14, 2010 3:47 am Letzten Beitrag anzeigen
Keine neuen Beiträge Problem mit dem Lichtsensor NetHunter Sensoren 12 Fr Aug 13, 2010 1:52 am Letzten Beitrag anzeigen
Keine neuen Beiträge Problem mit neuem Computer robomo allgemeine Fragen 7 Do Aug 05, 2010 8:08 am Letzten Beitrag anzeigen
Keine neuen Beiträge Problem dennis1906 Klickibunti 3 Mo Jun 28, 2010 4:03 pm Letzten Beitrag anzeigen
Keine neuen Beiträge Performance Problem mit RC Car HILFE Sonny1982 Java (LeJOS/NXJ) 3 Fr Jun 25, 2010 10:10 am Letzten Beitrag anzeigen


Impressum
Powered by phpBB © 2001, 2005 phpBB Group