LED Cube spektrumanalysator (3 / 4 steg)

Steg 3: Den Arduino skissen - del ett



Skissen har två huvudfunktioner – först är att fånga nivåerna från MSGEQ7 och sätta värdena för varje frekvensband i en matris, och den andra funktionen är att vända på lysdioder som representerar nivån för varje band. Om du har uppmärksam kanske du undrar hur vi kan representera sju frekvensband med en 4 x 4 x 4 LED cube. Enkelt-genom att rotera kuben 45 grader kan du se sju vertikala kolumner av lysdioder (se bilden av kuben med numrerade kolumner).

Så när man tittar från vinkeln som visas ovan, har du sju vertikala kolumner, alla med fyra nivåer av lysdioder. Styrkan på varje frekvens kan alltså delas upp i fyra nivåer, och sedan lämpliga lysdioderna påslagen.
Efter detta görs för varje band, alla lampor är avstängda och processen upprepas.

För enkelhetens skull har jag använt kubens Arduino bibliotek att aktivera lysdioderna, vilket också gör skissen lättare att genomskåda. Den första exemplet skissen används endast en färg.

// ----------------------------------------------------------------------------------------------------------------------
Freetronics CUBE4: och MSGEQ7 spektralanalysator
MSGEQ7 strobe på A4, reset på D5, signal till A0
#include "SPI.h"
#include "Cube.h"
Kub kub;
int res = 5; återställa stiften på D5
int kvar [7]. lagra bandet värden i dessa matriser
int band;
void setup()
{
pinMode (res, produktionen); återställa
pinMode (A4, OUTPUT); strobe
digitalWrite(res,LOW);
digitalWrite(A4,HIGH);
Cube.BEGIN (-1, 115200);
Serial.BEGIN(9600);
}
void readMSGEQ7()
Funktionen för att läsa 7 band equalizers
{
digitalWrite (res, hög);
digitalWrite (res, låg);
för (band = 0; bandet < 7; bandet ++)
{
digitalWrite(A4,LOW); strobe stift på sköld - sparkar IC upp till det nästa bandet
delayMicroseconds(30); //
vänster [band] = analogRead(0); lagra bandet behandlingen
digitalWrite(A4,HIGH);
}
}
void loop()
{
readMSGEQ7();
för (band = 0; bandet < 7; bandet ++)
{
div varje band styrka i fyra lager, varje band då en av de udda diagonalerna
musikband ett ~ 63 Hz
om (lämnade [0] > = 768) {
Cube.set (3,3,3, blå);
}
annat
om (lämnade [0] > = 512) {
Cube.set (3,3,2, blå);
}
annat
om (lämnade [0] > = 256) {
Cube.set (3,3,1, blå);
}
annat
om (lämnade [0] > = 0) {
Cube.set (3,3,0, blå);
}
bandet två ~ 160 Hz
om (lämnade [1] > = 768)
{
Cube.set (3,2,3, blå);
Cube.set (2,3,3, blå);
}
annat
om (lämnade [1] > = 512)
{
Cube.set (3,2,2, blå);
Cube.set (2,3,2, blå);
}
annat
om (lämnade [1] > = 256)
{
Cube.set (3,2,1, blå);
Cube.set (2,3,1, blå);
}
annat
om (lämnade [1] > = 0)
{
Cube.set (3,2,0, blå);
Cube.set (2,3,0, blå);
}
bandet tre ~ 400 Hz
om (lämnade [2] > = 768)
{
Cube.set (3,1,3, blå);
Cube.set (2,2,3, blå);
Cube.set (1,3,3, blå);
}
annat
om (lämnade [2] > = 512)
{
Cube.set (3,1,2, blå);
Cube.set (2,2,2, blå);
Cube.set (1,3,2, blå);
}
annat
om (lämnade [2] > = 256)
{
Cube.set (3,1,1, blå);
Cube.set (2,2,1, blå);
Cube.set (1,3,1, blå);
}
annat
om (lämnade [2] > = 0)
{
Cube.set (3,1,0, blå);
Cube.set (2,2,0, blå);
Cube.set (1,3,0, blå);
}
fyra-bandet ~ 1 kHz
om (lämnade [3] > = 768)
{
Cube.set (3,0,3, blå);
Cube.set (2,1,3, blå);
Cube.set (1,2,3, blå);
Cube.set (0,3,3, blå);
}
annat
om (lämnade [3] > = 512)
{
Cube.set (3,0,2, blå);
Cube.set (2,1,2, blå);
Cube.set (1,2,2, blå);
Cube.set (0,3,2, blå);
}
annat
om (lämnade [3] > = 256)
{
Cube.set (3,0,1, blå);
Cube.set (2,1,1, blå);
Cube.set (1,2,1, blå);
Cube.set (0,3,1, blå);
}
annat
om (lämnade [3] > = 0)
{
Cube.set (3,0,0, blå);
Cube.set (2,1,0, blå);
Cube.set (1,2,0, blå);
Cube.set (0,3,0, blå);
}
bandet fem ~ 2,5 kHz
om (left [4] > = 768)
{
Cube.set (2,0,3, blå);
Cube.set (1,1,3, blå);
Cube.set (0,2,3, blå);
}
annat
om (left [4] > = 512)
{
Cube.set (2,0,2, blå);
Cube.set (1,1,2, blå);
Cube.set (0,2,2, blå);
}
annat
om (left [4] > = 256)
{
Cube.set (2,0,1, blå);
Cube.set (1,1,1, blå);
Cube.set (0,2,1, blå);
}
annat
om (left [4] > = 0)
{
Cube.set (2,0,0, blå);
Cube.set (1,1,0, blå);
Cube.set (0,2,0, blå);
}
bandet sex ~ 6.25 kHz
om (lämnade [5] > = 768)
{
Cube.set (1,0,3, blå);
Cube.set (0,1,3, blå);
}
annat
om (lämnade [5] > = 512)
{
Cube.set (1,0,2, blå);
Cube.set (0,1,2, blå);
}
annat
om (lämnade [5] > = 256)
{
Cube.set (1,0,1, blå);
Cube.set (0,1,1, blå);
}
annat
om (lämnade [5] > = 0)
{
Cube.set (1.0.0, blå);
Cube.set (0.1.0, blå);
}
bandet sju ~ 16 kHz
om (lämnade [6] > = 768)
{
Cube.set (0,0,3, blå);
}
annat
om (lämnade [6] > = 512)
{
Cube.set (0,0,2, blå);
}
annat
om (lämnade [6] > = 256)
{
Cube.set (0.0.1, blå);
}
annat
om (lämnade [6] > = 0)
{
Cube.set (0,0,0, blå);
}
}
nu klart KUBEN, eller om det är för långsam - upprepa processen men inaktivera lysdioder
Cube.all(Black);
}
// ----------------------------------------------------------------------------------------------------------------------

och en snabb video demonstration:

Se Steg
Relaterade Ämnen

3 x 3 x 3 LED Cube med valfri pc-kontroll

detta är min 3 x 3 x 3 led cube. Original är han kontrolleras med en pic16f628a. Den har 27 lysdioder och var och en av dem kan styras med pic. Du kan se nedan en video av min kub med pic.Jag har en fil, voorbeeldprogramma.hex, laddade upp så du kan...

8 LED cube (ingen mikrokontroller)

Denna enkla "ledde kub" krets genererar en slumpmässig sekvens utan användning av mikrokontroller. Det använder ett SKIFT register i en konfiguration som kallas Linjära Feedback SKIFT Register (LFSR).Steg 1: 8 LED cube på jobbet Du kan ordna LED...

Club Jameco 8 x 8 x 8 LED Cube Kit

finns det en uppsjö av 8 x 8 x 8 LED cube bygger på webben, så jag ska bara dela några bilder utan att gå in i stor detalj på min bygga och förmedla några tips som jag lärde mig på vägen.Jag tyckte att "kit" i detta fall innebar en låda full av...

2.5 D kant belysning Pixel LED Cube

Lysdioder är awesome, de är så små, men ljusa, färgglada men lätt att kontrollera. Många av oss börja känna LED sedan våra första lärdomar av elektronik. Och min kärlek till lysdioder började på samma gång. När jag visade en LED demo till mina vänner...

3D LED Cube

3D LED kuben är en riktigt cool enhet som gör att du kan se i tre dimensioner, få vissa djupseende och har 512 lysdioder eller 512 pixlar. Den är baserad på en arduino uno vilket är en Atmel AVR microcontroller en utveckling ombord med vissa standard...

3 x 3 LED Cube programmering tips (Arduino baserat)

hur man gör att cube gör vad du vill ha den till!Jag följde de instructable här och byggde en 3 x 3 LED cube drivs av en Arduino. Jag blev glad! Men det kunde endast göra en rutin. Igen och igen och igen och igen och igen... Så jag bestämde mig att f...

3 x 3 x 3 LED Cube med Arduino Lib

det finns andra Instructables om att bygga LED kuber, här är olika av flera skäl:1. det är byggt med ett lågt antal off-the-shelf komponenter och krokar direkt till Arduino.2. en tydlig, lätt för att reproducera krets diagram är försedd med massor av...

4 x 4 X 4 LED Cube konstruktion

i den här videon kommer jag att bygga LED cube. Jag kommer att visa hur man böja LED leder samt hur löda ihop allt.Bra länk för information om hur du gör detta samt en köpbara kit som har allt du behöver att bygga en är listade nedan.LED Cubehttp://w...

4 x 4 x 4 blå led cube [Altium Designer 10]

Min första 4 x 4 x 4 LED cube med diffust blå lysdioder. PCB som skapats med Altium Designer 10. Kommentera gärna ;)...

4 x 4 x 4 LED Cube med Charlieplexing

jag vet det finns massor av ibles på detta nu, men här är den metod jag använde att göra några LED kuber för min bröder detta förra julen. Elektronik är billigt och det tar inte mycket tid att snabbt göra en av dessa. Jag skrev en del mycket enkel ko...

4 x 4 x 4 LED cube

jag kommer att visa dig hur man gör en 4 x 4 x 4 led cube kontrolleras av en arduino duemilanove.DELAR:Arduino duemilanove64 lysdioder (färg spelar ingen roll)prototyping styrelseWire100 ohm motstånd (du behöver 16 av dem)lödkolv och lödSteg 1: Att g...

4 x 4 x 4 LED cube uppgradering med Skift register (74hc595)

projektet började med en påse med lysdioder som jag hade tagit bort från ficklampor, konvertera till UV ficklampor. Jag visste att jag skulle hitta något roligt för att använda dem med, men det var månader innan jag listade ut vad med dem att göra. N...

5 x 5 x 5 LED cube kör på Arduino Uno

Hej vänner, detta är min ta på en 5 x 5 x 5 LED cube, kan komma igång.Det första vi behöver göra är att få alla våra varor.Vi kommer att behöva...:125 lysdioder (se till att de är röd eller gul eller arduino kommer inte att kunna köra den)* tråd, mas...

8X8X8 3D RGB LED Cube

Det har varit en lång tid kommer, men min universella RGB kub är äntligen klar!Nu kan vi köra animationer och används av både Kevin Darrah och Nick Schulze (något modifierad, men i grunden identiskt - moll timing och lager kontroll tweaks var allt so...

8 x 8 x 8 LED cube tillägg

tänkte att jag skulle vilja dela några förhoppningsvis illustrativa bilder som jag gör på vägen som arbeta mig igenom den 8 x 8 x 8 instructable av Chr.Det är ett pågående arbete, och uppdateras som jag slutföra arbetet på min 8 x 8 x 8 kub, och hitt...

4 x 4 x 4 LED cube, med MSP430, med endast 3 nåla fast

detta är min 4 x 4 x 4 led cube projekt, gjort med MSP430, med endast 3 pins MSP, kopplingsschemat är visas i bilderna, hårdvaran består av 3 Skift register, 74595 och 4 NPN-transistorer...Du kan lära dig hur man gör en 4 x 4 x 4 LED cube av instruct...

4x4x4 RGB LED Cube

Länge sedan jag hittade en artikel på att göra en 8 x 8 x 8 RGB LED cube av Kevin Darrah.Detta inspirerade mig helt men att veta min fru skulle döda mig om jag tog över huset med brödunderläggen bestämde jag mig för att skala ner till en 4 x 4 x 4 RG...

4 x 4 x 4 RGB LED Cube

för ett tag sedan när jag först började använda Arduino, mitt första projekt var ett 4 x 4 x 4 LED cube, byggde jag den från en Guide jag hittade här i Instructables, jag visste inte något om programmering och lite om elektronik, men jag kunde bygga...

Klassiska LED Cube (slags :-)

OK, det är inte den klassiska 3 * 3 * 3 en-färg-LED cube men en 4 * 4 * 4 RGB kub, men åtminstone i en slags klassisk design ^^.Jag använde alla viktiga verktyg i vårt fablab för dessa objekt: pcb mill, laserskärare och 3D-skrivare - det senare i slu...