Förstärkt Hyper-Reality handske (5 / 8 steg)

Steg 5: Arduino, träffa Wave sköld.



"Hej Wave sköld. Min min har du en fin volym knopp "..." Oh! Åh, Tack herr italienska smidig prata..."

Ledsen, jag avvika.

Här är vad vi kommer inte att visa dig: tre timmar av LÖDNING! Vad är bra med Lady Ada och hennes härliga produkter är att de är billiga och de har riktigt bra instruktioner! Plus, damen, håller kostnaderna nere genom att inte samla styrelser och i sin tur du lära dig att löda som en robot! Vad suger, sökvägen till lödning som en robot är akin promenad Dante tog med Vergilius.

Inte vara skerd! Lödning är en stor skicklighet!

Nästa sak att göra är att följa "Använda det" tutorial på WAVE SKÖLDEN att lära sig hur man... uh... använda den. Detta innebär användning av SD-kort FORMATTER och kort, att få filerna på kortet och får koden! Vår kod är postat nedan. DETTA KRÄVER EN HEL DEL NYA ARDUINO ANVÄNDARE! Inte bli avskräckta om det inte går smidigt. Det inte för oss heller.

KOD: Nedan här, kopiera och klistra in din Arduino IDE.

#include "FatReader.h"
#include "SdReader.h"
#include
#include "WaveUtil.h"
#include "WaveHC.h"

SdReader kort; Detta objekt innehåller information för kortet
FatVolume vol; Detta innehåller information för partitionen på kortet
FatReader rot. Detta innehåller information för filsystemet på kortet
FatReader f; Detta innehåller information för filen vi spelar
WaveHC våg; Detta är enda våg (audio)-objektet, eftersom vi bara kommer att spela en i taget
uint8_t dirLevel; indrag för fil/dir namnen (prettyprinting)
dir_t dirBuf; buffert för katalog läsningar

void setUsUpTheCard(void) {
pinMode (2, utgång);
pinMode (3, OUTPUT);
pinMode (4, OUTPUT);
pinMode (5, OUTPUT);

om (! card.init(true)) {//play med 4 MHz spi om 8MHz inte fungerar för dig
om (! card.init()) {//play med 8 MHz spi (standard snabbare!)
putstring_nl ("kort init. misslyckades!"); Något gick fel, kan skriva ut varför
sdErrorCheck();
While(1); sedan 'stoppa' - gör ingenting!
}
Nu söker vi en FAT-partition!
uint8_t del;
för (del = 0; del < 5; del ++) {/ / vi har upp till 5 platser att titta i
om (vol.init (kort, del))
bryta; Vi hittade en, låter borgen
}
om (del == 5) {/ / om vi slutade inte att hitta en :(
putstring_nl ("ingen giltig FAT-partition!");
sdErrorCheck(); Något gick fel, kan skriva ut varför
While(1); sedan 'stoppa' - gör ingenting!
}
Försök öppna rotkatalogen
om (! root.openRoot(vol)) {
putstring_nl kan inte ("öppna rotfästa dir!"); Något gick fel,
While(1); sedan 'stoppa' - gör ingenting!
}
Usch! Vi fick tidigare de hårda delarna.
putstring_nl ("filer som hittas:");
dirLevel = 0;
Skriva ut alla filer i alla kataloger.
lsR(root);
}

/*
* lista rekursivt - möjligt stackspill om underkataloger för kapslade
*/
void lsR (FatReader & d)
{
int8_t r; Anger nivån av rekursion

medan ((r = d.readDir(dirBuf)) > 0) {/ / läsa nästa fil i katalogen
hoppa över subdirs. och...
om (dirBuf.name[0] == ".")
fortsätta;

för (uint8_t jag = 0; jag < dirLevel; i ++)
Serial.Print(' '); Detta är för prettyprinting, sätta utrymmen framför
printName(dirBuf); skriva ut namnet på den fil som vi bara finns
Serial.println(); och en ny rad

om (DIR_IS_SUBDIR(dirBuf)) {/ / vi kommer recurse på någon direcory
FatReader s; göra ett nya katalogobjekt för informationen
dirLevel += 2. strecksatsen 2 utrymmen för framtida utskrifter
om (s.open (vol, dirBuf))
lsR(s); lista alla filer i denna katalog nu!
dirLevel-=2; ta bort extra indraget
}
}
sdErrorCheck(); gör vi OK?
}

/*
* Skriv ut dir_t namnfältet. Utdata är 8.3-format, så som ljud. WAV eller filnamn. DAT
*/
void printName (dir_t & dir)
{
för (uint8_t jag = 0; jag < 11; i ++) {/ / 8.3-format har 8 + 3 = 11 bokstäver i det
om (dir.name[i] == "")
fortsätta; Skriv inte ut några mellanslag i namnet
om (jag == 8)
Serial.Print('.'); efter den 8: e bokstaven, placera en punkt
Serial.Print(dir.name[i]); skriva ut den n: te siffran
}
om (DIR_IS_SUBDIR(dir))
Serial.Print('/'); kataloger get a / i slutet
}

Spelar en full fil från början till slut med ingen paus.
void playcomplete(char *name) {
Ring vår hjälpare för att hitta och spela detta namn
playfile(Name);
samtidigt (wave.isplaying) {
göra ingenting samtidigt dess spelar
}
dess gjort spelar nu
}

void playfile(char *name) {
se om objektet våg för närvarande gör något
om (wave.isplaying) {/ / redan spelar något, så sluta det!
Wave.stop(); Sluta
}
titta i rotkatalogen och öppna filen
om (! f.open (rot, namn)) {
putstring kunde inte ("öppna filen"); Serial.Print(Name); hemkomst.
}
OK läsa filen och förvandla det till en våg objekt
om (! wave.create(f)) {
putstring_nl ("inte en giltig WAV"); hemkomst.
}

OK dags att spela! starta uppspelningen
Wave.Play();
}

void sdErrorCheck(void)
{
om (! card.errorCode()) återvända;
putstring ("SD i/o-fel:");
Serial.Print(Card.ErrorCode(), HEX);
putstring (",");
Serial.println(Card.errorData(), HEX);
While(1);
}

/*************************************
* DETTA ÄR BRA GREJER ***
*************************************/

int tilt_port = 13. Digital port tilt sensorn är på
int tilt_original; har början position av tilt sensor
faux accelerometer åtgärder

void setup() {
Serial.BEGIN(9600);

pinMode (tilt_port, ingång);
int tilt_original = digitalRead(tilt_port);

setUsUpTheCard(); initiera Wave sköld
}

int tumme = 0;
int pekaren = 0;
int mitten = 0;
int ring = 0;
int pinky = 0;
int tilt_waiting = 0;
int tilt_inmotion = 0;

int hoprullade = 0;
int curled_previous = 0;

void loop() {
int tumme = analogRead(A4);
int pekaren = analogRead(A3);
int mitten = analogRead(A2);
int ring = analogRead(A1);
int pinky = analogRead(A0);

hoprullade = 0;

/*
* tummen verkar vara b0rked
* slumpmässigt (?) pinnar på 0
* så låt oss strunta i det
*/
om (tumme > 120) {
ringlad += 1;
}
om (pekaren > 150) {
ringlad += 10.
}
/*
* långfingret är till synes alltid på
* så låt oss strunta i det
*/
om (mellersta > 130) {
ringlad += 100.
}
om (ring > 170) {
ringlad += 1000;
}
om (pinky > 120) {
ringlad += 10000;
}

om (hoprullade > = 11100) {
tilt_check ("PUNCH", "PUNCH. WAV");
} annat {
tilt_check ("GUN", "GUN. WAV");
}
/*
om (hoprullade == 0) {
Karate CHOP!
tilt_check ("hacka", "CHOP. WAV");
} else om (hoprullade == 1000 + 10000) {
GUN
tilt_check ("GUN", "GUN. WAV");
} else om (hoprullade == 9999) {
SPIIIIIDEY-MAN
tilt_check ("Spider", "SPIDEY. WAV");
} else om (hoprullade == 10 + 1000 + 10000) {
KNYTNÄVE
tilt_check ("PUNCH", "PUNCH. WAV");
}
*/
Serial.Print ("tumme:"); Serial.println(thumb);
Serial.Print ("pekaren:"); Serial.println(Pointer);
Serial.Print ("mellersta:"); Serial.println(Middle);
Serial.Print ("ring:"); Serial.println(Ring);
Serial.Print ("pinky:"); Serial.println(Pinky);
Serial.Print ("hoprullade:"); Serial.println(curled);
Serial.println("");
Delay(15);
}

void reset_check (int återställa = 0) {
om (Återställ || hoprullade! = curled_previous) {
tilt_waiting = 0;
tilt_inmotion = 0;
curled_previous = hoprullade;
}
}

void tilt_check (String budskap, char * filnamn) {
reset_check();
int tilt = digitalRead(tilt_port);
Serial.println(Tilt);
om (! tilt_waiting) {
tilt_waiting = 1;
tilt_original = tilt;
} annat {
om (luta! = tilt_original) {
tilt_inmotion = 1;
}
om (tilt_inmotion & & luta == tilt_original) {
Serial.println(Message);
Serial.println(filename);
playcomplete(filename);
reset_check(1);
}
}
}

Se Steg
Relaterade Ämnen

Förstärkt verklighet Tutorial - PizzaSalad! (Android)

Hej alla!Denna handledning handlar om att göra egna förstärkt verklighet app på android. Jag bara kom över den här bara häromveckan, och har gjort dem icke-stop; Det kan vara ganska rakt fram, men awesomely givande när klar. För det första skulle jag...

Förstärkt verklighet i Unity 3D

I denna tutorial, kommer jag att visa dig hur du skapar en enkel förstärkt verklighet värld med Vuforia SDK för Unity 3D. Anledningen till jag välja ramen, var att det såg lätt och är gratis. Låt oss komma igång!Steg 1: förutsättningarInnan bygga din...

Imprint ljud och radiovågor på din näthinna: förstärkt verklighet med perfekt anpassning

Med S.W.I.M. (sekventiell Imprinting vågmaskin) kan du se annars osynliga ljud vågor och radiosände vinkar, tryckt på din näthinna, på fotografiska medier eller glasögon/kamera.Detta beror på något jag samtalet Phenomenological eller fenomenal Augmen...

Förstärkt verklighet julkort (TfCD)

Oförglömlig jul av imponera på din familj med en futuristiska hemgjorda julkort!Augmented Reality (AR) är en kommande och awesome teknik. Det kan du lägga till virtuella grafik till verkligheten genom en skärm och kamera eller en projektion. Den är t...

Förstärkt verklighet med hjälp av Unity3D, Vuforia och Arduino

Mer Augmented Reality finns tutorials här:1.2.3.4.5.Steg 1: Förstärkt verklighet med hjälp av Unity3D och Vuforia (del 1)Hämta allt nedan och följ instruktionerna i videon ovan:Hämta # Unity3D (Hämta och installera det) (*.exe-fil)Unity3D finns också...

Commander Shepard stål förstärkt Uniform - Mass Effect 3

Hej alla,Detta är mitt andra år att göra en "episk" Halloween-kostym. Jag började arbeta på September 21st 2012 och avslutades den 30 oktober.Jag bygger min kostym på ett enhetligt från populära TV-spelet Mass Effect. Det avspeglar specifikt Com...

Förstärkt bok prototyp

Intro:Denna tutorial är för en förstärkt verklighet boken med en Kinect 360 och en projektor. Kinect spårar position boken via dess kamera, så du kan flytta och projektionen kommer att följa förslaget om boken. Du kan till exempel projektet 3D elemen...

Förstärkt Paracord Ring Hitch

Ring hitch, även känd som cow hitch, kan Logoband hitch, Lärka huvud, bale sling hitch, och har antagligen går av några andra monikers, ibland enkelt lossa upp eller få slack när inte under spänning med vissa typer av "hala" tågvirke, som nylon...

Realistiskt, Animatronic Lion Mask med stereo night vision och förstärkt hörsel

detta är fullständiga steg för steg bygga en realistisk lejon maskera med rörliga käkenmed stereo night vision/färg Visionsystem och förstärkt hörsel Bröstförstoring.Detta system var första raden prototyped i denna mask, andra har gjorts sedan dessso...

Förstärkt chock Cap

Jag körde min Rustler häromdagen och beslutade att ta bort ett stort hopp. Går första par var stor men då...Jag bestämde mig att ta det till fullgas.Inte den smartaste från min sida, bilen flög 20 fot innan näsan dykning i gräset omedelbart slet bort...

QR kod förstärkt lagring [Uppdaterad]

min fru och jag har precis flyttat appartments. Det slog oss aldrig riktigt fram till dess, men vi har massor av saker! När vi flyttade in, insåg vi vi inte hade mycket utrymme för att lagra saker i och när jag behöver något, jag ofta måste distraher...

Förstärkt PVC armborst med laminerade lager

Varning-inte vara dumt med vapen eller motordrivna verktyg de är farliga.Detta är inte tillräckligt kraftfullt för storvilt.Jag gjorde detta för min syster. Hon har visat visst intresse för bågskytte och jag kunde inte komma på något att få henne för...

Förstärkt vatten

Förstärkt vatten enheten hjälper dig att spara vatten genom att vrida röd efter en Liter. Enheten, byggdes av under en vatten hackathon, är tillverkad av en Arduino, en flödessensorn och färgade LED pixlar.Videohttps://www.flickr.com/photos/Tamberg/1...

Förstärkt verklighet med Google annonser låda 2 använder Youcam 5 - hur man gör den coolaste saker

följer min Youtubekanal: http://www.youtube.com/user/educatetowin?feature=mheeHemsida: http://www.educatetube.comVärd: SipskiMed förstärkt verklighet från Youcam 5 programvara och kombinera den med Google annonser låda, du kan göra en riktigt cool AR...

RC bil förstärkt del

Jag är Andreas, en 15-årig RC Racer från Belgien. Min passion är racing och maintenancing avlägsen kontrollerade bilar. Ett år sedan trodde jag; "Tja, dessa RC bilar kunde vara långt mer hållbara, och så tilld mer tillförlitliga. Så började jag desig...

Hur man fixar en långsamt laddning android smartphone + förstärkt integritet

Hej alla, tid för tredje Punk kärlek mönster identifiering tävling! Här är en doozy men priset denna gång är 1 år av Instructables.com pro service:En liten samling av ovanligt färgad vit mossa hittades växer kraftigt på tre stora stenar på kanta av /...

Förstärkt kort kit för modelljärnväg, järnväg eller diorama

Kortet som en modell att göra material har funnits under mycket lång tid. Men sedan införandet av plast kit i 1950-talet har det blivit något av ett rykte som den fattiga kusinen för några modellbyggare. Denna artikel kommer att försöka visa att, kor...

Förstärkt verklighet med Unity3D och Vuforia för dinosaurie rörelse kontroll med piltangenterna

Mer Augmented Reality finns tutorials här:1.2.3.4.5.6.7.8.9.10.11.12.13.14.Steg 1: Hämta allt nedan och följ instruktionerna i videonHämta # Unity3D (Hämta och installera den, om du inte har det redan) (*.exe-fil)Unity3D finns också att ladda ner frå...

Förstärkt verklighet med Unity3D och Vuforia för flera mål Tracking-Yu-Gi-Oh! Kortspel

Mer Augmented Reality finns tutorials här:1.2.3.4.5.6.7.8.9.10.11.Steg 1: Hämta allt nedan och följ instruktionerna i videonHämta # Unity3D (Hämta och installera den, om du inte har det redan) (*.exe-fil)Unity3D finns också att ladda ner från härHämt...