halo guys, i have a project with Arduino Mega, 74HC595, 58 LEDs, 26 Buttons and sound(MP3 player).
the system maybe simple to you guys,
you push button number 1 so LED number 1 and sound will be trigger.
if you pushs the button number 2, the LED number 2 will be trigger to On and LED number 1 will go OFF.
and if you push button number 3 the LED number 1 and 2 will be trigger to ON.
the sound(Mp3 player) and button have already working properly, the problem is, I can't control the LEDs.
and I've been assembly the button into matrix 6x5 (LEDs total are 26).
I'm using the 74HC595 to control the LEDs. and i don't understand how to program the LEDs
i will give you the syntax i made before, i hope you guys can help me.
-Sorry for the bad English
#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>
int r1=A1;
int r2=A2;
int r3=A3;
int r4=A4;
int r5=A5;
int r6=A6;
int c1=A8;
int c2=A9;
int c3=A10;
int c4=A11;
int c5=A12;
int colm1;
int colm2;
int colm3;
int colm4;
int colm5;
//------------------ Init 74HC595 ------------------------------------------
int clockPin = 12; //IC Pin 11, Yellow Jumper
int dataPin = 11; //IC Pin 14, Blue Jumper
int latchPin = 8; //IC Pin 12, Green Jumper
byte patterns[30] = {
B00000001,};
byte patterns2[30] ={
B00000010,
};
int index = 0;
int count = sizeof(patterns) / 2;
int count1 = sizeof(patterns2)/2;
//------------------------- VOID -------------------------------------------------
void setup() {
pinMode(r1,OUTPUT);
pinMode(r2,OUTPUT);
pinMode(r3,OUTPUT);
pinMode(r4,OUTPUT);
pinMode(r5,OUTPUT);
pinMode(r6,OUTPUT);
pinMode(c1,INPUT);
pinMode(c2,INPUT);
pinMode(c3,INPUT);
pinMode(c4,INPUT);
pinMode(c5,INPUT);
digitalWrite(c1,HIGH);
digitalWrite(c2,HIGH);
digitalWrite(c3,HIGH);
digitalWrite(c4,HIGH);
digitalWrite(c5,HIGH);
Serial.begin(9600);
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
mp3_set_serial (Serial);
delay(1);
mp3_set_volume(20);}
void loop() {
/*digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, patterns[index * 2]);
digitalWrite(latchPin, HIGH);
delay(patterns[(index * 2) + 1]);
//index++;
if (index >= count){
index = 0;*/
digitalWrite(r1,LOW);
digitalWrite(r2,HIGH);
digitalWrite(r3,HIGH);
digitalWrite(r4,HIGH);
digitalWrite(r5,HIGH);
digitalWrite(r6,HIGH);
colm1=digitalRead(c1);
colm2=digitalRead(c2);
colm3=digitalRead(c3);
colm4=digitalRead(c4);
colm5=digitalRead(c5);
if(colm1==LOW){
{Serial.println("A1");
digitalWrite (latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, patterns[index*2]);
digitalWrite(latchPin, HIGH);
delay(patterns[(index*2)+1]);
(index >= count);{ index =0;
//delay(200);
mp3_play(15);
//digitalWrite(clear, LOW);
delay(10000);
}}}
else
// digitalWrite(latchPin, HIGH);
{
if(colm2==LOW)
{Serial.println("A2");
digitalWrite(latchPin, HIGH);
shiftOut(dataPin, clockPin, MSBFIRST, patterns2[index*2]);
digitalWrite(latchPin, LOW);
delay(patterns2[(index*2)+1]);
(index>=count1);{index = 0;
//mp3_play(16);
//delay(10000);
}}
else
{
if(colm3==LOW)
{Serial.println("A3");
delay(200);}
else
{
if(colm4==LOW)
{Serial.println("A4");
delay(200);}
else
{
if(colm5==LOW)
{Serial.println("A5");
delay(200);}
}}}
digitalWrite(r1,HIGH);
digitalWrite(r2,LOW);
digitalWrite(r3,HIGH);
digitalWrite(r4,HIGH);
digitalWrite(r5,HIGH);
digitalWrite(r6,HIGH);
colm1=digitalRead(c1);
colm2=digitalRead(c2);
colm3=digitalRead(c3);
colm4=digitalRead(c4);
colm5=digitalRead(c5);
if(colm1==LOW)
{Serial.println("A6");
delay(200);}
else
{
if(colm2==LOW)
{Serial.println("A7");
delay(200);}
else
{
if(colm3==LOW)
{Serial.println("A8");
delay(200);}
else
{
if(colm4==LOW)
{Serial.println("A9");
delay(200);}
else
{
if(colm5==LOW)
{Serial.println("A10");
delay(200);}
}}}
digitalWrite(r1,HIGH);
digitalWrite(r2,HIGH);
digitalWrite(r3,LOW);
digitalWrite(r4,HIGH);
digitalWrite(r5,HIGH);
digitalWrite(r6,HIGH);
colm1=digitalRead(c1);
colm2=digitalRead(c2);
colm3=digitalRead(c3);
colm4=digitalRead(c4);
colm5=digitalRead(c5);
if(colm1==LOW)
{Serial.println("A11");
delay(200);}
else
{
if(colm2==LOW)
{Serial.println("A12");
delay(200);}
else
{
if(colm3==LOW)
{Serial.println("A13");
delay(200);}
else
{
if(colm4==LOW)
{Serial.println("A14");
delay(200);}
else
{
if(colm5==LOW)
{Serial.println("A15");
delay(200);}
}}}
digitalWrite(r1,HIGH);
digitalWrite(r2,HIGH);
digitalWrite(r3,HIGH);
digitalWrite(r4,LOW);
digitalWrite(r5,HIGH);
digitalWrite(r6,HIGH);
colm1=digitalRead(c1);
colm2=digitalRead(c2);
colm3=digitalRead(c3);
colm4=digitalRead(c4);
colm5=digitalRead(c5);
if(colm1==LOW)
{Serial.println("A16");
delay(200);}
else
{
if(colm2==LOW)
{Serial.println("A17");
delay(200);}
else
{
if(colm3==LOW)
{Serial.println("A18");
delay(200);}
else
{
if(colm4==LOW)
{Serial.println("A19");
delay(200);}
else
{
if(colm5==LOW)
{Serial.println("A20");
delay(200);}
}}}
digitalWrite(r1,HIGH);
digitalWrite(r2,HIGH);
digitalWrite(r3,HIGH);
digitalWrite(r4,HIGH);
digitalWrite(r5,LOW);
digitalWrite(r6,HIGH);
colm1=digitalRead(c1);
colm2=digitalRead(c2);
colm3=digitalRead(c3);
colm4=digitalRead(c4);
colm5=digitalRead(c5);
if(colm1==LOW)
{Serial.println("21");
delay(200);}
else
{
if(colm2==LOW)
{Serial.println("22");
delay(200);}
else
{
if(colm3==LOW)
{Serial.println("23");
delay(200);}
else
{
if(colm4==LOW)
{Serial.println("24");
delay(200);}
else
{
if(colm5==LOW)
{Serial.println("25");
delay(200);}
}}}
digitalWrite(r1,HIGH);
digitalWrite(r2,HIGH);
digitalWrite(r3,HIGH);
digitalWrite(r4,HIGH);
digitalWrite(r5,HIGH);
digitalWrite(r6,LOW);
colm1=digitalRead(c1);
colm2=digitalRead(c2);
colm3=digitalRead(c3);
colm4=digitalRead(c4);
colm5=digitalRead(c5);
if(colm1==LOW)
{Serial.println("26");
delay(200);}
else
{
if(colm2==LOW)
{Serial.println("27");
delay(200);}
else
{
if(colm3==LOW)
{Serial.println("28");
delay(200);}
else
{
if(colm4==LOW)
{Serial.println("29");
delay(200);}
else
{
if(colm5==LOW)
{Serial.println("30");
delay(200);}
}
} }}}}}}}}
cobaSoreIni_contoh_Forum.ino (6.07 KB)