Bygga en $30k CyberGlove för $40 - inskickad av BayLab för Instructables Sponsring programmet (6 / 6 steg)

Steg 6: kod


Det snabbaste sättet att komma igång är med den inbyggda analoga potten skiss som kommer med Arduino. Jag ska visa dig koden jag skrev, men måste du ändra den för dina egna behov. Det visar du hur du skala värden och ger dig en bra mall dock.

Denna första skiss använder hårdkodade värden för potten. Det är, jag såg vad Arduino utgång för max och min placerar av potten och brukade de räkna ut hur mycket finger har flyttat:

/*
AnalogReadSerial
Läser en analog ingång på stift 0, skriver ut resultatet till seriell bildskärmen.
Bifoga mittstiftet av en potentiometer pin A0, utanför pins till + 5V och jord.

Denna exempelkod är offentlig.
*/

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;

Rutinen installationsprogrammet körs en gång när du trycker på reset:
void setup() {
initiera seriell kommunikation på 9600 bitar per sekund:
Serial.BEGIN(9600);
Serial.println ("använda hårdkodade max och min");
}

loop rutinen körs för evigt om och om igen:
void loop() {
analog0 = analogRead(A0);
Analog1 = analogRead(A1);
Analog2 = analogRead(A2);
Analog3 = analogRead(A3);

Skala värdena för en rad [0,1]
flyta scaled_thumb = (analog0 - 854.00) /(920.00-854.00);
flyta scaled_point = (analog1 - 860.00) /(923.00-860.00);
flyta scaled_middle = (analog2 - 862.00) /(913.00-862.00);
flyta scaled_ring = (analog3 - 848.00) /(902.00-848.00);
om (scaled_thumb < 0,00) {
scaled_thumb = 0.00;
}
om (scaled_point < 0,00) {
scaled_point = 0.00;
}
om (scaled_middle < 0,00) {
scaled_middle = 0.00;
}
om (scaled_ring < 0,00) {
scaled_ring = 0.00;
}

Serial.Print ("tumme:");
Serial.Print(scaled_thumb);
Serial.Print ("punkt:");
Serial.Print(scaled_point);
Serial.Print ("mellersta:");
Serial.Print(scaled_middle);
Serial.Print ("Ring:");
Serial.println(scaled_ring);
Serial.Print(scaled_point);

Delay(1); fördröjning mellan läsningar för stabilitet. Använda detta för felsökning

}

Här är en annan version jag skrev som används för att kalibrera de högsta och lägsta ståndpunkterna i början. Jag hittade detta inte arbete lika bra på grund av böjligheten hos min handske.

/*
AnalogReadSerial
Läser en analog ingång på stift 0, skriver ut resultatet till seriell bildskärmen.
Bifoga mittstiftet av en potentiometer pin A0, utanför pins till + 5V och jord.

Denna exempelkod är offentlig.
*/

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;

Rutinen installationsprogrammet körs en gång när du trycker på reset:
void setup() {
initiera seriell kommunikation på 9600 bitar per sekund:
Serial.BEGIN(9600);
Serial.println("Calibrating...");
Serial.println ("öppen 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 ("förvärvat:");
Serial.Print(analog0_open);
Serial.Print("");
Serial.Print(analog1_open);
Serial.Print("");
Serial.Print(analog2_open);
Serial.Print("");
Serial.println(analog3_open);

Serial.println ("nära håll");
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 ("förvärvat:");
Serial.Print(analog0_close);
Serial.Print("");
Serial.Print(analog1_close);
Serial.Print("");
Serial.Print(analog2_close);
Serial.Print("");
Serial.println(analog3_close);

Serial.println ("kalibrering fullständig.");
Serial.println("Running...");
Delay(2000);
}

loop rutinen körs för evigt om och om igen:
void loop() {
analog0 = analogRead(A0);
Analog1 = analogRead(A1);
Analog2 = analogRead(A2);
Analog3 = analogRead(A3);
skriva ut värdet du läsa:
Serial.Print ("tumme:");
Serial.Print(analog0);
Serial.Print ("punkt:");
Serial.Print(Analog1);
Serial.Print ("mellersta:");
Serial.Print(Analog2);
Serial.Print ("Ring:");
Serial.println(Analog3);
Skala värdena för en rad [0,1]

Se Steg
Relaterade Ämnen

Bygga ett Linux-kluster - inskickad av BayLab för Instructables Sponsring programmet

någonsin ville ha en Linux-kluster att kritan siffrorna? Denna guide kommer att komma igång om att inrätta ett kluster som kan automatiskt ladda balans trådar och hjälp du lära dig hur superdatorer fungerar. Denna bild är hur mitt rum såg ut när jag...

DIY bärbara alkoholmätare - inskickad av BayLab för Instructables Sponsring programmet

identifiera din BAC wih en ficka storlek alkoholmätare.Steg 1: DisclaimerInnan vi börjar, en ansvarsfriskrivning. Detta är inte tänkt att användas för att berätta om du är ok att köra eller inte. Det är inte lika exakt som en polis breathalyzer och b...

Giant Web kontrollerade Rover - inskickad av BayLab för Instructables Sponsring programmet

detta Instructable visar dig hur du sätter en PowerWheels bil till en web kontrollerade rover. Jag ska visa dig hur du sätter även den äldsta, junkiest PowerWheels bil till en snabb telepresence bil.Steg 1: Prepping bilen PowerWheels bilar är inte så...

Ännu ett billigt Quadrotor - inskickad av BayLab för Instructables Sponsring programmet

som i princip alla dessa dagar, jag ville bygga en quadrotor. Här är hur jag byggde min för ganska billigt.Steg 1: Mekanisk konstruktion jag byggde min quadrotor med en vän. Jag använde några tunna aluminium vinkelparentes från Home Depot som struts....

Brain kontrollerade musik Generator - inskickad av BayLab för Instructables Sponsring programmet

skulle inte det vara häftigt om du kunde skapa musik baserat på din hjärnaktivitet? Följ detta instructable och jag ska visa dig hur!Steg 1: Plattformen För detta projekt behöver du ett sätt att läsa hjärnvågor. En av de billigaste sätten är att hack...

Magic Eye Tube - inskickad av BayLab för Instructables Sponsring programmet

A Magic Eye röret är en gammal enhet som användes ursprungligen för att indikera hur väl en radio var inställd på en viss station. I detta Instructable, lär du Magic Eye rören arbeta, var du kan få dem, olika typer av rör och använda dem i dina proje...

Hacking växters tillväxt - inskickad av BayLab för Instructables Sponsring programmet

vill hacka dina växter på genetisk nivå och gör dem växa enormt? Detta instructable visar dig hur!Steg 1: gibberellinsyra Gibberellinsyra är ett naturligt förekommande växt tillväxthormon. Växter producerar normalt GA, och det är vad reglerar deras t...

RC kan / Cylinder - inskickad av BayLab för Instructables Sponsring programmet

ett par år sedan, det var en reklamfilm som sprang för kocken Boyardee som hade en burk soppa efter en liten flicka hem. Du kan se det här:hans menade verkligen något tills jag letade runt m5 Industries hemsida. M5 är en specialeffekter i San Fransic...

Mr Tea, te dricker alternativ till Mr Coffee - inskickad av BayLab för Instructables Sponsring programmet

de flesta människor gillar att dricka kaffe på morgonen, men jag gillar inte kaffe, så jag dricker te. Jag ville ha en enkel anordning för att hjälpa mig göra te, men faktiska tebryggare kostnad runt omkring $300. Jag behöver inte ens en full kaffebr...

Enkel 18dof Hexapod, Arduino nano (eventuellt med pololu maestro)

Hej,Här är en enkel hexapod som kan byggas för hand mycket snabbt. Den mekaniska konstruktionen är inte stor, men det är mycket i KYSSEN (hålla det dumt enkelt) stil och bör vara genomförbart i en helg för byggare av nybörjare till medellång erfarenh...

Verktyg: DIY hjälpande händer verktyg och Material innehavaren från PVC

på ATXHackerspace och i min hem butik, jag finner mig ofta som önskar jag hade en andra uppsättning händer att hålla objekt på plats medan jag arbetar på dem - antingen limning, målning, slipning etc. Jag blev inspirerad av uppsättningen "helping han...

Bygga en Tactor till Experiment med Haptic Feedback

Experiment med haptiska (touch) feedback gränssnitt genom att bygga din egen "tactor" (taktila stimulator). Även om kommersiella tactors kosta hundratals dollar, kan denna en (Fig. 1) byggas för under tio dollar.Inskickad av Ace Monster leksaker...

Hur man bygger en läsk flaska Rocket Launcher

hur man bygger en läsk flaska Rocket LauncherSå vi var med arbete picknick och vi ville ha ganska nördigt roligt... föreslogs en läsk flaska Rocket Launch... problemet är vi inte hade en programstartare och picknick var kommer upp snart! Frukta, bygg...

Bygga din egen "Turbo tid" 555 Timer Demonstration

vad gör en 555 Timer?Vår maker utrymme, The Rabbit Hole hade nyligen en Jameco bygga natt där vi (detta projekt var arbetade på av medlemmar i gruppen Mazzmn, Hydrotron och theZuke) experimenterade med 555 timers och andra saker. Detta Instructable v...

Bygga din egen låg kostnad Pickup Truck kanot Rack

det är prime paddling väder och vår Maker utrymme "The Rabbit Hole" planerat en kanottur, awesome!Problemet är, jag hade en kanot för vår egen, och en lastbil, men ingen kanot rack (och ville inte köra ända till floden med en 15 fot kanot hängan...

A10C Cockpit Overlay

inskickad av Ace Monster leksaker för Instructables Sponsring programmet:Jag har varit i flygsimulatorer för ett antal år. Jag beslutade att bygga en fullt slagsmål simulator av en A - 10c WartHog.En Sim grop, är ett försök att spendera så mycket pen...

Ute dörren eld grop

detta är ett lätt sätt att bygga en permanent eldgrop för din stuga, hus eller campingområdet. Detta kommer att ta om en hel dag att göra om du tar din tid och se till att du följer varje steg och se till att allt är på plats.Inskickad av Powell Midd...

Enkel kyckling grubblare från en apple låda (eller trälåda)

en kyckling grubblare är en mycket enkel sak att intensifiera och gör att din kycklingar att växa i säkerhet och komfort. Jag ska visa dig hur man bygger en enkel grubblare box från en apple spjällådan.Inskickad av Powell Middle School för Instructab...

Improviserade folkmusik fiol

använda lokala och scrounged material för att bygga en fiol.sedan,Lär dig spela fiol.Jag byggde denna funktionella folkmusik fiol från gratis material.trät bärgades från scrapssträngar och båge "hår" är nylon monofilamentgarn fiskelinaJag tillbr...