Arduino gebaseerde visuele muziek display (3 / 4 stap)

Stap 3: De Code:


Tijd voor het programmeren van de Arduino! Gelukkig, het programma is een eenvoudige als de bedrading. Voel je vrij om te knoeien met de code!

Er zijn twee verschillende programma's, met iets andere code, die verschillende looks te bereiken. De eerste ziet er minder veerkrachtige en flikkert/verdwijnt de LEDs meer. De tweede is springerige en de LEDs zo veel niet vervagen. U kunt downloaden hen via de zip-bestanden, of exemplaar/verleden vanaf hier.

Hier is de code voor de eerste versie, AudioVisualDisplay:

 /* * AudioVisualDisplay, a program by Jacob Field, written for the arduino * UNO. This program uses 6 LEDs connected to pins 8, 9, 10, 11, 12, * and 13 as a visual volume display for audio. The audio to be displayed * is fed into the Arduino via the analog pin A0. I recommend using a * second audio jack so you can hear the audio being played. ;) Feel free * to use this code, or any part of it, in your own personal projects, * or distribute it freely as you see fit, just give credit where credit * is due. */ byte ledValue; int signalIn; void setup() { //Set all the LED pins as outputs pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT); pinMode(13, OUTPUT); } void loop() { signalIn = analogRead(A0); //Read the analog value and store it ledValue = map(signalIn, 0, 100, 0, 6); //Convert the 10 bit value down to only 7 different values switch(ledValue){ case 0: //If the value is 0, set all the LEDs low digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); digitalWrite(12, LOW); digitalWrite(13, LOW); break; case 1: //If the value is 1, set the first LED high digitalWrite(8, HIGH); digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); digitalWrite(12, LOW); digitalWrite(13, LOW); break; case 2: //If the value is 2, set the first 2 LEDs high digitalWrite(8, HIGH); digitalWrite(9, HIGH); digitalWrite(10, LOW); digitalWrite(11, LOW); digitalWrite(12, LOW); digitalWrite(13, LOW); break; case 3: //If the value is 3, set the first 3 LEDs high digitalWrite(8, HIGH); digitalWrite(9, HIGH); digitalWrite(10, HIGH); digitalWrite(11, LOW); digitalWrite(12, LOW); digitalWrite(13, LOW); break; case 4: //If the value is 4, set the first 4 LEDs high digitalWrite(8, HIGH); digitalWrite(9, HIGH); digitalWrite(10, HIGH); digitalWrite(11, HIGH); digitalWrite(12, LOW); digitalWrite(13, LOW); break; case 5: //If the value is 5, set the first 5 LEDs high digitalWrite(8, HIGH); digitalWrite(9, HIGH); digitalWrite(10, HIGH); digitalWrite(11, HIGH); digitalWrite(12, HIGH); digitalWrite(13, LOW); break; case 6: //If the value is 6, set all the LEDs high digitalWrite(8, HIGH); digitalWrite(9, HIGH); digitalWrite(10, HIGH); digitalWrite(11, HIGH); digitalWrite(12, HIGH); digitalWrite(13, HIGH); break; } } 

Hier is de code voor de tweede versie, AudioVisualDisplayRev2:

 /* * AudioVisualDisplay, Revision 2, a program by Jacob Field, written for the * arduino UNO. This version uses a different algorithm to analyze the * signal, creating a diffrent look This program uses 6 LEDs connected to pins * 8, 9, 10, 11, 12, and 13 as a visual volume display for audio. The * audio to be displayed is fed into the Arduino via the analog pin A0. * I recommend using a second audio jack so you can hear the audio being * played. ;) Feel free to use this code, or any part of it, in your own * personal projects, or distribute it freely as you see fit, just give * credit where credit is due. */ byte ledValue; int valueHigh; int signalIn; void setup() { //Set all the LED pins as outputs pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT); pinMode(13, OUTPUT); } void loop() { signalIn = analogRead(A0); //Read the analog value and store it valueHigh = valueHigh - 5; //Subtract 5 from valueHigh so that it goes down over time if(signalIn >= valueHigh){ //If the value coming from the audio jack is higher than the previous value of valueHigh: valueHigh = signalIn; //Set valueHigh to thge value coming in from the audio jack } ledValue = map(valueHigh, 0, 100, 0, 6); //Convert the 10 bit value down to only 7 different values switch(ledValue){ case 0: //If the value is 0, set all the LEDs low digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); digitalWrite(12, LOW); digitalWrite(13, LOW); break; case 1: //If the value is 1, set the first LED high digitalWrite(8, HIGH); digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); digitalWrite(12, LOW); digitalWrite(13, LOW); break; case 2: //If the value is 2, set the first 2 LEDs high digitalWrite(8, HIGH); digitalWrite(9, HIGH); digitalWrite(10, LOW); digitalWrite(11, LOW); digitalWrite(12, LOW); digitalWrite(13, LOW); break; case 3: //If the value is 3, set the first 3 LEDs high digitalWrite(8, HIGH); digitalWrite(9, HIGH); digitalWrite(10, HIGH); digitalWrite(11, LOW); digitalWrite(12, LOW); digitalWrite(13, LOW); break; case 4: //If the value is 4, set the first 4 LEDs high digitalWrite(8, HIGH); digitalWrite(9, HIGH); digitalWrite(10, HIGH); digitalWrite(11, HIGH); digitalWrite(12, LOW); digitalWrite(13, LOW); break; case 5: //If the value is 5, set the first 5 LEDs high digitalWrite(8, HIGH); digitalWrite(9, HIGH); digitalWrite(10, HIGH); digitalWrite(11, HIGH); digitalWrite(12, HIGH); digitalWrite(13, LOW); break; case 6: //If the value is 6, set all the LEDs high digitalWrite(8, HIGH); digitalWrite(9, HIGH); digitalWrite(10, HIGH); digitalWrite(11, HIGH); digitalWrite(12, HIGH); digitalWrite(13, HIGH); break; } } 

Gerelateerde Artikelen

Arduino + TFT visuele muziek =

Arduino + TFT visuele muziek =

Samenvatting:Audio: In dit project de Arduino leest een reeks van nota's geschreven in de notatie van de muziekformaat hebben wij gevraagd makkelijke taal van de muziek. Elke muzikale opmerking (of rest) selecteert, bepaalt de frequentie en speelt di
Zeven Segment Display Thermometer - Arduino gebaseerd

Zeven Segment Display Thermometer - Arduino gebaseerd

Vandaag zal ik u tonen hoe te maken van uw eigen 7 segment - 2 digit - thermometer met Arduino uno en DS18B20 temperatuursensor.Ik verkies om te bouwen van mijn eigen arduino gebaseerd circuit met behulp van de ATmega328p uno bezitter, maar dit is op
Arduino gebaseerd Bi-color LED Matrix Audio Spectrum Visualizer

Arduino gebaseerd Bi-color LED Matrix Audio Spectrum Visualizer

Nadat we met de Bi-color LED Matrix Driver Module kit kwamen, we hebben ons gebogen rond voor interessante projecten te werken.Bent u wellicht geïnteresseerd in een aantal van de projecten die we hebben opgemaakt op instructables met behulp van deze
Arduino gebaseerde Bi-color LED Matrix Flappy Bird Game

Arduino gebaseerde Bi-color LED Matrix Flappy Bird Game

We hebben een flink aantal projecten met behulp van de Bi-kleur (rood en groen) LED Matrix Driver Module kits van jolliFactory gebouwd en ze hebben gepubliceerd als instructables hier. Elk van deze modules twee MAX7219 Display Driver ICs gebruikt voo
Arduino gebaseerde Bi-color LED Matrix Tetris Game

Arduino gebaseerde Bi-color LED Matrix Tetris Game

Een van de elektronica DIY kit jolliFactory kwam omhoog met is de Bi-color LED Matrix Driver Module Kit. Deze module is ontworpen om kunnen keten-zodat u kan serieschakeling de modules samen aan het aantal modules moet u past bij uw project.De volgen
Arduino gebaseerde Split-Flap game

Arduino gebaseerde Split-Flap game

We hebben een grote traditie van de Nederlandse vakantie genaamd sinterklaas (5 december, dit is dat wat de Amerikaanse Santa is gebaseerd op). Voor de oudere "non-believers" we verrassingen. Het doel is te kopen van een klein cadeautje, maar ee
Arduino gebaseerde Bi-color LED Matrix Snake Game

Arduino gebaseerde Bi-color LED Matrix Snake Game

We laten zien hoe een Arduino gebaseerd Bi-color LED Matrix Tetris spel kan worden gebouwd in ons laatste instructable. We waren heel verrassing het werd gekenmerkt op de homepage van Instructables en vrij een handvol favorieten hebt opgeslaen gedure
Arduino gebaseerd tijdsgebeurtenis logger

Arduino gebaseerd tijdsgebeurtenis logger

In het volgende voorbeeld broncode voor een Arduino gebaseerd tijdsgebeurtenis datalogger.  Toont interrupts, asynchrone logboekregistratie en contact-stuiteren.  Bestemd voor een positieschakelaar wiel logs moment waartegen de schakelaar is betrokke
Maak kennis met Climaduino - de Arduino gebaseerde thermostaat die u van uw telefoon controleren!

Maak kennis met Climaduino - de Arduino gebaseerde thermostaat die u van uw telefoon controleren!

Update:Er is een nieuwe versie van de Climaduino en de Climaduino Controller met enkele zeer belangrijke wijzigingen.Ondersteunt meerdere zonesDe Yún van de Arduino gebruiktWerken met centrale airconditioningCommuniceert met het MQTT -protocol (kunt
ARDUINO gebaseerde MPPT SOLAR CHARGE CONTROLLER

ARDUINO gebaseerde MPPT SOLAR CHARGE CONTROLLER

ARDUINO GEBASEERDE MPPT SOLAR CHARGE CONTROLLERGa naar mijn Website voor schema en code ARDUINO gebaseerde MPPT SOLAR CHARGE CONTROLLERWat is Mppt (Maximum power point bijhouden)?"we gebruiken MPPT algoritme om de maximum beschikbare energie van de f
Mobiele robotica met Scratch: een Arduino gebaseerde insect-achtige Walker bouwen en programmeren met Scratch

Mobiele robotica met Scratch: een Arduino gebaseerde insect-achtige Walker bouwen en programmeren met Scratch

Laten we scurry rond? Dit is een Arduino gebaseerde, gemakkelijk om te bouwen van de versie van het insect-achtige walker gemaakt met kapstok draad en oorspronkelijk ontworpen door Jerome Demers (Zie ook dit instructable) en Gareth Branwyn. Het komt
Arduino gebaseerd Lap Timer

Arduino gebaseerd Lap Timer

Onlangs kregen we greep van een "Crazy Cart", een ernstig koele winkelwagen race rond met. Zoals we alleen een hebben, wilde ik iets te maken het rijden een beetje concurrerender, zodat ik het opbouwen van een Arduino gebaseerd Lap Timer.De Lap
Arduino gebaseerde Smart Home IOT systeem

Arduino gebaseerde Smart Home IOT systeem

Hallo, ik ben Michalis Vasilakis uit Ardumotive.com en in deze handleiding Instructables zal ik u tonen hoe kunt u gemakkelijk maken uw eigen smart home systeem op basis van Arduino uno en een Ethernet-module (of schild).U zal zitten kundig voor gebr
Monteren van een Arduino gebaseerd rook / hitte Alarm

Monteren van een Arduino gebaseerd rook / hitte Alarm

Zoals je uit deze blog entry zien kunt ik ontwikkelde de basis voor dit project twee jaar geleden als een alarm / uitschakeling schakelaar voor de RepRap 3D Printer kit die ik had net samengesteld... en dat had gerookt!Het eerste ProjectIk heb sindsd