Enkla prov Betygsätt justerbar enhet



projektets namn: släpp.
Detta är ett mycket enkelt projekt och detta är också min första Instructables...

Projektbeskrivning:
En resonanslåda som spelar en fil av min röst och gör det möjligt för tittaren att sänka tonhöjden för min röst som filen spelas.

Vad motiverade av lappa:
Ett växande intresse för pedagogiska plattformar sådan Instructables och Maker samhällen att dela resurser och färdigheter - att främja nyfikenhet. Jag är intresserad av de sätt där teknik används, delas, fiktionaliserade och tillämpas. Jag valde att fokusera på akustiska fiction som en startpunkt för en konversation på byrån: placerade jag ett diagram över "spelare" som stakat ut på ett ganska träffande sätt den fysiologiska effekter, myter och program som är resultatet av ljud (tonhöjd och ljudstyrka) dess sänkning i Hz och loudness i dB. med allt från frekvens zon motsvarar ghost observationer, Brown Obs, Vladimir Gavreau sonic vapen och akustiska testning, ljudet av en bebis som gråter, granater, en motorcykel, rösten, etc.

Reservdelslista:
1. waveshield från adafruit: http://www.adafruit.com/products/94
2. arduino uno
3. perf styrelse
4. LED
5. tryckknapp
6. 10 K ohm motstånd (brun svart orange guld)
7. alla små högtalare / / jag använde en tech & go Laddningsbar högtalare: http://www.drugstore.com/tech-and-go-rechargable-portable-speaker-blue/qxp460069
8. projekt box
9. box för högtalare
10. Sugru http://sugru.com
11. audio skum / / skum
12. lödkolv

Första steget:
Löda vinkar sköld och formatera SD-kort om detta. Bra tutorials här:
http://www.robotshop.com/content/PDF/adafruit-Wave-Shield-user-guide.pdf
Observera att biblioteket används i denna tutorial är nu föråldrade. Hänvisa till gitHub att ladda ner den nya WaveHC bibliotek http://code.google.com/p/sdfatlib/downloads/list

Andra steget:
Krets
:
Eftersom jag ville göra min lilla spelare så intuitiv som möjligt, jag bestämde mig att lägga till en "play"-knappen som skulle bara spela upp filen (inte avbryta den), ett ljus som skulle vända på bara medan filen spelas och en potentiometer att bromsa samplingsfrekvensen för filen medan den spelas.

Kod:
/*................... Adafruit SampleRateMod.pde exempel ändras för att använda WaveHC.
Fil lekar när knappen trycks. Saktar samplingsfrekvens med pott på analoga 0.
Stort tack till WaveHC Library, Adafruit, David Casey, Tom Jennings!!!
Projekt: Nivå av DB
senast ändrad den 30 April 2013... * /
#include
#include

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 volymer rotmapp
FatReader fil. Det här objektet representerar WAV-fil
WaveHC våg; Detta är enda våg (audio)-objektet, eftersom vi bara kommer att spela en i taget

/*
* Definiera makro för att få felmeddelanden i flash-minne
*/
#define error(msg) error_P(PSTR(msg))

int buttonValue;
CONST int ledPin = 15. Detta är verkligen analog 1 på arduino

void setup() {
pinMode (ledPin, produktionen);
Serial.BEGIN(9600);
Serial.println ("Wave test!");

prova card.init(true) om fel uppstår på V1.0 Wave sköld
om (! card.init()) {
fel ("kort init. misslyckades!");
}
Aktivera optimera Läs - vissa kort kan timeout
card.partialBlockRead(true);

om (! vol.init(card)) {
fel ("ingen partition!");
}
om (! root.openRoot(vol)) {
fel kunde inte ("öppna root");
}
putstring_nl ("filer som hittas:");
root.ls();

}

framåt declarition
void playcomplete (FatReader & file);

void loop() {
uint8_t i, r;
char c, namn [15].
dir_t dir;
buttonValue = digitalRead(7);

root.Rewind();
Bläddra igenom filerna i katalogen
samtidigt (root.readDir(dir) > 0) {
bara spela. WAV-filer
om (! strncmp_P ((char *) & dir.name[8]. PSTR("wav"))) fortsätta;

om (! file.open (vol, dir)) {
putstring kan inte ("öppna");
printEntryName(dir);
Serial.println();
fortsätta;
}
putstring ("\n\rPlaying");
printEntryName(dir);
Serial.println();

om (buttonValue == hög) {
playcomplete(File);

}

digitalWrite (ledPin, låg); måste vara utanför f aktivera led av

}
}
/////////////////////////////////// HELPERS
/*
* skriva ut felmeddelande och stoppa
*/
void error_P (const char * str) {
PgmPrint ("fel:");
SerialPrint_P(str);
sdErrorCheck();
While(1);
}
/*
* skriva ut felmeddelande och stoppa om SD i/o-fel, bra för felsökning!
*/
void sdErrorCheck(void) {
om (! card.errorCode()) återvända;
PgmPrint ("\r\nSD I/O fel:");
Serial.Print(Card.ErrorCode(), HEX);
PgmPrint (",");
Serial.println(Card.errorData(), HEX);
While(1);
}
int16_t lastpotval = 0;
#define HYSTERESIS 3
/*
* spela upp filen med urval ränteförändringar
*/
void playcomplete (FatReader & file) {
int16_t potval;
uint32_t newsamplerate;

om (! wave.create(file)) {
putstring_nl ("inte en giltig WAV");
hemkomst.
}
Wave.Play();

om (wave.isplaying) {
digitalWrite (ledPin, hög);
}

samtidigt (wave.isplaying) {
potval = analogRead(0);
om (((potval-lastpotval) > HYSTERESIS) || ((lastpotval-potval) > HYSTERESIS)) {
putstring ("pot =");
Serial.println (potval, DEC);
putstring ("tickspersam =");
Serial.Print (wave.dwSamplesPerSec, DEC);
putstring ("->");
newsamplerate = wave.dwSamplesPerSec;
newsamplerate * = potval;
newsamplerate = 512; Vi vill dela upp mellan rusade upp och avtog.
om (newsamplerate > 24000) {
newsamplerate = 24000;
}
om (newsamplerate < 1000) {
newsamplerate = 1000;
}
wave.setSampleRate(newsamplerate);

Serial.println (newsamplerate, DEC);
lastpotval = potval;
}

Delay(10);

}
sdErrorCheck();

File.Close();
}

Tredje delen:

Justera modet att utformningen av din låda. Borra hål därefter. Eftersom jag använder en liten högtalare, kan jag driva hela bort av ett 9V batteri som bara gör det enklare att installera som strömkälla är en konsekvent fråga.

Här är en länk till arbetsdokumentering:
https://Vimeo.com/66703542

Relaterade Ämnen

Enkla onda fjärrkontrollen besittning enhet

Detta tilltag gör det verka som en TV-fjärrkontroll är besatt eller trasig. När en användare skjuter en knapp på en fjärrkontroll kommer att enheten spela in koden sedan skicka ut flera gånger. Således, om en användare tryckte kanal upp knappen tv sk...

Enkla STP (stand att kissa) enhet (för kvinnor och transfolk)

detta är praktiskt när camping, på vägen eller om badrummen är äckligt!Om du inte hittar en användning för detta, har då du uppenbarligen inte varit i en situation där du har önskat att du kunde kissa genom din fluga... Om tanken kränker dig, vänlige...

Hur man koppla In en Flash-enhet till din dator

Flash-enheter är små, resa storlek digitala medier. De varierar i storlekar från 1 gigabyte ända till 512 GB eller kanske ännu större. En av de viktigaste sätten att sätta data på en flash-enhet är genom att ansluta den till datorn. I denna tutorial...

01 / \ / atch

01 / \ / atch, eftersom... "det finns 10 typer av människor i världen, de som läst binärt och de som inte"-en slashdot taggen raden.01 / \ / atch är ett binärt armbandsur med en LED-display. Ytterligare funktioner kan nås via en rullning menyn s...

PIC 16F917 gyroskop gränssnitt

i detta inlägg kommer vi att studera modulen ADC (Analog till Digital) av Microcontroller PIC16F917. Vi kommer att studera en riktig krets av PIC16F917 gränssnitt till en halvledare gyroskop.Gyroskopet är en rörelsesensor som känner av lutning i en v...

Touch & spela

Mickey Mouse projektet är med en målsättning att interagera med användaren. När palm (elektriskt ledande material tillämpas på det) av plast gjuten objekt - Mickey Mouse är rörd av användaren Mickey Mouse kommer att tala att göra en känsla av interak...

Multi syfte USB-nätadapter

USB - vi alla använder det varje dag.USB kan dela alla typer av data på ett litet USB-minne, på varje PC. Även stora mängder data kan bäras på en USB-hårddisk. Och det ' s en perfekt power soure för mobila enheter t.ex. mobiltelefoner eller MP3-spela...

Montering en BootstrapSolar Chi-qoo Solar Battery Charger Kit

BootstrapSolarChi-qoo är en Öppen källkod KickStarter-finansierade batteri laddare kit för omladdning eller driver små elektroniska apparater som smartphones, iPads, Kindle tabletter, Arduino styrelser, EL wire och andra. Det kommer som en lätt-till-...

8-portar USB-laddare från gamla Laptop nätadapter

Numera, använder vi fler och fler elektroniska produkter i vårt dagliga liv, som bärbara datorer. Efter de bärbara datorer skadade, nätadapter av dem är ofta användbar. Men folk kasta brukar bort eftersom de har inga andra sätt att användas. Vi gjord...

Gamla fönster Picture Frame

jag gillar att göra tavelramar från alla möjliga saker - i detta fall jag använt ett gammalt trä fönster. Återanvänder eller anslå olika föremål för att bli tavelramar är användbart eftersom Anpassad inramning stora bilder kostar nästan oöverkomlig f...

Environmental Monitoring med BeagleBone eller RaspberryPI och Ardunio

detta är ett projekt jag har jobbat på ett tag, och har fortfarande sätt att gå, men jag har nog framgång just nu som jag kan jag dela vad jag har. Detta täcker anslutning till en Beaglebone och en Arduino via TTL följetong och I2C, med en parallell...

Garn insvept USB-minnen (i mindre än 10 minuter)

alla har flash-enheter, och de är ofta mycket allmänt sett. Genom att använda en bit garn att lägga till några enkla anpassning till en USB-enhet, kan du ha något unikt och personligt!Eller, om du har dessa USB-minnen med de grippy utanför gummi och...

Ingen makt? Inga problem!

Denna enkla och mycket hjälpsamt enhet kommer att hjälpa dig få landfast med låg effekt förbrukning enheter efter en naturkatastrof, strömavbrott, eller om du vill gå någonstans utanför nätet, till exempel camping. Du kan även lägga till en liten sol...

GO SHOPPING CART

Detta är mil sten bilder på hur jag tog en kundvagn och gjorde den till och en GO kundvagnSteg 1: Ödmjuk början av gå din kundvagnDetta projekt har varit i röret raderna i år, ta en kundvagn och göra det till en go cart. Så detta är min bas och gamla...

Hur till förbifartsleden Android 4.4 (KitKat) skriva externa SD begränsningar utan rot

Android 4.4 (KitKat) har några bra och dåliga sidor. Förmodligen är den mest otäcka att du är berövats möjligheten att skriva någon form av data på din externa SD-kort, som begränsar du bara till din inre lagring. Med 4-8 Gb inre utrymme är detta ver...

Gör din Arduino projekt trådlöst i minuter, med den trådlösa uppfinnare skydda

uppfinnare skölden använder en trådlös röret, vilket är en särskild trådlös RF-modul som tillåter dig att enkelt och tillförlitligt sätt, skicka och ta emot felfri trådlösa data mellan två eller flera Arduino styrelser.Det är Long Range – avstånd upp...

Hur du ställer in en Peltier modul.

Detta Instructable visas det hur du ställer in en Peltier komponent via en Arduino ombord. Den instructable består av en inledning av tekniken och Arduino setup inklusive allmänna råd för att använda enheten.Den Arduino setup kommer att bestå av Pelt...

StrobeDuino - dator-kontrollerade RGB strobe/lampa

efter att experimentera med Arduino och bearbetning seriell kommunikation jag ville göra något cool. Jag hade några RGB lysdioder liggande så tänkte jag på att göra något med dem. Jag slutade med en strobe/lampa kontrolleras av en bearbetning skiss s...

FabCache: En modulär, skalbara och spårbara locker system

Detta projekt utförs av studenter från Singapore Polytechnic. Projektgruppen består av: William Tan och Fong Jia Yi med herr Teo Shin Jen som våra byggherren.Idén:FabCache är en locker system som är modulär och skalbar och integrerade data logging-fu...