Flexsensor

Einführung

Der Flexsensor ist ein 7,3 cm langer Streifen, dessen Widerstand beim Biegen variiert. Er lässt sich von 0 Grad bis 180 Grad biegen.

Flexsensoren sind in zwei Größen erhältlich: 5,5 cm und 11,4 cm.

Es kann in verschiedenen Bereichen nützlich sein:

Es kann mechanische Bewegungen, Luftströmungen, Wasserströmungen und sogar Vibrationen messen.
Es kann als Bewegungssensor oder als äußerst langlebiger und zuverlässiger Schalter eingesetzt werden.

Wie funktioniert der Sensor?

Eine Seite des Sensors ist mit einer Polymertinte bedruckt, die leitfähige Partikel enthält. Bei aufrecht stehendem Sensor verleihen die Partikel der Tinte einen Widerstand von ca. 30 kOhm.

Wird der Sensor von der Tinte weggebogen, entfernen sich die leitfähigen Partikel weiter von ihr, wodurch sich dieser Widerstand erhöht (auf ca. 50–70 kOhm bei einer Biegung um 90 Grad und bis zu 125 kOhm bei einer Biegung um 180 Grad).

Aufmerksamkeit !

Biegen Sie den Streifen jedoch nicht zu stark, um ein Brechen zu vermeiden.

Die Sensorstifte

Hier sind die Pins des Flexsensors:

  • GND: Mit der Masse der Arduino-Platine verbinden.

    Vcc: Mit einem 10-kOhm-Widerstand mit der Arduino-Platine verbinden.

Wert auf seriellem Monitor anzeigen

Nun werden wir sehen, wie die Sensorbiegung auf dem seriellen Monitor angezeigt wird.

const int flexPin = A2; 
int valeur; 

void setup(){
  Serial.begin(9600);
}

void loop(){  
  valeur = analogRead(flexPin);         
  valeur = map(valeur, 700, 900, 0, 180);
  Serial.print("Der Sensor ist gebogen bei:"); 
  Serial.print(valeur);
  Serial.println("  Grad");
  delay(100);                          
}

Schalten Sie je nach Neigung eine LED ein

Hier ist eine Schaltung, mit der die Intensität der LED je nach Beugung des Sensors variiert werden kann. Bei 0° ist die LED aus, je näher der Beugungswinkel des Sensors jedoch 180° kommt, desto heller leuchtet die LED.

const int ledPin = 9;   
const int flexPin = A2; 
int valeur; 

void setup(){
  pinMode(ledPin, OUTPUT);  
}

void loop(){  
  valeur = analogRead(flexPin);     
  valeur = map(valeur, 700, 900, 0, 255);
  analogWrite(ledPin, valeur);          
  delay(100);                         
}