LED kubus Spectrum-Analyzer (3 / 4 stap)

Stap 3: De Arduino schets - deel één


De schets heeft twee hoofdfuncties – de eerste is het vastleggen van alle niveaus van de MSGEQ7 en de waarden voor elke frequentieband in een matrix plaatsen, en de tweede functie is het inschakelen van LEDs die het niveau voor elke band vertegenwoordigen. Als u hebt aandacht kan je afvragen hoe wij zeven frequentiebanden met een 4 x 4 x 4 LED kubus kan vertegenwoordigen. Eenvoudige – door het draaien van de kubus 45 graden kunt u zeven verticale kolommen voor LEDs (Zie de afbeelding van de kubus met de genummerde kolommen).

Dus bij het zoeken van de hoek zoals hierboven, je zeven verticale kolommen, elk met vier niveaus voor de LEDs hebt. De sterkte van elke frequentie kan dus worden onderverdeeld in vier niveaus, en vervolgens de juiste LED's ingeschakeld.
Nadat dit is gedaan voor elke band, alle van de LED's zijn uitgeschakeld en het proces herhaalt.

Omwille van de eenvoud heb ik van de kubus Arduino library gebruikt om het activeren van de LED's, waardoor ook de schets gemakkelijker te doorgronden. De eerste schets van het voorbeeld gebruikt slechts één kleur.

// ----------------------------------------------------------------------------------------------------------------------
Freetronics CUBE4: en MSGEQ7 spectrum analyser
MSGEQ7 stroboscoop op A4, reset op D5, signaal in A0
#include "SPI.h"
#include "Cube.h"
Kubus kubus;
int res = 5; Reset pinnen op D5
int links [7]; band waarden opslaan in deze arrays
int de band;
VOID Setup
{
pinMode (res, OUTPUT); Reset
pinMode (A4, uitvoer); Stroboscoop
digitalWrite(res,LOW);
digitalWrite(A4,HIGH);
Cube.begin (-1, 115200);
Serial.begin(9600);
}
VOID readMSGEQ7()
Functie te lezen 7 band equalizers
{
digitalWrite (res, hoge);
digitalWrite (res, laag);
voor (band = 0; band < 7; band ++)
{
digitalWrite(A4,LOW); Strobe pin op het schild - kicks de IC tot de volgende band
delayMicroseconds(30); //
links [band] = analogRead(0); opslaan van band-lezing
digitalWrite(A4,HIGH);
}
}
void loop
{
readMSGEQ7();
voor (band = 0; band < 7; band ++)
{
div elke band sterkte in vier lagen, elke band vervolgens één van de oneven diagonalen
een band ~ 63 Hz
Als (links [0] > = 768) {}
Cube.set (3,3,3, blauw);
}
anders
Als (links [0] > = 512) {}
Cube.set (3,3,2, blauw);
}
anders
Als (links [0] > = 256) {}
Cube.set (3,3,1, blauw);
}
anders
Als (links [0] > = 0) {}
Cube.set (3,3,0, blauw);
}
band twee ~ 160 Hz
Als (links [1] > = 768)
{
Cube.set (3,2,3, blauw);
Cube.set (2,3,3, blauw);
}
anders
Als (links [1] > = 512)
{
Cube.set (3,2,2, blauw);
Cube.set (2,3,2, blauw);
}
anders
Als (links [1] > = 256)
{
Cube.set (3,2,1, blauw);
Cube.set (2,3,1, blauw);
}
anders
Als (links [1] > = 0)
{
Cube.set (3,2,0, blauw);
Cube.set (2,3,0, blauw);
}
band drie ~ 400 Hz
Als (left [2] > = 768)
{
Cube.set (3,1,3, blauw);
Cube.set (2,2,3, blauw);
Cube.set (1,3,3, blauw);
}
anders
Als (left [2] > = 512)
{
Cube.set (3,1,2, blauw);
Cube.set (2,2,2, blauw);
Cube.set (1,3,2, blauw);
}
anders
Als (left [2] > = 256)
{
Cube.set (3,1,1, blauw);
Cube.set (2,2,1, blauw);
Cube.set (1,3,1, blauw);
}
anders
Als (left [2] > = 0)
{
Cube.set (3,1,0, blauw);
Cube.set (2,2,0, blauw);
Cube.set (1,3,0, blauw);
}
band vier ~ 1 kHz
Als (links [3] > = 768)
{
Cube.set (3,0,3, blauw);
Cube.set (2,1,3, blauw);
Cube.set (1,2,3, blauw);
Cube.set (0,3,3, blauw);
}
anders
Als (links [3] > = 512)
{
Cube.set (3,0,2, blauw);
Cube.set (2,1,2, blauw);
Cube.set (1,2,2, blauw);
Cube.set (0,3,2, blauw);
}
anders
Als (links [3] > = 256)
{
Cube.set (3,0,1, blauw);
Cube.set (2,1,1, blauw);
Cube.set (1,2,1, blauw);
Cube.set (0,3,1, blauw);
}
anders
Als (links [3] > = 0)
{
Cube.set (3,0,0, blauw);
Cube.set (2,1,0, blauw);
Cube.set (1,2,0, blauw);
Cube.set (0,3,0, blauw);
}
band vijf ~ 2,5 kHz
Als (left [4] > = 768)
{
Cube.set (2,0,3, blauw);
Cube.set (1,1,3, blauw);
Cube.set (0,2,3, blauw);
}
anders
Als (left [4] > = 512)
{
Cube.set (2,0,2, blauw);
Cube.set (1,1,2, blauw);
Cube.set (0,2,2, blauw);
}
anders
Als (left [4] > = 256)
{
Cube.set (2,0,1, blauw);
Cube.set (1,1,1, blauw);
Cube.set (0,2,1, blauw);
}
anders
Als (left [4] > = 0)
{
Cube.set (2,0,0, blauw);
Cube.set (1,1,0, blauw);
Cube.set (0,2,0, blauw);
}
band zes ~ 6,25 kHz
Als (links [5] > = 768)
{
Cube.set (1,0,3, blauw);
Cube.set (0,1,3, blauw);
}
anders
Als (links [5] > = 512)
{
Cube.set (1,0,2, blauw);
Cube.set (0,1,2, blauw);
}
anders
Als (links [5] > = 256)
{
Cube.set (1,0,1, blauw);
Cube.set (0,1,1, blauw);
}
anders
Als (links [5] > = 0)
{
Cube.set (1,0,0, blauw);
Cube.set (0,1,0, blauw);
}
band zeven ~ 16 kHz
Als (links [6] > = 768)
{
Cube.set (0,0,3, blauw);
}
anders
Als (links [6] > = 512)
{
Cube.set (0,0,2, blauw);
}
anders
Als (links [6] > = 256)
{
Cube.set (0,0,1, blauw);
}
anders
Als (links [6] > = 0)
{
Cube.set (0,0,0, blauw);
}
}
nu duidelijk van de kubus, of als dat te traag - Herhaal dit proces maar LEDs uitschakelen
Cube.all(Black);
}
// ----------------------------------------------------------------------------------------------------------------------

en een snelle video demonstratie:

Gerelateerde Artikelen

LED Audio Spectrum-Analyzer

LED Audio Spectrum-Analyzer

(tot het einde van de zomer, dit zal voortdurend worden totdat ik 100% klaar met het ben updaten) voor dit project ik ben het maken van een 20 x 32 LED matrix en een audio ingang voor interactie met een Arduino DUE frequentiebanden te versterken. Zoa
Audio Spectrum Analyzer Infinity spiegel

Audio Spectrum Analyzer Infinity spiegel

er is iets fascinerend over opvlammende lichten in sync met muziek. lol. Waarom niet het effect te vermengen met een oneindigheid spiegel?Delen:• spiegel, valse spiegel en een spacer tussen de 2.• 21 RGB gemeenschappelijke kathode LEDs• 8 x 8 LED Aud
Muziekgestuurde LED Spectrum-Analyzer

Muziekgestuurde LED Spectrum-Analyzer

Deze gids zal u tonen hoe te bouwen van een LED-spectrum-analyzer. Ik bouwde dit als toevoeging aan mijn arcade kabinet, maar u kunt deze handleiding hergebruiken en het licht bar overal gebruiken u wilt een geluidsgeactiveerde lichte weergave.De lic
Raspberry Pi Spectrum-Analyzer met RGB LED-Strip en Python

Raspberry Pi Spectrum-Analyzer met RGB LED-Strip en Python

op zoek naar een eerste project om uit te proberen op een Raspberry Pi, ik wel wat beter dan een Spectrum Analyzer? (Soms dit display is ten onrechte bedoeld als een grafische equalizer--dat laten we u het geluid, niet weer te geven)Ik was in staat o
$9 bouwen een 4 x 4 x 4 RGB LED-kubus met animatie Schepper

$9 bouwen een 4 x 4 x 4 RGB LED-kubus met animatie Schepper

RGB LED kubus is geweldig, maar het heeft veel geleid been te construeren en prijs is hoog, dus hier is het goedkoopste onderdeel kunnen we met 64 RGB LED, moet u wellicht alle delen DIY door uw zelf, als wij het schema en de indeling van de PCB.Ga h
ATtiny85 Spectrum-Analyzer met fix_FFT

ATtiny85 Spectrum-Analyzer met fix_FFT

ATtiny85 spectrum analyzer voor muziek naar RGB LED met FFTEnthousiast over de nieuwe ontdekking van FHT bibliotheek. Jou echt zeker wilt probeer het op een ATtiny85. Na uren masseren van de code om het te laten werken, helaas komen geen aan function
Arduino / verwerking Audio Spectrum-Analyzer

Arduino / verwerking Audio Spectrum-Analyzer

In dit Instructable ga ik laten zien hoe een programma bij de verwerking van die geluid op uw computer analyseert en verzendt gegevens naar een Arduino waarmee een matrix LED om aan te tonen van het spectrum-analyse.Ik zal uitleggen waar u materialen
Spectrum Analyzer spreker toren

Spectrum Analyzer spreker toren

Ik besloot om eindelijk het bouwen van de toren van de spreker die ik heb zin om voor enige tijd. Hoewel ik niet heb een complete instructable op het project, ik heb weten te breken een paar foto's langs de weg.De spreker toren maakt gebruik van vers
DIY | 3 x 3 x 3 LED kubus voor Arduino Nano +

DIY | 3 x 3 x 3 LED kubus voor Arduino Nano +

Hi iedereen!Mijn naam is RGBFreak en ik een YouTube-kanaal vrij recent gemaakt.Ik hou van DIY en ik hou vooral van LED's, dus daarom heb ik besloten om mijn eigen 3 x 3 x 3 LED kubus!U moet de volgende items te maken van deze LED-kubus:• 27 enkele ge
LED kubus met Arduino en aangepaste PCB

LED kubus met Arduino en aangepaste PCB

dit instructable details over het ontwerp en bouwproces voor een 5 x 5 x 5 LED-kubus, instelbaar met behulp van een Arduino, die zich op een aangepaste printplaat bevindt.Extra informatie, foto's en video's vindt u op mijn website.Het afgewerkt produ
ARDUINO UNO LED kubus dansen lichten

ARDUINO UNO LED kubus dansen lichten

laat zien hoe maak je dansende lichten LED kubus met behulp van de arduino uno.Voor dit project arduino uno is must en 64 LED's u nodig hebt voor uw kleurkeuze.Ik heb blauwe LED's gebruikt voor dit project.U wilt alle soldeer 64 leidde de laag voor l
LED kubus 4 x 4 x 4

LED kubus 4 x 4 x 4

Amazing 3 dimensionele LED-display.64 LEDs vormt deze 4 bij 4 van 4 cube, bestuurd door een microcontroller van Atmel Atmega16.Elke LED kan afzonderlijk worden aangepakt in software, waardoor er een geweldige 3D-animaties weergeven!8 x 8 x 8 LED kubu
JolliCube - een 8 x 8 x 8 LED kubus (SPI)

JolliCube - een 8 x 8 x 8 LED kubus (SPI)

LED-Cubes faalt nooit om indruk op ons. Sommige animaties op 7 x 7 x 7 of groter kijken kunnen LED kubussen zeer fascinerend.We hebben lang gezocht om te bouwen tot deze kubussen groter dan 7 x 7 x 7. Wij kan onderzocht online voor vergelijkbare proj
Klassieke LED kubus (soort :-)

Klassieke LED kubus (soort :-)

OK, dat is niet de klassieke 3 * 3 * 3 één-kleur-LED cube maar een 4 * 4 * 4 RGB-kubus, maar ten minste in een soort van klassieke ontwerpen ^^.Gebruikte ik alle belangrijke hulpmiddelen in onze fablab voor deze object: pcb molen, laser cutter en 3D-