Hallo zusammen,
hab gestern die TonUINO-Box und das Forum hier entdeckt und bin echt begeistert.
Da noch nicht alle Bauteile da sind, ich aber zu Hause noch einen Arduino Uno rumfliegen hatte mit diversen Teilen dazu, hab ich mich direkt an eine kleine Erweiterung gemacht.
Mit Hilfe einer 8x8 LED-Matrix… (so sieht die aus:)
…habe ich ein kleines Programm geschrieben, dass bei den verschiedenen Lautstärkestufen in Form einer größer werdenden Pyramide die Lautstärke anzeigt.
Das Programm funktioniert auch gut, leider bin ich nicht versiert genug, um zu entscheiden, an welcher Stelle ich das in die 1800 Zeilen Code einfügen muss.
Vielleicht könnte mir hier jemand weiterhelfen.
(Die Variable volume habe ich in meinem Programm nur testhalber festgelegt, der Wert wird dann natürlich übernommen)
Hier mein kleines Programm, das man sicher gesehen haben muss, um die Frage zu beantworten. Gerne auch zum weiterbenutzen!
#include "LedControl.h"
int volume = 10;
/*
pin 12 is connected to the DataIn
pin 11 is connected to LOAD(CS)
pin 10 is connected to the CLK
We have only a single MAX72XX.
*/
LedControl lc=LedControl(12,10,11,1);
/* we always wait a bit between updates of the display */
unsigned long delaytime1=1000;
unsigned long delaytime2=50;
void setup() {
/*
The MAX72XX is in power-saving mode on startup,
we have to do a wakeup call
*/
lc.shutdown(0,false);
/* Set the brightness to a medium values */
lc.setIntensity(0,8);
/* and clear the display */
lc.clearDisplay(0);
}
void volumeIsOne() {
byte a[8]={B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001};
lc.setRow(0,0,a[0]);
lc.setRow(0,1,a[1]);
lc.setRow(0,2,a[2]);
lc.setRow(0,3,a[3]);
lc.setRow(0,4,a[4]);
lc.setRow(0,5,a[5]);
lc.setRow(0,6,a[6]);
lc.setRow(0,7,a[7]);
}
void volumeIsTwo() {
byte a[8]={B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B00000001};
lc.setRow(0,0,a[0]);
lc.setRow(0,1,a[1]);
lc.setRow(0,2,a[2]);
lc.setRow(0,3,a[3]);
lc.setRow(0,4,a[4]);
lc.setRow(0,5,a[5]);
lc.setRow(0,6,a[6]);
lc.setRow(0,7,a[7]);
}
void volumeIsThree() {
byte a[8]={B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000011,B00000001};
lc.setRow(0,0,a[0]);
lc.setRow(0,1,a[1]);
lc.setRow(0,2,a[2]);
lc.setRow(0,3,a[3]);
lc.setRow(0,4,a[4]);
lc.setRow(0,5,a[5]);
lc.setRow(0,6,a[6]);
lc.setRow(0,7,a[7]);
}
void volumeIsFour() {
byte a[8]={B00000000,B00000000,B00000000,B00000000,B00001111,B00000111,B00000011,B00000001};
lc.setRow(0,0,a[0]);
lc.setRow(0,1,a[1]);
lc.setRow(0,2,a[2]);
lc.setRow(0,3,a[3]);
lc.setRow(0,4,a[4]);
lc.setRow(0,5,a[5]);
lc.setRow(0,6,a[6]);
lc.setRow(0,7,a[7]);
}
void volumeIsFive() {
byte a[8]={B00000000,B00000000,B00000000,B00011111,B00001111,B00000111,B00000011,B00000001};
lc.setRow(0,0,a[0]);
lc.setRow(0,1,a[1]);
lc.setRow(0,2,a[2]);
lc.setRow(0,3,a[3]);
lc.setRow(0,4,a[4]);
lc.setRow(0,5,a[5]);
lc.setRow(0,6,a[6]);
lc.setRow(0,7,a[7]);
}
void volumeIsSix() {
byte a[8]={B00000000,B00000000,B00111111,B00011111,B00001111,B00000111,B00000011,B00000001};
lc.setRow(0,0,a[0]);
lc.setRow(0,1,a[1]);
lc.setRow(0,2,a[2]);
lc.setRow(0,3,a[3]);
lc.setRow(0,4,a[4]);
lc.setRow(0,5,a[5]);
lc.setRow(0,6,a[6]);
lc.setRow(0,7,a[7]);
}
void volumeIsSeven() {
byte a[8]={B00000000,B01111111,B00111111,B00011111,B00001111,B00000111,B00000011,B00000001};
lc.setRow(0,0,a[0]);
lc.setRow(0,1,a[1]);
lc.setRow(0,2,a[2]);
lc.setRow(0,3,a[3]);
lc.setRow(0,4,a[4]);
lc.setRow(0,5,a[5]);
lc.setRow(0,6,a[6]);
lc.setRow(0,7,a[7]);
}
void volumeIsEight() {
byte a[8]={B11111111,B01111111,B00111111,B00011111,B00001111,B00000111,B00000011,B00000001};
lc.setRow(0,0,a[0]);
lc.setRow(0,1,a[1]);
lc.setRow(0,2,a[2]);
lc.setRow(0,3,a[3]);
lc.setRow(0,4,a[4]);
lc.setRow(0,5,a[5]);
lc.setRow(0,6,a[6]);
lc.setRow(0,7,a[7]);
}
void loop() {
if (volume >=25) {
volumeIsEight();
}
else if (volume >=22) {
volumeIsSeven();
}
else if (volume >=19) {
volumeIsSix();
}
else if (volume >=16) {
volumeIsFive();
}
else if (volume >=13) {
volumeIsFour();
}
else if (volume >=10) {
volumeIsThree();
}
else if (volume >=7) {
volumeIsTwo();
}
else {
volumeIsOne();
}
}
Vielen Dank schonmal im Vorraus