Het bouwen van een $30k CyberGlove voor $40 - afkomstig van BayLab voor de Instructables sponsoring programma (6 / 7 stap)

Stap 6: Code

De snelste manier om te beginnen is met behulp van de ingebouwde analoge pot schets die wordt geleverd met Arduino. Ik zal je laten zien de code die ik heb geschreven, maar u zult moeten aanpassen voor uw eigen behoeften. Het laten zien hoe je de schaal van de waarden en geeft u een goede sjabloon wel.

Deze eerste schets hardcoded waarden gebruikt voor de pot. Dat wil zeggen, ik zag wat Arduino-uitgang voor de posities van het max en min van de pot en gebruikt die om erachter te komen hoeveel de vinger is verhuisd:

/*
AnalogReadSerial
Een analoge input op pin 0, leest, wordt het resultaat naar de seriële monitor afgedrukt.
Sluit het centrum pin van een potentiometer aan pin A0, buiten pinnen aan + 5V en de grond.

Deze voorbeeldcode is in het publieke domein.
*/

float analog0;
float analog1;
float analog2;
float analog3;
float analog0_close;
float analog1_close;
float analog2_close;
float analog3_close;
float analog0_open;
float analog1_open;
float analog2_open;
float analog3_open;

de setup-routine wordt uitgevoerd zodra wanneer u drukt op reset:
VOID Setup {}
Initialiseer seriële communicatie met 9600 bits per seconde:
Serial.begin(9600);
Serial.println ("Using hardcoded max en min");
}

de routine van de lus wordt uitgevoerd over en weer forever:
void loop {}
analog0 = analogRead(A0);
analog1 = analogRead(A1);
analog2 = analogRead(A2);
analog3 = analogRead(A3);

Schaal van de waarden naar een bereik van [0,1]
scaled_thumb drijven (analog0 - 854.00) = /(920.00-854.00);
scaled_point drijven (analog1 - 860.00) = /(923.00-860.00);
scaled_middle drijven (analog2 - 862.00) = /(913.00-862.00);
scaled_ring drijven (analog3 - 848.00) = /(902.00-848.00);
Als (scaled_thumb < 0,00) {}
scaled_thumb = 0,00;
}
Als (scaled_point < 0,00) {}
scaled_point = 0,00;
}
Als (scaled_middle < 0,00) {}
scaled_middle = 0,00;
}
Als (scaled_ring < 0,00) {}
scaled_ring = 0,00;
}

Serial.Print ("duim:");
Serial.Print(scaled_thumb);
Serial.Print ("punt:");
Serial.Print(scaled_point);
Serial.Print ("Midden:");
Serial.Print(scaled_middle);
Serial.Print ("Ring:");
Serial.println(scaled_ring);
Serial.Print(scaled_point);

delay(1);        vertraging in leest tussen voor stabiliteit. Gebruik dit voor foutopsporing

}

Hier is een andere versie schreef ik dat probeert te kalibreren van de posities van het max en min aan het begin. Ik vond dat dit niet helemaal zo goed te werken vanwege de plooibaarheid van mijn handschoen.

/*
AnalogReadSerial
Een analoge input op pin 0, leest, wordt het resultaat naar de seriële monitor afgedrukt.
Sluit het centrum pin van een potentiometer aan pin A0, buiten pinnen aan + 5V en de grond.

Deze voorbeeldcode is in het publieke domein.
*/

float analog0;
float analog1;
float analog2;
float analog3;
float analog0_close;
float analog1_close;
float analog2_close;
float analog3_close;
float analog0_open;
float analog1_open;
float analog2_open;
float analog3_open;

de setup-routine wordt uitgevoerd zodra wanneer u drukt op reset:
VOID Setup {}
Initialiseer seriële communicatie met 9600 bits per seconde:
Serial.begin(9600);
Serial.println("Calibrating...");
Serial.println ("Open hand.");
delay(2000);
analog0 = analogRead(A0);
analog1 = analogRead(A1);
analog2 = analogRead(A2);
analog3 = analogRead(A3);

analog0_open = analog0;
analog1_open = analog1;
analog2_open = analog2;
analog3_open = analog3;
Serial.Print ("verworven:");
Serial.Print(analog0_open);
Serial.Print("");
Serial.Print(analog1_open);
Serial.Print("");
Serial.Print(analog2_open);
Serial.Print("");
Serial.println(analog3_open);

Serial.println ("nauwe hand");
delay(2000);
analog0 = analogRead(A0);
analog1 = analogRead(A1);
analog2 = analogRead(A2);
analog3 = analogRead(A3);
analog0_close = analog0;
analog1_close = analog1;
analog2_close = analog2;
analog3_close = analog3;

Serial.Print ("verworven:");
Serial.Print(analog0_close);
Serial.Print("");
Serial.Print(analog1_close);
Serial.Print("");
Serial.Print(analog2_close);
Serial.Print("");
Serial.println(analog3_close);

Serial.println ("Kalibratie voltooid.");
Serial.println("running...");
delay(2000);
}

de routine van de lus wordt uitgevoerd over en weer forever:
void loop {}
analog0 = analogRead(A0);
analog1 = analogRead(A1);
analog2 = analogRead(A2);
analog3 = analogRead(A3);
de waarde die u leest uitprinten:
Serial.Print ("duim:");
Serial.Print(analog0);
Serial.Print ("punt:");
Serial.Print(analog1);
Serial.Print ("Midden:");
Serial.Print(analog2);
Serial.Print ("Ring:");
Serial.println(analog3);
Schaal van de waarden naar een bereik van [0,1]
zweven scaled_thumb = (analog0 - analog0_open) / (analog0_close - analog0_open);
zweven scaled_point = (analog1 - analog1_open) / (analog1_close - analog1_open);
zweven scaled_middle = (analog2 - analog2_open) / (analog2_close - analog2_open);
zweven scaled_ring = (analog3 - analog3_open) / (analog3_close - analog3_open);

Serial.Print ("duim:");
Serial.Print(scaled_thumb);
Serial.Print ("punt:");
Serial.Print(scaled_point);
Serial.Print ("Midden:");
Serial.Print(scaled_middle);
Serial.Print ("Ring:");
Serial.println(scaled_ring);

delay(1);        vertraging in tussen leest voor stabiliteit

}

Gerelateerde Artikelen

Bouwen van een Linux Cluster - afkomstig van BayLab voor de Instructables sponsoring programma

Bouwen van een Linux Cluster - afkomstig van BayLab voor de Instructables sponsoring programma

ooit wilde hebben een Linux cluster naar crunch nummers? Deze handleiding krijgt u begonnen over het opzetten van een cluster die automatisch laden kunt evenwicht threads en help die u leren hoe supercomputers werken. Deze afbeelding is wat mijn kame
Nog een andere goedkope Quadrotor - afkomstig van BayLab voor de Instructables sponsoring programma

Nog een andere goedkope Quadrotor - afkomstig van BayLab voor de Instructables sponsoring programma

als fundamenteel iedereen deze dagen, ik wilde om te bouwen van een quadrotor. Hier is hoe ik mijn gebouwd voor vrij goedkoop.Stap 1: Mechanisch ontwerp ik mijn quadrotor gebouwd met een vriend. Ik gebruikte sommige dunne aluminium punthaak van Home
DIY Portable Breathalyzer - afkomstig van BayLab voor de Instructables sponsoring programma

DIY Portable Breathalyzer - afkomstig van BayLab voor de Instructables sponsoring programma

detecteren uw BAC wih een pocket sized breathalyzer.Stap 1: DisclaimerVoordat we beginnen, een disclaimer. Dit is niet bedoeld om te worden gebruikt om te vertellen als je ok om te rijden bent of niet. Het is niet zo nauwkeurig als een politie breath
Mr. Tea, de teedrinkster alternatief aan Mr. Coffee - afkomstig van BayLab voor de Instructables sponsoring programma

Mr. Tea, de teedrinkster alternatief aan Mr. Coffee - afkomstig van BayLab voor de Instructables sponsoring programma

de meeste mensen willen drinken koffie in de ochtend, maar ik houd niet van koffie, dus ik drink thee. Ik wilde een eenvoudig apparaat om me thee te helpen, maar echte thee makers kost ongeveer $300. Ik hoef niet eens een volledige koffiezetapparaat
Hacken plantengroei - afkomstig van BayLab voor de Instructables sponsoring programma

Hacken plantengroei - afkomstig van BayLab voor de Instructables sponsoring programma

wilt kappen van uw planten op een genetische niveau en laten groeien enorme? Dit instructable zal u tonen hoe!Stap 1: Gibberellinezuur Gibberellinezuur is een natuurlijk voorkomende plant groeihormoon. Planten produceren normaliter GA, en het is wat
Reuze Web gereguleerde Rover - afkomstig van BayLab voor de Instructables sponsoring programma

Reuze Web gereguleerde Rover - afkomstig van BayLab voor de Instructables sponsoring programma

dit Instructable zal u tonen hoe te een PowerWheels auto zetten in een web gecontroleerde rover. Ik zal u laten zien hoe zelfs de oudste, junkiest PowerWheels auto zet in een snelle telepresence auto.Stap 1: Prepping de auto PowerWheels auto's zijn n
Brain gereguleerde muziek Generator - afkomstig van BayLab voor de Instructables sponsoring programma

Brain gereguleerde muziek Generator - afkomstig van BayLab voor de Instructables sponsoring programma

zou het niet gaaf zijn als je kon muziek op basis van je hersenactiviteit maakt? Volg dit instructable en ik zal je laten zien hoe!Stap 1: Het Platform Voor dit project, moet u een manier om te lezen van de hersengolven. Een van de goedkoopste manier
Magic Eye Tube - afkomstig van BayLab voor de Instructables sponsoring programma

Magic Eye Tube - afkomstig van BayLab voor de Instructables sponsoring programma

A Magic Eye buis is een oud apparaat dat oorspronkelijk werd gebruikt om aan te geven hoe goed een radio was afgestemd op een specifiek station. In dit Instructable, leert u hoe te te werken Magic Eye buizen, waar u hen, de verschillende soorten buiz
RC kan / cilinder - afkomstig van BayLab voor de Instructables sponsoring programma

RC kan / cilinder - afkomstig van BayLab voor de Instructables sponsoring programma

een paar jaar geleden, er was een commercial die liep voor Chef-Boyardee dat had een blikje soep na een klein meisje thuis. U kunt hier zien:zijn niet echt betekenen niets totdat ik keek rond de m5 Industries website. M5 is een bedrijf van de special
6 tips om het bouwen van een betere Cross-cut slee voor uw Tablesaw

6 tips om het bouwen van een betere Cross-cut slee voor uw Tablesaw

een slee Kruis-snede voor de tabel zag is een must hebben mal voor elke serieuze schrijnwerker. Nauwkeuriger dan een miter gauge, het maakt ook sectoroverschrijdende elk bord gemakkelijk en veilig. Echter, zodat de juiste resultaten het moet worden g
Instructie voor het bouwen van een eenvoudige schakeling

Instructie voor het bouwen van een eenvoudige schakeling

Deze instructie wordt gebruikt voor het bouwen van een eenvoudige schakeling. Het is nuttig voor de beginners van het leren van de circuits. Als u houden elektrotechniek studeren wilt, moet u om te bouwen van allerlei complexe schakeling later. Dit c
Het bouwen van een Bluetooth Intercom voor fietstochten, motorfiets rijdt, spionage, algemene chaos, enz...

Het bouwen van een Bluetooth Intercom voor fietstochten, motorfiets rijdt, spionage, algemene chaos, enz...

In dit instructable ik zal je laten zien hoe het bouwen van een draadloze intercom voor korte afstand tweewegcommunicatie. U kunt dit gebruiken om te chatten met een andere persoon op een fietstocht of motorfiets rijdt met helm gemonteerde bluetooth
Hoe het bouwen van een goedkope werkbank voor houtbewerking met behulp van een mal van Kreg HD, met VIDEO tutorial

Hoe het bouwen van een goedkope werkbank voor houtbewerking met behulp van een mal van Kreg HD, met VIDEO tutorial

Gratis plannen zijn ook hierna beschikbaar in Imperial en Metric.Stap 1: Zie volledige Video Tutorial Video hier.Warren uit één hout Tools toont hoe het bouwen van een goedkope en makkelijke eiland houtbewerking werkbank met hond gaatjes, gewrichten
Gids voor het bouwen van een Reverse Osmose hydrocultuur filter opstarten

Gids voor het bouwen van een Reverse Osmose hydrocultuur filter opstarten

Hey iedereen, dit is een basisgids voor de planning van een RO (omgekeerde osmose) en hydrocultuur waterfilter. Dit instructable zorgt voor enkele basisstappen, persoonlijke ervaringen en informatie die u moet helpen u bij het bouwen van een RO hydro