Hallo Leute

ich hab mal wieder Probleme mit meinem Basic Quellcode.... der will mal wieder nicht so wie ich will...

Also ich bin immern och bei meinem Projekt, mit einem Sensor eine Winkelmesseinrichtung mithilfe des MLX 90316 zu bauen.

So, nun möchte ich gerne, dass mir der Controller nicht nur eine Gradanzeige ausgibt, sondern auchdie ausgesprochenen Windrichtungen, so wie norden, süden, etc.
das heißt ich muss ja bestimmt bereiche als norden, als süden, usw. deklarieren. ich habe mal versucht das mit deinem riesigen if...else gebilde zu realisieren, aber funktionieren tut es nicht.
außerdem hab ich dann ein problem mit Norden. Da geht es von 337.5 bis 360 und dann von 0 bis 22.5 grad. wie soll ich ihm denn die 2 sachen in eine bedingung packen? oder muss ich die wieder in 2 aufteilen....

wäre schön wenn ihr mir da helfen könntet

hier noch schnell meinen quellcode

Code:
 Config Adc = Single , Prescaler = Auto , Reference = Avcc  'Konfiguriert den AD Wandler

 Start Adc                                                  'Startet den AD Wandler

 Config Pinc.2 = Input                                      'ADC 2 an Ctrl

 Dim Sensor As Long                                         'Deklariert "Sensor" als Long mit 4 Byte Zeichenvorrat
 Dim Grad As Single                                         'Deklariert die Gradvariable "Grad" als Single


   Do                                                       ' Beginnt die Abfrageschleife zur Werteerfassung

      Sensor = 0                                            'Initialisiert die Variablen Sensor, Grad
      Grad = 0

      Sensor = Getadc(2)                                    'Der AD Wert wird am Pin C2 abgelesen und in die Veriable "Sensor" geschrieben

      Grad = Sensor * 360
      Grad = Grad / 1024

      Grad = Grad * 100
      Grad = Fix(grad)
      Grad = Grad / 10
      Grad = Round(grad)
      Grad = Grad / 10

      Print "Sensor (dezimal) : " ; Sensor
      Print "Grad: " ; Grad

      'Hierhin kommt die Anzeige der Ausgesprochenen Windrichtung (NOSW)

      If Grad = 337.5 To 360 Then                           ' Grad = 0 To 22.5 Then

         Print "Norden"

      Else

         If Grad = 22.6 To 67.5 Then

            Print "Nord/Ost"

         Else

            If Grad = 67.6 To 112.4 Then

               Print "Osten"

            Else

               If Grad = 112.5 To 157.4 Then

                  Print "Sued/Ost"

               Else

                  If Grad = 157.5 To 202.5 Then

                     Print "Sueden"

                  Else

                     If Grad = 202.6 To 247.5 Then

                        Print "Sued/West"

                     Else

                        If Grad = 247.6 To 292.4 Then

                           Print "Westen"

                        Else

                           If Grad = 292.5 To 337.4 Then

                              Print "Nord/West"

                           Else




                           End If
                        End If
                     End If
                  End If
               End If
            End If
         End If
      End If








         ___lcdno = 1                                       'wählt die unteren 2 Zeilen aus

         If Grad = 0 Then                                   '
            Locate 2 , 8
            Lcd "0° / 360°"

         Else
            Locate 2 , 8
            Lcd Grad ; "°"


         End If


      Waitms 500                                            '500 ms Wartezeit zwischen der Abfragewiederholung

      ___lcdno = 1

      Locate 2 , 8
      Lcd "               "

   Loop                                                     'Ende der Abfrageschleife, Sprung zum Anfang der Schleife




End                                                         'Programmende

Viele Grüße Felix