Robotic Hand kontrolleras av Power Glove (3 / 4 steg)
Steg 3: kod
I de viktigaste handlingarna av arduino skiss, var och en av de fem flex sensorerna mappas till analoga ingångar 0 till 4 medan motsvarande servon är mappade till de analoga stift på den digitala sidan 5,6,9,10 och 11 respektive. Som ni kan se, förklarar den huvudsakliga arkivera objekt tummen, index, mitten, ring och pinky baserat på klassen Finger. I setup-funktionen initierar varje objekt servo initiera funktionen av Finger medan i looping funktion varje objekt ständigt uppdaterar positionen för varje servo enligt flex sensorns behandlingen.
Sidhuvudfilen klass Finger innehåller alla de förklaringar som associeras med klassen. FlexSensorPin och servoPin stift och servo siffran förklaras som, tillsammans med den rörliga flexSensorReading som innehåller mappningen från raw motstånd avläsningarna från flex sensorerna. Variabel flex innehåller mappningen från flexSensorReading mappas till en mer strömlinjeformad paramater. Funktionerna attachServoPin och updateFinger förklaras också. Konstruktören är närvarande utan parametrar helt enkelt för att deklarationen av objekt.
Klassfil för klass Finger innehåller alla funktionsdefinitioner för varje Finger objekt. Vid första, har konstruktören initierats. Efter det, är funktionen attachServoPin som fäster en servoPin en motsvarande servo och initierar att servo. Nästa är updateFinger som är baserat på parametern flexSensorPin. För att förstå vad funktionen gör, måste du först förstå vad som pågår i kontrollsystemet. Varje flex sensor har ett motstånd läsa matas till arduino. Utan kod, flex sensor spelar ingenting utom foder i behandlingen. Vad arduino är kodad för att göra är att läsa motståndet varje flex sensor utgångar när böjda eller unbent och mappar dessa värden till servon.
Tänk på varje sensor har en 22 kilo-ohm resistor för att mata i hanterbara och smidig ingång till arduino, varför skiss parametrarna är mycket i förhållande till vad motstånd är närvarande i varje krets. Så fungerar updateFinger kartor dessa flex sensor motstånd avläsningar till en variabel flex, beroende på den pin-kod. Detta är eftersom varje finger objekt har sitt eget motstånd sortiment från böjd att unbent unika Pågrund av strukturera av fingrar på en hand. Det är där om villkorliga satser kommer i. Variabel flex kartor dessa motståndet varierar från godtyckliga värden till 0 och 100. Detta, mer matas läsning, sedan in i servo kartläggning linje, som ses i slutet, för att flytta servon från 0 grader till 180 grader när sensorn är unbent och böjda.