ARDUINO 334265-633524 Sensor Flex lang

Invoering
We besteden zoveel tijd aan het praten over het waarnemen van dingen die minder mechanisch zijn, dat je gemakkelijk vergeet dat de versnellingsmeter niet het enige onderdeel in de stad is. De flexsensor is een van die onderdelen die vaak over het hoofd wordt gezien door de gevorderde gebruiker. Maar wat als u moet controleren of er iets verbogen is? Zoals een vinger, of een poppenarm. (Veel speelgoedprototypes lijken deze behoefte te hebben). Elke keer dat u een buiging of buiging moet detecteren, is een flexsensor waarschijnlijk het onderdeel voor u. Ze zijn er in een paar verschillende maten. De flexsensor is een variabele weerstand die reageert op bochten. Ongebogen meet hij ongeveer 22 KΩ, tot 40 KΩ wanneer hij op 180 graden wordt gebogen. Houd er rekening mee dat de bocht slechts in één richting wordt gedetecteerd en dat de meting een beetje wankel kan zijn. U krijgt dus de beste resultaten bij het detecteren van veranderingen van minimaal 10 graden. Zorg er ook voor dat u de sensor aan de basis niet buigt, omdat deze niet als verandering wordt geregistreerd en de kabels kunnen breken. Ik plak altijd een dik stuk karton op de onderkant, zodat het daar niet buigt.

Het aansluiten, en waarom
De flexsensor verandert zijn weerstand wanneer hij wordt gebogen, zodat we die verandering kunnen meten met behulp van een van de analoge pinnen van de Arduino. Maar om dat te doen hebben we een vaste weerstand nodig (die niet verandert) die we voor die vergelijking kunnen gebruiken (we gebruiken een weerstand van 22K). Dit heet een voltage-verdeler en verdeelt de 5V tussen de flexsensor en de weerstand. De analoge uitlezing op uw Arduino is een voltage meter. Bij 5V (het maximum) zou het 1023 zijn, en bij 0V zou het 0 zijn. We kunnen dus meten hoeveel voltage bevindt zich op de flexsensor met behulp van de analogRead en we hebben onze meting.
De hoeveelheid van die 5V die elk onderdeel krijgt, is evenredig met de weerstand ervan. Dus als de flexsensor en de weerstand dezelfde weerstand hebben, wordt de 5V gelijkmatig over elk onderdeel verdeeld (2.5V). (analoge uitlezing van 512) Doe net alsof de sensor slechts 1.1 K weerstand afleest, de 22 K weerstand zal 20 keer zoveel van die 5 V opzuigen. Dus de flexsensor zou slechts 23V krijgen. (Analoge uitlezing van 46) \En als we de flexsensor rond een buis rollen, kan de flexsensor 40K of weerstand hebben, dus de flexsensor zal 1.8 keer zoveel van die 5V opnemen als de 22K-weerstand. Dus de flexsensor zou 3V krijgen. (Analoge lezing van 614)
Code
De Arduino-code hiervoor kan gewoon niet eenvoudiger. We voegen er een aantal seriële afdrukken en vertragingen aan toe, zodat u de metingen gemakkelijk kunt zien, maar ze hoeven er niet te zijn als u ze niet nodig hebt. Tijdens mijn tests kreeg ik een waarde op de Arduino tussen 512 en 614. Het bereik is dus niet optimaal. Maar met behulp van de functie map() kunt u dat naar een groter bereik converteren. int flexSensorPin = A0; //analoge pin 0
Exampde code
ongeldige setup(){ Serial.begin(9600); }void loop(){int flexSensorReading = analogRead(flexSensorPin); Serial.println(flexSensorReading) //In mijn tests kreeg ik een waarde op de Arduino tussen 512 en 614. //Met behulp van map() kun je dat omzetten naar een groter bereik, zoals 0-100. int flex0to100 = kaart(flexSensorReading, 512, 614, 0, 100); Serieel.println(flex0to100); vertraging(250); // gewoon hier om de uitvoer te vertragen voor gemakkelijker lezen
Documenten / Bronnen
![]() |
ARDUINO 334265-633524 Sensor Flex lang [pdf] Gebruikershandleiding 334265-633524, 334265-633524 Sensor Flex Lang, Sensor Flex Lang, Flex Lang, Lang |

