- Labornetzteil AliExpress         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 29

Thema: Himmelsrichtug ausrechnen aus X+Y Wert

  1. #11
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.08.2011
    Ort
    Hannover
    Beiträge
    164
    Anzeige

    E-Bike
    Zitat Zitat von PICture Beitrag anzeigen
    Hallo!

    Bei mir kommt ungerundet 44,17708601° raus, müsste also stimmen.
    Klugscheissermodus ein:
    Selbst das ist gerundet
    Klugscheissermodus aus
    #define true ('/'/'/')
    #define false ('-'-'-')

  2. #12
    Erfahrener Benutzer Begeisterter Techniker Avatar von toter_fisch
    Registriert seit
    25.01.2011
    Ort
    Heidelberg
    Alter
    26
    Beiträge
    228
    ok, jetzt habe ich hier in Bascom:

    Zahl = Atn2(y , X)

    Jetzt bekomme ich einen Fehler: Integer or Long expected for ABS()
    Dabei wurde "Zahl" weiter oben als Integer deklariert?
    Y und X wurden als Word deklariert. Was ist jetzt hier falsch?

  3. #13
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686
    Ach du liebe Zeit . . . ich will jetzt nicht schreiben, wieviel absonderliche Modi eingeschaltet waren, als ich das gerechnet hatte. Das ist der Nachteil von mehrzeiligen Rechnerdisplays . . . Bitte um Entschuldigung
    Ciao sagt der JoeamBerg

  4. #14
    Erfahrener Benutzer Begeisterter Techniker Avatar von toter_fisch
    Registriert seit
    25.01.2011
    Ort
    Heidelberg
    Alter
    26
    Beiträge
    228
    habe jetzt alles als Single.. Funktioniert

  5. #15
    Erfahrener Benutzer Begeisterter Techniker Avatar von toter_fisch
    Registriert seit
    25.01.2011
    Ort
    Heidelberg
    Alter
    26
    Beiträge
    228
    oh war wohl etwas voreilig. Jetzt findet Bascom im Code zwar keine Fehler mehr, das Ergebniss ist jedoch immer noch falsch.
    Wie gesagt ich rechne es so aus:

    Zahl = Atn2(y , X)

    Aber auch wenn ich mit dem Taschenrechner (mein Ti 84 kennt irgendwie kein Atan) rechne kommt da das Ergebniss von vorhin raus. Kann mir jemand erläutern wie der Bascom-Code auszusehen hat, oder wie man in Visual Basic oder auf dem Taschenrechner diese Werte eingeben muss damit ich wenigstens mal ein richtiges Ergebniss rausbekomme



  6. #16
    Erfahrener Benutzer Begeisterter Techniker Avatar von toter_fisch
    Registriert seit
    25.01.2011
    Ort
    Heidelberg
    Alter
    26
    Beiträge
    228
    also mit dem Taschnrechner bekomme ichs jetzt auch hin. Nur Bascom macht Probleme Welchen Befehl brauche ich hier?

  7. #17
    Erfahrener Benutzer Roboter Genie Avatar von Bammel
    Registriert seit
    11.12.2004
    Ort
    Bremen
    Alter
    37
    Beiträge
    1.400
    schön wäre wenn du mal dienen code zeigen würdest und dazu das was er ausrechnet...

    hast du den auch mit rad2deg in grad umgerechnet?

    wert = atn2(y,x)
    wert = rad2deg(wert)
    Der miniatur Quadrocopter: www.nanoquad.de

  8. #18
    Erfahrener Benutzer Begeisterter Techniker Avatar von toter_fisch
    Registriert seit
    25.01.2011
    Ort
    Heidelberg
    Alter
    26
    Beiträge
    228
    Hier mal mein Code (eigentlich nur der von http://www.mtahlers.de/index.php/ele...ren/mmc2120mg#)
    Code:
    ' beispielprogramm zum auslesen des MMC2120MG
    ' malte ahlers 2011
    ' weitere infos auf malteahlers.de
    '
    '
    '
    ' compiler steuerung
    $regfile = "m16def.dat"
    $crystal = 16000000
    $framesize = 64
    $swstack = 64
    $hwstack = 64
    $baud = 19200
    $lib "i2c_twi.lbx"
    '
    
    
    ' - I2C
    Config Twi = 400000
    Config Scl = Portc.0
    Config Sda = Portc.1
    '
    ' konstanten
    Const Cmp_w = &H60
    Const Cmp_r = &H61
    '
    ' variablen
    Dim I As Byte
    Dim Dat(5) As Byte
    Dim X As Single
    Dim Y As Single
    Dim Zahl As Single
    Dim K As Single
    
    
    Config Portc.4 = Output
    Portc.4 = 1
    
    
    Config Portb.0 = Output
    Beeper Alias Portb.0
    Sound Beeper , 400 , 450
    '
    ' hauptprog
    I2cinit
    '
    Do
       '
       ' * set/ reset coil *
       I2cstart
       '
       ' sensor adressieren (schreiben)
       I2cwbyte Cmp_w
       '
       ' register adressieren
       I2cwbyte &H00
       '
       ' register manipulieren -> set coil
       I2cwbyte &B00000010
       '
       I2cstop
       '
       Waitms 1
       '
       I2cstart
       '
       ' sensor adressieren (schreiben)
       I2cwbyte Cmp_w
       ' register adressieren
       I2cwbyte &H00
       '
       ' register manipulieren -> reset coil
       I2cwbyte &B00000100
       '
       I2cstop
       '
       Waitms 5
       '
       ' * messung *
       I2cstart
       '
       ' sensor adressieren (schreiben)
       I2cwbyte Cmp_w
       '
       ' register adressieren
       I2cwbyte &H00
       '
       ' register manipulieren -> messung
       I2cwbyte &H01
       '
       I2cstop
       '
       Waitms 5
       '
       I2cstart
    
    
       I2cwbyte Cmp_w
    
    
       ' leseindex setzen
       I2cwbyte &H00
       '
       I2cstart
       '
       ' sensor adressieren (lesen)
       I2cwbyte Cmp_r
       '
       For I = 1 To 4
          ' bytes 1-4 holen mit ack
          I2crbyte Dat(i) , Ack
       Next
       '
       ' byte 5 holen mit nack
       I2crbyte Dat(5) , Nack
       '
       I2cstop
       '
       ' oberes nibble im high bytes löschen
       Dat(2) = Dat(2) And &B0000_1111
       Dat(4) = Dat(4) And &B0000_1111
       '
       ' x-wert aus high- und lowbyte berechnen
       X = Dat(2) * 256
       X = X + Dat(3)
       '
       ' y-wert aus high- und lowbyte berechnen
       Y = Dat(4) * 256
       Y = Y + Dat(5)
    
    
    
    
      Zahl = Atn2(y , X)
    Zahl = Rad2deg(zahl)
     Print Zahl
       Waitms 200
    
    
    Loop
    End
    Es wird jetzt auch ein Wert ausgegeben, aber egal wie rum ich den Sensor drehe, es kommt immer eine Zahl um die 45,000000000 heraus.

    Kann es sein das der Sensor kaputt ist oder vom Steckbrett gestört wird?

  9. #19
    Erfahrener Benutzer Roboter Genie Avatar von malthy
    Registriert seit
    19.04.2004
    Ort
    Oldenburg
    Beiträge
    1.379
    Hallo,

    also grundsätzlich ist die Berechnung so wie von Bammel empfohlen richtig, das kann also nicht das Problem sein. Die Eingangswerte in den atn2 müssen Singles sein, ich glaube das hast du ja acuh schon bemerkt. Die Bascom Fehlermeldung wenn man da einen anderen Typ nimmt ist natürlich extrem dämlich und verwirrend... Lass dir doch am besten auch mal die Eingangswerte mit ausgeben (also X und Y). Wenn du konstant 45° bekommst, müssten X und Y gleich groß sein. Dann bekommt man schonmal eine Idee wo es eventuell hakt.

    Gruß
    Malte

  10. #20
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    31.05.2009
    Beiträge
    270
    Zitat Zitat von toter_fisch Beitrag anzeigen
    Hi, ich habe mir ein Kompassmodul von Pollin gekauft, das Hdmm01.
    Wenn mich nicht alles täuscht ist das kein Kompass- sondern ein Beschleunigungssensor für 2 Achsen.

    Damit wirst Du niemals einen Winkel (wie bei einem Magnetkompass) von 0-360° bekommen.

    Der Winkel den Du damit berechnest bezieht sich auf den Erdmittelpunkt (in unbeschleunigtem Zustand / Ruhelage) !
    mfG
    Willi

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Ähnliche Themen

  1. Frequenz für OCR2 ausrechnen
    Von sloti im Forum C - Programmierung (GCC u.a.)
    Antworten: 8
    Letzter Beitrag: 16.02.2008, 13:07
  2. Ausrechnen Netzteil
    Von Lordcyber im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 26.06.2007, 12:14
  3. kurzesten Weg ausrechnen
    Von Mehto im Forum Software, Algorithmen und KI
    Antworten: 3
    Letzter Beitrag: 04.06.2006, 20:35
  4. Den Rest ausrechnen
    Von Lunarman im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 27.03.2006, 08:52
  5. ADC-Wert für PWM
    Von HTLer im Forum PIC Controller
    Antworten: 2
    Letzter Beitrag: 19.02.2006, 06:19

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress