PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Arduino Flexsensoren servos



Michael67
26.01.2013, 09:58
Moin Moin ja da heben schon einiege gefragt nch deb sebsoren.
ich habe mir die servo schaltung nach dem arduino beispiel aufgebaut mit dem Poti.

nun meine Frage
ich möchte statt des Potis einen Flexsensor einsetzen, ich bekomme es nicht hin.
Ich habe statt Poti den flexsensor eingesteckt und nun weiss ich icht weiter das poti hat ja 3 anschluesse der
Sensor nur 2 also habe ich ein bisschen mit wiederständen probiert, leider keinen erfolg.
Am Sketch habe ich mit den werten für das poti rumprobiert (0,1023)
hat jemand eine idee was ich am sketch und an der Schaltung ändern muss.

Ich bin gerade erst mit dem Arduino angefangen .

danke

Micha

oderlachs
26.01.2013, 10:33
Dann verlöte an den einen Anschluss des Flexsensors einen Widerstand, dieser Lötpunkt ist dann der vom Poti in der Mitte. Den Wert des zusätzlichen Widerstands musst Du nach dem Sensorwert ermitteln unter zur Hilfenahme des Ohmschen Gesetzes bzw. des vom Spannungsteiler..Das ist elektron. Grundwissen, dazu musst Du den Arduino noch nicht bis in allen Ecken kennen, auch solltest Du in den Tiefen des Web einige Beispiele (http://garagelab.com/profiles/blogs/tutorial-flex-sensor-with-arduino)dazu finden, eben mal googlen.. ;)
Auch solltest Du bei solchen Fragen mal konkrete Werte vom Poti bzw Flexsensor angeben damit man auch konkreter helfen kann...

Gruss und viel Spass beim Probieren

Gerhard

Michael67
26.01.2013, 12:53
Hallo Gerhard,
danke Du hast mir sehr geholfen.

lg

Michael

- - - Aktualisiert - - -

So und schon ausprobiert.
Ist vieleicht nicht die beste lösung aber mein erster versuch.
24355


der sketch:

// Servo steuerung mit flex sensor


#include <Servo.h>

Servo myservo; // servo object

int sensor, degrees;
int val; // variable zumlesen analog pin

void setup()
{
myservo.attach(9); // servo an pin 9
}

void loop()
{
val = analogRead(sensor); // flex lesen
val = map(val, 0, 260, 0, 179); // skallieren servo und flex
myservo.write(val); //servo ansprechen
delay(15); // warten
}