* uppdaterad * LED-torn "Hej", Vu-mätare avancerad Sensing musik utan IC endast med Ardurino och gränssnitt med PC Windows Software!

LED-torn "Hej", Vu-mätare avancerad Sensing musik utan IC endast med Ardurino
och samverkan med PC Windows programvara!

Hej, alla.

Vad som gör detta projekt så cool är, som dess avkänning musik, till skillnad från traditionella
VU-mätare eller Equalizer som visar nivån av inkommande ljudet av byta LED är på,
Min LED Tower, ser ut som det vet när rasten eller släpp eller vad någonsin i låten är comnming.

Större lampor jag bygga i, blir bara på när musiken blir mer intensiv.
med Serial Monitor lyckades jag skriva en Windows App, som styr Ardurino, Needet att använda den
hål Tower som Main ljus för mitt vardagsrum.

Kolla in här:

Vad du behöver (Full Version):

-Ardurino Mega(Atmega1280)
-24 x blå LED
-14 x vita LED
-5 x Multicolor LED
-2 x grön LED
-2 X Bi-Color(Red/Blue) lysdioder
-2 x 40 w lampor
-2 x 12 volts LED-Spot LED
-2 x 5 volts relä
-1 X SMD röd matris
-45 x 220 Ohm motstånd
-Wire
-1 x 3,5 Audio Jack
-1 x A Styropor eller plexiglas kropp

Vad du behöver (basversion):

-Alla Ardurino Mikrocontroller med X stift!
-X LED
-X 220 Ohm motstånd
-Wire
-3,5 audio Jack
-Ett organ Styropor eller plexiglas

Kolla gärna in bilderna:

















Hur fungerar det?

Om du någonsin gjort musik själv du, vet om längder av standart musik mönster, och
Det är nyckeln till detta, genom att räkna upp variabler och compering dem. (som 16,32,64,128,256,512 etc...)

Steg 1:

-Borra hål i kroppen Styropor eller plexiglas.
-Placera din lysdioder som du vill.

Steg 2:

-Tråd din lysdioder med motstånd och ansluta dem till någon gratis stift på din ardurino!.
-Anslut ett par lysdioder med pwm stift
-Testa din lysdioder med den grundläggande "Blink-Sketch"

Steg 3:

-Anslut en analog pin med audio domkraft och din Audio Källa
-Testa det med den grundläggande "AnalogRead-skissen"

Steg 4:

Öppna ardurino programvara till programm det.

Ladda upp denna kod och redigera matriser med din stift, och räkningen av stiften för att var.

/*
https://dl.Dropbox.com/u/3917871/ardurino/LEDTOWER.exe
*/

PIN att sensorn är kopplad till analoga 14 i mitt fall
CONST int sensorPin = A14;

3 Main matrisens med LED stift
CONST int ALLLEDS [] = {
6,22,8,26,53,24,48,10,5,42,31,32,33,23,25,9,27,7,44,12,50,34}.
CONST int notPWMLEDS [] = {
22,26,53,24,5,42,31,32,33,23,25,27,50,34}.
CONST int pwmLEDS [] = {
6,8,5,9,44,10,7,12,48}.

Detta är antalet LED Attaced till 3 matrisens
CONST int pwmCOUNT = 9;
CONST int ALLCOUNT = 22.
CONST int notPWMCOUNT = 15.

Detta är den särskilda Highlihts i samband med ett relä
CONST int relayCh1 = 14. 2 x 40 w lampor
CONST int relayCh2 = 15. 2 x 12 volts LED-Spot LED
CONST int relayCh3 = 17; Licht 3

variabler:
int incomingByte,jaodernein,schleifeEins,schleifeZwei,schleifeDrei,sensorMax,sensorValue,AudioIn,LANGERdelay,DelayValue,counterNull,counterEins,counterZwei,counterDrei,counterVier,counterFunf,counterSechs,counterSieben,nextLED,updown,thisPin = 0; sensor värdet
int sensorMin = 1023; minsta sensorn värde

void setup() {
Konfigurerar den referensspänningen används för analog ingång
analogReference(INTERNAL1V1);
Serial.BEGIN(9600);
Serial.println ("LED TOWER"Hej"av Mhonolog v: 13,5");

pinMode (relayCh1, produktionen);
pinMode (relayCh2, produktionen);
pinMode (relayCh3, produktionen);
pinMode (48, OUTPUT);
för (thisPin = 0; thisPin < ALLCOUNT; thisPin ++) {
pinMode (ALLLEDS [thisPin], OUTPUT);
}
Serial.println("calibrateing...");
digitalWrite (7, hög).
samtidigt (millis() < 5000) {
sensorValue = analogRead(sensorPin);
om (sensorValue > sensorMax) {
sensorMax = sensorValue;
}
om (sensorValue < sensorMin) {
sensorMin = sensorValue;
}
}
Serial.Print ("inställd på nytt min:");
Serial.Print(sensorMin);
Serial.Print ("\t inställd nya max:");
Serial.println(sensorMax);
digitalWrite (7, låg).
}

void loop() {
startstop();
om (jaodernein == 1) {
ReadIt();
MainCounter();
}
}

Här väntar ett seriella kommando. Du kan skriva in din seriekonsoll Monitor eller använda min programvara
Kommandon:
A: För Start
E: För stopp
L: Lamporna på
K: Lights OFF
//
vill du inte använda denna Ersätt "void-loop" med:
/*
void loop() {
ReadIt();
MainCounter();
}
*/
void startstop() {
om (Serial.available() > 0) {
Läs den äldsta byten i //Serial buffert:
incomingByte = Serial.read();
om (incomingByte == "A") {/ / Anfang
jaodernein = 1;
Serial.println ("startat Visualisierung...");
}
om (incomingByte == "E") {/ / Ende
AllLedsOFF();
jaodernein = 0;
Serial.println ("Stoppe Visualisierung...");
}
om (incomingByte == "L") {/ / Nur Lampe
jaodernein = 0;
digitalWrite (relayCh3, hög);

digitalWrite (relayCh2, hög);
Serial.println ("Licht en...");
}
om (incomingByte == "K") {/ / Keine Lampe
jaodernein = 0;
digitalWrite (relayCh3, låg);
digitalWrite (relayCh2, låg);
Serial.println ("Aus Licht...");
}
}
}

void ReadIt() {
AudioIn = analogRead(sensorPin);
om (AudioIn > sensorMax) {
sensorMax = AudioIn;
}
om (AudioIn < sensorMin) {
sensorMin = AudioIn;
}
AudioIn = karta (AudioIn, sensorMin, 1023, 0, sensorMax);
sensorValue = karta (AudioIn, sensorMin, sensorMax, 0, 255);
sensorValue = begränsa (sensorValue, 0, 255);
DelayValue = karta (AudioIn, sensorMin, sensorMax, (AudioIn*3)/100,(AudioIn*10)/100);
}

void MainCounter() {
om (AudioIn == 0 || AudioIn < 50) {
AllLedsOFF();
counterNull--;
counterEins--;
}
annat
{
om (updown == 0) {
nextLED ++;
}
om (updown == 1) {
nextLED--;
}
om (AudioIn > 50 & AudioIn < 100) {
counterEins = counterEins + 2.
counterNull--;
counterZwei ++;
counterDrei ++;
}
om (AudioIn > 100 & AudioIn < 200) {
counterVier ++;
}
om (AudioIn > 200 & AudioIn < 300) {
counterFunf ++;
}
om (AudioIn > 400 & AudioIn < 500) {
counterSieben--;
}
om (AudioIn > 500 & AudioIn < 700) {
counterSieben = counterSieben + 3.
}
om (AudioIn > 707) {
digitalWrite (48, låg).
}

om (AudioIn < 200 & (counterFunf > counterVier) & (counterSechs < counterFunf) & (counterVier < counterDrei) || (schleifeEins < schleifeZwei & schleifeEins < schleifeDrei)) {
schleifeEins ++;
digitalWrite (notPWMLEDS [counterFunf], hög);

analogWrite (pwmLEDS [6], sensorValue);
digitalWrite (pwmLEDS [6], hög);
digitalWrite (48, låg).
digitalWrite (ALLLEDS [nextLED], hög);
om ((AudioIn > 333) & (counterNull ==-64 || counterNull == -32)) {
counterSieben = 0;
digitalWrite(relayCh2,HIGH);
counterSieben = 0;
LANGERdelay = 1;
}
annat {
LANGERdelay = 0;
}

om (LANGERdelay == 0) {
Delay(DelayValue*2);
Delay(DelayValue);
}
annat {
Delay(64+DelayValue);
LANGERdelay = 0;
}
}

om ((counterFunf > counterVier || counterFunf < counterVier) || (schleifeZwei < schleifeEins & schleifeZwei < schleifeDrei)) {
schleifeZwei ++;
digitalWrite (notPWMLEDS [counterFunf], hög);
digitalWrite (ALLLEDS [1], hög);
analogWrite (pwmLEDS [counterSechs], sensorValue);
för (thisPin = sensorValue; thisPin > 0; thisPin--) {
sensorValue = sensorValue-5;
}

om ((AudioIn > 333) & (counterNull ==-64 || counterNull == -16)) {
counterSieben = 0;
digitalWrite(relayCh1,HIGH);
LANGERdelay = 1;
}
annat {
LANGERdelay = 0;
}

om (LANGERdelay == 0) {
Delay(DelayValue);
}
annat {
Delay(64+DelayValue);
LANGERdelay = 0;
}
}

om ((AudioIn > 200) &(counterNull < counterEins) & (counterSechs < counterFunf) & (counterVier < counterDrei) || (schleifeDrei < schleifeEins & schleifeDrei < schleifeZwei)) {
digitalWrite (notPWMLEDS [counterFunf], hög);
schleifeDrei ++;
digitalWrite (ALLLEDS [2], hög);
digitalWrite (48, hög).
digitalWrite (pwmLEDS [6], låg);
för (thisPin = 0; thisPin / / digitalWrite (notPWMLEDS [thisPin], hög);
Delay(DelayValue);
digitalWrite (notPWMLEDS [thisPin], låg);

// }
om ((AudioIn > 333) & (counterNull ==-64 || counterNull == -8)) {
counterSieben = 0;
digitalWrite(relayCh3,HIGH);
LANGERdelay = 1;
}
annat {
LANGERdelay = 0;
}

om (LANGERdelay == 0) {
Delay(DelayValue);
}
annat {
Delay(64+DelayValue);
LANGERdelay = 0;
}
}

om (nextLED > = ALLCOUNT) {
UpDown = 1;
}
annars om (nextLED < = 0) {
UpDown = 0;
}
om (counterZwei > 256) {
counterSechs ++;
counterZwei = 0;
}
om (counterDrei > 512) {
counterDrei = 0;
schleifeEins = 0;
schleifeZwei = 0;
schleifeDrei = 0;
digitalWrite (pwmLEDS [6], hög);

}
om (counterVier > 32) {
counterVier = 0;
sensorMax = 0;
digitalWrite (48, hög).

}
om (counterFunf > = notPWMCOUNT) {
counterFunf = 0;
}
om (counterSechs > = pwmCOUNT) {
counterSechs = 0;
}
om (counterNull > = 64 || counterEins > = 64 || counterNull < =-64 || counterEins < =-64) {
counterNull = 0;
counterEins = 0;
}
}
}
void AllLedsOFF() {
digitalWrite (relayCh1, låg);
digitalWrite (relayCh2, låg);
digitalWrite (relayCh3, låg);

för (thisPin = 0; thisPin < ALLCOUNT; thisPin ++) {/ / initiera alla i en loop
digitalWrite (ALLLEDS [thisPin], låg);
}
}

Relaterade Ämnen

En enkel LED torn

jag är fascinerad av ljus. Särskilt olika färg ljus.Så bygger jag Detta enkla LED torn med några färgskiftande leds också.Steg 1: Samla delar What you need:ett gäng 1K ohm motstånden massa lysdioderett tomt kretskortlödaen lödkolvett 9v batteri klipp...

Ta din musik till ljus! med LED färg orgel

lysa upp dina favoritlåtar med färgade blinkande lysdioder! Ultra ljusa 5mm ljusdioder, röd, blå och gul, svara på bas, mellersta, och diskant frekvenser för ett bländande audio / visuella Visa.Se den i aktion här!Om du vill bygga din egen LED färg o...

Göra Remote kontrollerade ledde, endast med led & fotodiod!!!

göra remote kontrolleras ledde, endast använda ledde och fotodiod.Ingen u inte evan behovet att använda en RESSISTOR!!!Nu när heter awesome saker, se min video och göra själv...Steg 1: Steg för steg YouTube VideoYouTube video länkhttp://youtu.be/dWRD...

Avancerad Garage Band Tutorial - Making Beats med med filtret AUBandpass AU

detta är en video handledning som förklarar den AUbandpass huvudnummer på garageband och hur det kan vara använder bildar gör instrumentala. Den här inställningen låter dig styra centrala frekvens utgång samtidigt också fortfarande kunna bredda eller...

Hur tar man bort en trasig glödlampa med en potatis!

Någonsin haft en lampa falla över orsakar lampan att bryta? Du undrade nog hur du skulle extrahera den återstående lampan bas utan mörbulta din hand. Svaret på ditt problem är i köket. Allt du behöver extrahera glödlampan är en potatis!Koppla först b...

Överföra MP3-låtar i Raspberry Pi till Android telefon med Bluetooth

IntroduktionChanserna är du har massor av mp3-filer som fastnat i en PC som jag gör. Jag ville lyssna på låtarna när jag är ute. Så det är min motivation för att göra detta instructable.RäckviddDetta instructable visar:Hur man installerar Bluetooth i...

Build Your Own 3120 Lumen LED Grow Light

I started this journey after after testing several of the low cost grow lights being imported from China. Varenda en som jag testade var över hyped, låg powered skräp. När jag tröttnade på lurar med den kinesiska skräp 3 watten LED hade kommit ut och...

Mini LED volym torn (VU meter)

Uppdatering December 2014: ett kit som innehåller alla krets delar för detta projekt är nu tillgänglig från Jameco elektronik. Se material steg för detaljer.Inspirationen till detta projekt startade när jag såg en mängd awesome stereo LED torn på You...

Billig ljusmätare och LED testare för mindre än $5

Ive nyligen spelat med hög ljusstyrka lysdioder för en LCD LED projektor. Problemet jag hittade var det mycket svårt, så se om alla lysdioder är samma ljusstyrka, och så svårt att jämföra enskilda lysdioder. Om du ville snabbt kontrollera en LED för...

Torn Led

tornet består av akryl där vi installerar lysdioderSteg 1: Vad vi behöver 1 gängad stång10 lysdioder (20 för beter resultat)1 kondensator 63V 10uF2 motstånd 10kIC LM3914Nakryl blad 8mmakryl blad 4mm (alternativ för den för rutan som innehåller kretse...

Geigermätare utlöste LED dekorationer

Uttråkad av blinkande lampor som blinkar i svar på tid?Göra dem blinka med utrymme istället!Detta instructable visar en snabb metod för att ansluta LED tree dekorationer till en geigermätare via arduino, så att lamporna blinka mellan olika strängar v...

Emergency Led belysning gjorde löjligt enkelt (uppdaterad 2-13-14)

Orkanen Isaac hit för en vecka sedan och tusentals bostäder är fortfarande utan ström. Belysningen är bra, inga problem. Allt du behöver är du bil, en ledda kupol ljus och några tråd..Steg 1:Här är en länk där du kan köpa 12 volts LED bil kupol ljus....

(Uppdaterad) Installera RetroPie 3.0 + på Raspberry Pi 1, 2 & Zero

MålInstallera RetroPie 3.0 + på någon modell av Raspberry Pi använder Windows eller Mac.Detta inkluderar:Raspberry Pi 1 modell A +Raspberry Pi 1 modell B +Raspberry Pi 2 modell BRaspberry Pi nollVideo handledning finns också: https://youtu.be/mr3BhLW...

Avancerade Multimedia Center

Hur man bygger en mångsidig budget multimedia centerSteg 1: 1. IntroduktionUnderhållningär en form av aktivitet som innehar den uppmärksamhet och intresse för en publik eller ger glädje och förtjusning. Det kan vara en idé eller en uppgift, men är me...

CHR'S 8 X 8 X 8 LED Cube Revisited med förbättringar!

Se steg 17 för mer information angående musik inmatningsläge för icke-RAMP brädor.Det finns nu 7 musik lägen i bokförda koden, och jag söker fler idéer för animeringar eller musik utlöste effekter!HOPPA direkt till steg 1 om du bara vill få till de f...

LED Pong

Snabb överblick:Jag kallar detta "LED Pong". Jag byggde det från grunden och jag baserat designen på en 1 meter individuellt adresserbara lysdioder och en Arduino Uno. Pong var en av de första video arcade-spel som någonsin gjorts. Det släpptes...

Lätt Node.JS + WebSockets LED-Controller för Raspberry Pi

Heji detta instructable, jag ska visa dig hur man skapar en lätt och otroligt lyhörd webbserver med WebSockets.Jag ska använda den för att styra en LED med en Arduino men begreppet kan tillämpas på många andra projekt.Eftersom detta projekt inte anvä...

LED Dawn / Sunrise väckarklocka, nattlampa & säkerhet ljus - Arduino kompatibel

som nätterna förlängs successivt under hösten 2011, jag upptäckt glädjen med Arduino och trodde att det skulle vara ett bra sätt att genomföra något som jag har velat ha en lång stund - ett skonsamt sätt att vakna upp på en vintermorgon. Tyvärr, det...

Avancerade cookies cutter generator

Hej alla,Här är en enkel guide till hur design och 3D print sin egen cookie cutter!Min första 3D cookie design blev en 5 tum lång dinosaurie med 6 cookie limmas ihop med koncentrerad mjölk. Det var ganska skrämmande och välsmakande!Detta skript tillå...