Disco LED Party Cup! (3 / 5 steg)

Steg 3: Programmera Arduino



Vi behöver att programmera Arduino så man vet vad man ska göra med våra mic och lysdioder. Jag har ändrat Adafruit koden något för våra 5v Arduino. Bara Anslut din Arduino Nano till datorn och ladda upp här koden!

Kom ihåg att slå på den så att dess fungerar bra!

/*
LED VU mätare för Arduino och Adafruit NeoPixel lysdioder.

Hårdvarukrav:
-De flesta Arduino eller Arduino-kompatibel styrelser (ATmega 328P eller bättre).
-Adafruit Elektret Mikrofonförstärkare (ID: 1063)
-Adafruit Flora RGB Smart pixlar (ID: 1260)
ELLER
-Adafruit NeoPixel Digital LED strip (ID: 1138)
-Tillval: batteri för portabelt bruk (annan ström via USB eller adapter)
Programvarukrav:
-Adafruit NeoPixel bibliotek

Anslutningar:
-3.3V till mic förstärkare +
-GND till mic amp-
-Analog pin till mikrofon-utgång (konfigurerbart nedan)
-Digital pin till LED data ingång (konfigurerbart nedan)
Se anmärkningar i setup() när det gäller 5V vs 3.3V styrelser - det kan finnas en
extra anslutning att göra och en rad med kod för att aktivera eller inaktivera.

Skrivet av Adafruit industrier. Distribueras under BSD-licensen.
Denna punkt måste inkluderas i en omfördelning.
*/

#include

#define N_PIXELS 12 / / antal pixlar i strand
#define MIC_PIN A0 / / mikrofon är ansluten till denna analoga pin
#define LED_PIN 6 / / NeoPixel LED strand är ansluten till detta stift
#define DC_OFFSET 0 / / DC-offset i mic signal - om unusure, lämna 0
#define buller 10 / / buller/hum/störning i mic signal
#define prover 60 / / längd buffert för dynamisk nivåjustering
#define topp (N_PIXELS + 2) / / tillåt dot att gå något skalan
#define PEAK_FALL 40 / / hastighet av peak faller dot

byte
toppen = 0, / / används för fallande dot
dotCount = 0, / / ram-mätare för att försena dot-falla hastighet
volCount = 0; Bildräkneverket för att lagra förbi volymdata
int
[exempel], Vol / / tidigare volym provtagning
lvl = 10, / / ström "dämpade" ljudnivå.
minLvlAvg = 0, / / för dynamisk justering av grafen låg & hög
maxLvlAvg = 512;
Adafruit_NeoPixel
Strip = Adafruit_NeoPixel (N_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);

void setup() {

Detta behövs bara på 5V Arduinos (Uno, Leonardo, etc.).
Ansluta 3.3V till mic och till AREF på ARDUINO och möjliggöra den här
linje. Ljudsamplingar är "renare" på 3,3 v.
KOMMENTERA BORT RADEN FÖR 3.3V ARDUINOS (FLORA, ETC.):
analogReference(EXTERNAL);

MEMSET (vol, 0, sizeof(vol));
Strip.BEGIN();
}

void loop() {
uint8_t i.
uint16_t minLvl, maxLvl;
int n, höjd;

n = analogRead(MIC_PIN); RAW från mic
n = abs n - 512 - DC_OFFSET. Center på noll
n = (n < = buller)? 0: n - buller. Ta bort brus/hum
lvl = ((lvl * 7) + n) >> 3. "Dämpade" läsning (annars ser ut ryckiga)

Beräkna stapelhöjd baserat på dynamisk min/max nivåer (fast punkt):
höjd = upp * (lvl - minLvlAvg) / (lång) (maxLvlAvg - minLvlAvg);

om (höjd < 0L) höjd = 0; Klipp ut
annat if(height > TOP) höjd = topp;
IF(height > Peak) topp = höjd; Hålla "peak" prick på toppen

Färgpixlar baserat på rainbow lutning
för (jag = 0; jag = höjd) strip.setPixelColor (i, 0, 0, 0);
annat strip.setPixelColor(i,Wheel(map(i,0,strip.numPixels()-1,30,150)));

}

Rita peak prick
om (topp > 0 & & topp < = N_PIXELS-1) strip.setPixelColor(peak,Wheel(map(peak,0,strip.numPixels()-1,30,150)));

Strip.show(); Uppdatering strip

Varje par ramar, göra topp pixel förbi 1:

om (++ dotCount > = PEAK_FALL) {//fall ränta

om (peak > 0) peak--;
dotCount = 0;
}

Vol [volCount] = n; Spara provet för dynamisk utjämning
om (++ volCount > = prover) volCount = 0; Advance/rollover prov counter

Få volym spektrum av tidigare ramar
minLvl = maxLvl = vol [0];
för (jag = 1; jag maxLvl) maxLvl = vol [i];
}
minLvl och maxLvl anger volymen spänner över tidigare ramar, används
för vertikalt skalning ut grafen (så det ser intressant
oavsett volymnivå). Om de är för nära varandra men
(t.ex. vid mycket låga volymnivåer) blir grafen super grova
och "nervös"... så håll vissa minsta avstånd mellan dem (detta
också kan grafen gå till noll när inget ljud spelas):
om ((maxLvl-minLvl) < topp) maxLvl = minLvl + topp;
minLvlAvg = (minLvlAvg * 63 + minLvl) >> 6. Dämpa min/max nivåer
maxLvlAvg = (maxLvlAvg * 63 + maxLvl) >> 6. (försköna rullande medelvärde)

}

Ange ett värde 0 till 255 att få ett färgvärde.
Färgerna är en övergång r - g - b - tillbaka till r.
uint32_t hjul (byte WheelPos) {
IF(WheelPos < 85) {
returnera strip. Färg (WheelPos * 3, 255 - WheelPos * 3, 0);
} annat if(WheelPos < 170) {
WheelPos-= 85.
returnera strip. Färg (255 - WheelPos * 3, 0, WheelPos * 3);
} annat {
WheelPos-= 170;
returnera strip. Färg (0, WheelPos * 3, 255 - WheelPos * 3);
}
}

Se Steg
Relaterade Ämnen

Adresserbara LED Party väska

ganska ofta, jag befinner mig på utställningar, fester och festivaler med ett behov av att bära med sig några några måste ha objekt, till exempel min plånbok, nycklar, telefon och sådant. Naturligtvis, kul kostym part kläder aldrig har fickor, så det...

Disco LED skiva

Vad du behöver att göra disco LED skiva är följande:En gnista kärna och en internet-knappen, som du kan se på bilderna ovan.Steg 1: Bli anslutenPlacera Spark kärnan till knappen internet som visas ovan. Ansluta den gnista kärnan via usb och Anslut de...

Personlig Party Cups

jag planerar några partier i sommar, och jag har varit desperata att hitta unika sätt att göra varje en special.Den första parten jag planerar är för min pojkvän och den nya officerare som kommer att flytta till nycklarna. Sin klass examen från FWC l...

Enkla Disco-ball pumpa

Disco här och disco där! Inte resa! Gör din egen disco-boll för din Halloweenfest! Med några enkla material och en pumpa, kan du göra detta freaktastic mittpunkten för din Halloween disco dance party! Så ta din gauchos flickor, och få din steg färgad...

900 LED ljusramp för Video och fotografi / / 360 grader av rotation

Så, professionell nivå LED-belysning paneler är galet dyrt, det är dumt. Jag presentera dig med min egen (och snart din egen) pro belysning panel. Jag kallar det pro eftersom det är inte bara några lysdioder trådbunden upp. Det är 75 watt 900 skarpa...

Quantum Dot lysdioder: Att göra egen färg lysdioder

Låt mig förord detta genom att säga att detta inte är ett billigt experiment på något sätt. På denna tid quantum är dots mycket dyr, med typiska priser från cirka $150 till $500 för 10 mg. Som sagt, använde jag mycket lite per LED. Jag uppskattar anv...

En grundläggande, små, billiga, hydroponiska sallad flotte

en Basic, liten, sallad flotteav: naturen Steve.Hydroponics är ganska läckra förbättring ålder gamla konsten av trädgårdsnäring. Detta projekt är mycket kompakt och erbjuder alla fördelarna som dessa pittoreska kistan och medelstora system, men mindr...

Hur att hälla en öl

detta är en viktig färdighet som kan tillämpas på alla kolsyrade drycker att bibehålla sin smak och konsistens. Textur är delvis från kolsyran som är den enda delen du verkligen har kontroll över när hälla. Kolsyran kontroll är också hur du påverkar...

Röd plast kopp part ljus sträng

när du designar utseendet av en ny varje vecka natt på en Chicago nattklubb för att emulera en hus-parti vibe, allestädes närvarande röd plast party cup blev ikonen. Många element var utformade som dekorationer för natten med dem, men en var särskilt...

Jagged Crown - bygga ett ultra realistisk prop hjälm

Hej Instructables!Detta projekt har varit typ av sparlåga för det senaste året eller så och jag har äntligen fått att avsluta det och nu vill jag dela den med dig!Detta instructable kommer att beröra lätt skulptera, gjutning, gjutning och efterbehand...

DWC Hydroponics

i detta instructable video jag kommer att gå över min "Djupa vatten kultur" hydrokultur system och visa hur jag ändrade processen för att ta itu med alla stadier i växternas tillväxt inklusive utsäde start.DWC hydrokultur är ett mycket effektivt...

Med silikon för att hålla Wearable komponenter säker

Vi har alla utspillt vatten eller kaffe innan... men vad händer om det går på vår älskade wearable komponenter? Det skulle förstöra eller stek våra komponenter.Så idag införa jag ett nytt sätt att hålla våra bärbara komponenter vattentät och damm-bev...

Twinkle LED Dance Party kjol

Förvandla din vanlig kjol för blinkande LED dance party kjol på nolltid.Detta är perfekt för semester, fester och bara en kul kväll ute med vänner.Steg 1: Få dina leveranser och en perfekt kjolDu behöver:LilyPad moderkortetLilyPad USB Linkmini USB-ka...

LED Disco ljus i en burk!

Detta en av mina poster för låt det glöden! Tävlingen.Här är en trevlig, enkel instructable för någon just har börjat med lysdioder, lödning och elektronik. Det använder grundläggande delar, med ingen slänga omkring med mikrokontroller eller timers (...

FIFA World Cup LED

i detta instructable du lära dig att göra världen cup trofén med lysdioder. Det kan också användas som en sovrum lampa.Steg 1: materialFör att göra pokalen kommer vi använda följande material:-En leksak trophy-3 meter kabel-A växla-6 hög ljusstyrka l...

LED Disco golvet

Detta projekt är inspirerad av Pixel släppa taket av hockeyman271 och skulle inte vara möjligt utan refererar till detta instructable.Denna LED Disco golv använder WS2801 36mm RGB lysdioder som är datorstyrda via en Arduino. Jag valde den 36mm WS2801...

RGB LED Strip Disco Ball

Hej, detta är Brandon Neustadter en av elementärt LED kommersiella Account Managers. Jag ville skapa en LED-ljus show som skulle synka till min musik. Generellt detta tar timmar om inte dagar eller veckor, men med den Apollo Jammer det tar några minu...

LED Cup Lantern material

Detta instructable vägleder dig att göra en enkel LED Lanterna med enbart:-genomskinlig plastmugg-2 klipp på sladdar-6" koppartråd-kartong-gummiband-eltejp-5 små LED-lampor-Varmlimma-hantera-batteri fall-fyra D-batterierSteg 1: Bostäder för glödlampo...

Billie Jean LED ljus-up disco skor

dessa är skor med LED plattor sitter på undersidan av dem och en tryckvakt så att de lyser upp när du sätter fötterna i, precis som Michael Jacksons Billie Jean video. De drivs av ett batteri som du lagt i din ficka. Detta projekt byggdes lite bråtto...