Den skygga Nightscape - Jed Diller och Ken Hoff (2 / 6 steg)

Steg 2: Elektronik översikt



Från vår erfarenhet, få din sensor för att fungera som avsett är en av de svåraste delarna av detta projekt. Ljussensorer är relativt stabil, är billiga mikrofoner inte. Om du vill ha en ljus känsliga display kan du hoppa över detta nästa avsnitt om mikrofon och bege dig till avsnittet om ledningar.

Att få din mikrofon Under kontroll:

Mycket tid på detta projekt spenderades försöker få mikrofonen under kontroll. Vi hade en hel del problem att få buller i data till en nivå som var genomförbart. Analoga utbudet på en Arduino port är 0-1023. Med hjälp av gnistan roliga Elektret bryter ut styrelsen och övervaka analoga värden att läsa i, konstaterades att värdena varierade från 350-650 även i de mest odödlig tysta miljöerna. För att få användbara data för att utlösa beteendet LED, användes en metod som kallas faltning. Faltning är i grunden ett sätt att jämna ut data genom att tillämpa en klockformad kurva till en kö av värden. I det här fallet faltning kopplades till en kö av 7 värden, antalet värden i kön kan variera beroende på hur mycket utjämning önskas. De sju värden multipliceras med en koefficient och summan av de sju koefficienterna bör vara lika med ett. Utjämnade värdet av intresse är summan av de sju analoga värden som läses i multiplicerat med deras koefficienter. Ett exempel på denna faltning ges nedan. För mer exakt förklaring om faltning, se Wikipedias sida.

Faltning Arduino C kod exempel:

---------------------------------------------------------------------------------------------------

Faltning exempel
Av Jed Diller
April 2 2012

Gäller faltning för analoga värden som läses i från en sensor på port A0
Om värdet är över vissa tröskelvärdet, görs något. I detta fall
ett värde skrivs till stift 9 på en Adruino Uno

konstanter:
CONST int sensorPin = A0;
CONST int ledPin = 9;

booleska DEBUG = sant; för print uttalanden köra seriell övervaka och satt till true

int tröskel = 550; den här värden bestämdes genom försök och misstag användning seriell utskriften debug till
fastställa ett rimligt tröskelvärde
flyta a0 = 0,3; coeff för innevarande värde
flyta a1 = 0,2; coeff för plus & minus 1 från calc
flyta a2 = 0,1; coeff för plus & minus 2 från calc
flyta a3 = 0,05; coeff för plus & minus 3 från calc

definiera variabler:
int sensorValue; sensor värde för läsning
int sV_adjusted; lagrade justerade värde

int sV_m3; sensor värdet 3 före calc
int sV_m2; sensor värdet 2 före calc
int sV_m1; sensor värdet 1 före calc
int sV_0; sensor värde beräkning centrerar av kurva
int sV_p1; sensor värdet 1 efter att calc
int sV_p2; sensor värdet 2 efter att calc
int sV_p3; sensor värdet 3 efter att calc (vad är actaully att läsa)

void setup()
{

Serial.BEGIN(9600);
pinMode (13, OUTPUT);
digitalWrite 13, hög.
analogWrite (ledPin, 0); Start ledde i bort att undvika små flash mellan
varje beteende loopen upprepas

Delay(2000);
digitalWrite 13, låg.

få första 6 värden (sV_m3 genom sV_p2)
sV_m3 = analogRead(sensorPin);
sV_m2 = analogRead(sensorPin);
sV_m1 = analogRead(sensorPin);
sV_0 = analogRead(sensorPin);
sV_p1 = analogRead(sensorPin);
sV_p2 = analogRead(sensorPin);

}

void loop()
{

få nytt värde
sV_p3 = analogRead(sensorPin);

beräkna justerat värde
sV_adjusted = (int) (a3 * (float) sV_m3 + a2 * (float) sV_m2 + a1 * (float) sV_m1 + a0 * (float) sV_0 + a1 * (float) sV_p1 + a2 * (float) sV_p2 + a3*(float)sV_p3);

Skift-värden runt för nästa iteration
sV_m3 = sV_m2;
sV_m2 = sV_m1;
sV_m1 = sV_0;
sV_0 = sV_p1;
sV_p1 = sV_p2;
sV_p2 = sV_p3;

testa justerade värde ut mot tröskel
om (sV_adjusted > tröskel)
{
analogWrite (ledPin, 255);
} annat {
analogWrite (ledPin, 0);
}

om (DEBUG)
{
Serial.Print ("justerat värde:");
Serial.println(sV_adjusted);
}

}

---------------------------------------------------------------------------------------------------

Med hjälp av faltning sänktes raw analoga ljudet på plus eller minus 150 till runt 10. En tröskel valdes sedan till ca 15 ovan invecklade medelvärdena. En högre tröskel kan översättas till en större insats behövs för att bryta mot tröskeln. Justering av kurvan och att göra den klockformade kurvan "plattare" och använda fler värden i kön kommer att ytterligare göra data stabilt men det kommer också att göra i händelse av intresse svårare att upptäcka. Att göra den klockformade kurvan större i mitten genom att vikta center värdena för kön mer kraftigt kommer att få motsatt effekt och data blir bullrigare men händelser av intresse kommer att upptäckas lättare.

Ytterligare bullerproblem och anledningen till två Arduino:

Det fanns ett annat stort problem som vi står inför med mikrofonen vi gjorde. Om det fanns någon annan hårdvara i styrelsen, säger en servo som flyttades beroende på värdet som invecklade sensor, buller som skulle återigen bli obrukbar. Därför användes Uno att övervaka mikrofonen och göra faltning på data. Om värdena sedan över tröskeln skrevs ett värde till en port som Mega var övervakning. Om Mega upptäckt att det värdet det var övervakning var över några andra tröskel, skulle det följaktligen ändra beteendet för lysdioder. Mikrofon upptäckt kunde inte göras på Mega på grund av buller från alla LED skulle skrivas till.

Ledningar:

Ledningarna av mikrofonen är lätt nog med dess märkt VCC, GND och AUD huvuden. Observera att toppen sidhuvudet i bilden nedan är ettUD som i ljud, inte AVD som i analog spänning. AUD är mikrofon utdata som läses in i en analog port på Arduino.

Wiring lysdioder var också lätt nog, om inte lite tidskrävande. För varje LED löda en kabel (för en viss färg, vi valde rött eller blått) till den längre två LED stift (som är spänningen i) och löda en annan tråd (av en annan färg, vi valde svart) till kortare stift, marken pin i lysdioden. För öga paren, löda i korta och långa ändarna av två LED till samma tråd respektive. Vi brukade enda kabel gör det enkelt att gränssnittet med Arduino styrelsen portar. Vara säker på dina ledningar är tillräckligt lång för att nå den Arduino från överallt där du kan placera Lamporna på din bildskärm. För att räkna ut det här, är det värt att dra fram vad du tycker din display kommer att se ut, vilket kan ses i steg 4.

Se Steg
Relaterade Ämnen

Barbie och Ken

min fästman och jag gick till en Halloweenfest som Barbie och Ken.Vi gjort kostym genom att köpa en stor garderob pojke från ett rörligt leverans butik, skära den i hälften, skära FRONTPANELERNA till form och måla den. Sista handen var Mattel logotyp...

Den mörk riddare Batsuit och Bane Mask och kostym

med den kommande utgivningen av The Dark Knight Rises, och slump tidpunkten för min vän, Kevin, att vara skallig från kemoterapi, vi beslutat att vi ska göra en video. Han ville vara Bane, och jag kunde dra av en halvbra Batman. Naturligtvis var jag...

Den Fallout överlevande: Kärnkraft och EMP redo Paracord armband - anti strålning tablett, vattenrening, multiverktyg, kolfiber gasmask

bygga ett Paracord armband som kommer att förbereda dig för en kärnvapenattack, kraftverk härdsmälta och EMP med allra nödvändigaste mot strålning redo remmen. Improvisera en gasmask med medföljande kolfiber, bygga en Faradays bur för att skydda din...

Den perfekta Dr. Som Fez och mini fez

Vill veta hur man gör den perfekta Dr som Fes.Med den här guiden, kan du göra fez som är hög kvalitet och långvariga också så mycket elegant.Väl här är det. Min officiella sätt att göra fezes!Använd inte denna tutorial för att göra produkter att sälj...

Klickern (den sista av oss) Mask och kostym

efter jag spelat det här fantastiska spelet för 5: e gången nu bestämde jag mig för jag hade att göra en klickern kostym.Denna handledning kommer att fokusera på masken, men jag kommer ge bort hur jag gjorde sista och göra upp i slutet; )Fler bilder...

Dill och keso paj

Denna ungerska paj serveras välsmakande paj eller som söt paj. Vissa människor gillar att lägga till antingen socker eller florsocker till fyllningen, några skulle lämna ut från att göra, men ändå vill strö den generöst med florsocker för servering.S...

Texas kaviar - den mest enkla, läckra och friska dopp/Side någonsin

med sommaren i full gång, nu är det dags att dra nytta av det fantastiska sun mogna råvaror som är lätt tillgängliga. I detta Instructable jag kommer att visa hur du gör en sann kråkor pleaser det inte är bara enkla och läckra men också mycket hälsos...

1959 ursprungliga baddräkt Barbie och Ken

även om ovilliga, övertygad om min pojkvän att klä upp som Ken att matcha min Barbie kostym! Allt material för min kostym köptes vid en lokal tygaffär (Mary-Jos i Gastonia, NC) och en vän brukade ett 1950-baddräkt mönster gör baddräkten. Jag beställd...

Ardweeny: den lilla vän Arduino (och hur nötkött upp)

öppen hårdvara? Arduino(TM) är det första namnet som kommer att tänka! Lika stor som det är, behöver ibland vi en liten mikrokontroller lösning för ett projekt eller en avskalad version för kostnadseffektivitet.Ardweeny är lösningen. Dessa små kit är...

Hur man gör den perfekta jordnötssmör och gelé smörgås

när jag var i första klass hade jag ett uppdrag att lära sig hur man gör en PB & J smörgås. Bara i fall du aldrig fick att läxa i skolan, eller om du har glömt, har jag lämnat enkla steg för steg instruktioner att göra perfekt jordnötssmör och gelé s...

Håll ner lång runda saker med denna snabbis bänk Loop-och-V Vice

ibland du har att hålla en lång runda cylinder till din arbetsbänk. Jag ha brukar att hålla ner en mast för bearbetning till segling kanot framdrivning. Bearbetning processen kräver oftast att du roterar runt objektet som smärtsamt (ibland blodigt) s...

Den enklaste uppladdningsbart batteri krets (och rädda planeten alltför)!

Hallo alla...Idén kom till mig när jag var redo att ersätta en battericell i min väckarklocka bredvid min säng. Även använder jag de senaste 5 år endast laddningsbara batterierna av de flesta typer jag övervägt hur många battericeller människor värld...

Den verkliga $5, webbaserad kraft och gas mätare

Detta instructable är ett pågående arbete, kommer att lägga till mer när jag har tid under nästa vecka eller så.I detta instructable jag kommer gå igenom de steg som jag brukade göra en webb-baserad, realtid, electricy och gasmätare, för ungefär $5....

Den ultimata Facebook tillägg och Extension Guide

denna guide fungerar bara för Google Chrome, som kan laddas genom att gå till detta länk.Google Chrome har många set ryggar, mest som jag tvivlar på att fixas, men Google Chrome har extensions och tillägg, som du hittar här.Detta Instructable kommer...

Den ultimata guiden på kommando och Conquer: Red Alert 3 uppdrag och strategier

** uppdatering **De flesta av dessa strategier är gamla och denna instructibles är fortfarande oavslutat, men jag kommer att publicera det och några allmänna scirmish tips. Om du har några tips också, bara kommentar, jag kommer att lista dem här på d...

Jag skickar den: ett spel av romantik och enstaka explosionen

Jag vet inte om dig, men jag älskar frakt. Sjöfarten är romantiska hopkoppling av olika karaktärer och kändisar. Jag tillbringar mina dagar läser om alla Destiel, Johnlock, Appledash, Crundee, och mycket mer. Detta spel hjälper inspirera berättelser...

Visste du att med den långa tryck/peka och håll funktion kan du använda ytterligare funktioner på din kobo ansökan för iPhone, iPad och iPod Touch?

När du använder långa tryck/peka och håll funktion på någon viss bok i biblioteket, på din kobo ansökan för iPhone, iPad eller iPod Touch, du kommer att tas till en översikt över skärmen. Från skärmen översikt tillgång du till ytterligare funktioner...

Den brusande 20's Lady och hennes Gangsta

Reaktionen var fantastisk. Vi kom i ser ut som en miljon dollar. Alla ögon var alla på oss. Ofta imiterade aldrig duplicerade....

Toothless, ryta plysch marionett

detta är det andra projektet våren 2012 saker att tänka computern vetenskap kurs vid University of Colorado, Boulder. Målet med detta projekt var att skapa en plysch som också använde computing på något sätt. Laget består av Jed Diller och Ken Hoff,...