Servo Werte umrechnen

Gast #2850499
Lesenswert?
• ▲
▼
Hallo, ich bekomme über Bluetooth Daten von einem 
Handy(Beschleunigungssensor).


Wenn man das Handy nun kippt, wird dies über Bluetooth gesendet.
Handy links gekippt -10.xxxxxx
Handy mitte 0.xxxxx
Handy rechts gekippt 10.xxxxx

Das ganze soll nun eine Servo Ansteuerung mit Bascom werden.
Heißt also Servo mittelstellung wert: 170
Servo links 100
Servo rechts 255

Meine Frage ist nun, wie rechne ich diese Werte von -10 bis +10 am 
einfachsten um, sodass man mit kippen des Handys einen Servo ansteuern 
kann.
#2850502
Lesenswert?
• ▲
▼
Jack schrieb:

> Heißt also Servo mittelstellung wert: 170
> Servo links 100
> Servo rechts 255

dann ist aber 170 nicht die Mitte.

>
> Meine Frage ist nun, wie rechne ich diese Werte von -10 bis +10 am
> einfachsten um,

indem du dir eine Formel ausdenkst?

  wie müsste wohl eine Umrechnung aussehen, so dass
  diese Abbildung ensteht

              +-   -10 ----> 100   -+
 10 Differenz |                     | 70 Differenz
              +-     0 ----> 170   -+
 10 Differenz |                     | 70 Differenz
              +-    10 ----> 240   -+


Wie wärs mit
  Servo = Wert * 7 + 170
Gast #2850612
Lesenswert?
• ▲
▼
Hallo, das hatte ich schon ausprobiert, jedoch wackelt der Servo dort 
ziemlich und es funktioniert nur bei den ganzen Zahlen, daher nicht wenn 
man das Handy nur etwas bewegt.

Hier mal mein Programm:

$regfile = "m16adef.dat"
$crystal = 8000000
$hwstack = 64
$swstack = 64
$framesize = 64
$baud = 57600
Config Servos = 1 , Mode = Servo , Servo1 = Portd.7
Enable Interrupts
Dim Acc As Single
Servo(1) = 170
Do
Input Acc
         Acc = Acc * 7
         Acc = Acc + 170
  Servo(1) = Acc
Loop

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.