Hello I'm having some trouble, I've been surfing the internet reading tutorials and finding information out. I've built a circuit with buttons and now added a 74HC595 shift register and wired it up all correctly. I have added one of these because I have nearly run out of pins I will eventually need to add another because I want to control 6 common cathode led's (I only need the red and green led). I'm wanting to turn a led on when the push button is pressed and the off when pressed again. I can't really seem to find a tutorial online to control just 1 led, a lot of them are matrix codes with multiple led's. I'm not asking for anyone to do this for me, just to help me and guide me the correct way so I can pick things up.
The program I am using which fully works, it has a led already connected but I want to move this led to a pin on the shift register and control it using any button. because I plan to learn how to control one led then program the other buttons and led's to what I need. Sorry I'm quite new to this but I have been trying to learn.
#include <SoftwareSerial.h>
SoftwareSerial midi(0,1); ///RX TX
int clearbtn = 9;
int recordbtn = 5;
int stopbtn = 6;
int track1btn = 10;
int track2btn = 11;
int track3btn = 12;
int track4btn = 13;
int modebtn = 8;
int undobtn = 7
int led = 2
int toggle1 = 0;
int toggle2 = 0;
int toggle3 = 0;
int toggle4 = 0;
int toggle5 = 0;
int toggle6 = 0;
int toggle7 = 0;
int toggle8 = 0;
int toggle9 = 0;
int mode = 0;
void setup(){
pinMode (clearbtn, INPUT_PULLUP);
pinMode (undobtn, INPUT_PULLUP);
pinMode (recordbtn, INPUT_PULLUP);
pinMode (stopbtn, INPUT_PULLUP);
pinMode (track1btn, INPUT_PULLUP);
pinMode (track2btn, INPUT_PULLUP);
pinMode (track3btn, INPUT_PULLUP);
pinMode (track4btn, INPUT_PULLUP);
pinMode (modebtn, INPUT_PULLUP);
pinMode (undobtn, INPUT_PULLUP);
pinMode (led, OUTPUT);
digitalWrite(led, HIGH);
delay(250);
digitalWrite(led, LOW);
delay(250);
digitalWrite(led, HIGH);
delay(250);
digitalWrite(led, LOW);
delay(250);
digitalWrite(led, HIGH);
delay(250);
digitalWrite(led, LOW);
delay(250);
midi.begin(31250);
}
void loop(){
if (digitalRead(undobtn) == HIGH && toggle1 == 0){
toggle1 = 1;
if(mode == 0){
midi.write(0x90);
midi.write(0x41);
midi.write(0x01);
// delay(300);
}
if(mode == 1){
midi.write(0x90);
midi.write(0x36);
midi.write(0x01);
// delay(300);
}
}
if (digitalRead(undobtn) == LOW && toggle1 == 1){
toggle1=0;
if(mode == 0){
midi.write(0x90);
midi.write(0x41);
midi.write((byte)0x00);
delay(300);
}
if(mode == 1){
midi.write(0x90);
midi.write(0x36);
midi.write((byte)0x00);
delay(300);
}
}
if(digitalRead(clearbtn) == HIGH && toggle2 == 0){
toggle2 = 1;
if(mode == 0){
midi.write(0x90);
midi.write(0x01);
midi.write(0x45);
//delay(300);
}
if(mode == 1){
midi.write(0x90);
midi.write(0x37);
midi.write(0x45);
//delay(300);
}
}
if(digitalRead(clearbtn) == LOW && toggle2 == 1){
toggle2 = 0;
if(mode == 0){
midi.write(0x90);
midi.write(0x01);
midi.write((byte)0x00);
delay(300);
}
if(mode == 1){
midi.write(0x90);
midi.write(0x37);
midi.write((byte)0x00);
delay(300);
}
}
if(digitalRead(recordbtn) == HIGH && toggle3 == 0){
toggle3 = 1;
if(mode == 0){
midi.write(0x90);
midi.write(0x10);
midi.write(0x45);
//delay(300);
}
if(mode == 1){
midi.write(0x90);
midi.write(0x35);
midi.write(0x45);
// delay(300);
}
}
if(digitalRead(recordbtn) == LOW && toggle3 == 1){
toggle3 = 0;
if(mode == 0){
midi.write(0x90);
midi.write(0x10);
midi.write((byte)0x00);
delay(300);
}
if(mode == 1){
midi.write(0x90);
midi.write(0x35);
midi.write((byte)0x00);
delay(300);
}
}
if(digitalRead(stopbtn) == HIGH && toggle4 == 0){
toggle4 = 1;
///Serial.println("mute/stop");
if(mode == 0){
midi.write(0x90);
midi.write(0x07);
midi.write(0x45);
//delay(300);
}
if(mode == 1){
midi.write(0x90);
midi.write(0x34);
midi.write(0x45);
//delay(300);
}
}
if(digitalRead(stopbtn) == LOW && toggle4 == 1){
toggle4 = 0;
if(mode == 0){
midi.write(0x90);
midi.write(0x07);
midi.write((byte)0x00);
delay(300);
}
if(mode == 1){
midi.write(0x90);
midi.write(0x34);
midi.write((byte)0x00);
delay(300);
}
}
if (digitalRead(track1btn) == HIGH && toggle5 == 0){
toggle5 = 1;
if(mode == 0){
midi.write(0x90);
midi.write(0x14);
midi.write(0x01);
// delay(300);
}
if(mode == 1){
midi.write(0x90);
midi.write(0x33);
midi.write(0x01);
// delay(300);
}
}
if (digitalRead(track1btn) == LOW && toggle5 == 1){
toggle5 = 0;
if(mode == 0){
midi.write(0x90);
midi.write(0x14);
midi.write((byte)0x00);
delay(300);
}
if(mode == 1){
midi.write(0x90);
midi.write(0x33);
midi.write((byte)0x00);
delay(300);
}
}
if (digitalRead(track2btn) == HIGH && toggle6 == 0){
toggle6 = 1;
if(mode == 0){
midi.write(0x90);
midi.write(0x15);
midi.write(0x01);
// delay(300);
}
if(mode == 1){
midi.write(0x90);
midi.write(0x32);
midi.write(0x01);
// delay(300);
}
}
if (digitalRead(track2btn) == LOW && toggle6 == 1){
toggle6 = 0;
if(mode == 0){
midi.write(0x90);
midi.write(0x15);
midi.write((byte)0x00);
delay(300);
}
if(mode == 1){
midi.write(0x90);
midi.write(0x32);
midi.write((byte)0x00);
delay(300);
}
}
if (digitalRead(track3btn) == HIGH && toggle7 == 0){
toggle7 = 1;
if(mode == 0){
midi.write(0x90);
midi.write(0x16);
midi.write(0x01);
// delay(300);
}
if(mode == 1){
midi.write(0x90);
midi.write(0x31);
midi.write(0x01);
// delay(300);
}
}
if (digitalRead(track3btn) == LOW && toggle7 == 1){
toggle7 = 0;
if(mode == 0){
midi.write(0x90);
midi.write(0x16);
midi.write((byte)0x00);
delay(300);
}
if(mode == 1){
midi.write(0x90);
midi.write(0x30);
midi.write((byte)0x00);
delay(300);
}
}
if (digitalRead(track4btn) == HIGH && toggle9 == 0){
toggle9 = 1;
if(mode == 0){
midi.write(0x90);
midi.write(0x40);
midi.write(0x01);
// delay(300);
}
if(mode == 1){
midi.write(0x90);
midi.write(0x66);
midi.write(0x01);
// delay(300);
}
}
if (digitalRead(track4btn) == LOW && toggle9 == 1){
toggle9 = 0;
if(mode == 0){
midi.write(0x90);
midi.write(0x40);
midi.write((byte)0x00);
delay(300);
}
if(mode == 1){
midi.write(0x90);
midi.write(0x66);
midi.write((byte)0x00);
delay(300);
}
}
if (digitalRead(modebtn) == HIGH && toggle8 == 0){
toggle8 = 1;
if(mode == 0){
midi.write(0x90);
midi.write(0x17);
midi.write(0x01);
// delay(300);
}
if(mode == 1){
midi.write(0x90);
midi.write(0x30);
midi.write(0x01);
// delay(300);
}
}
if (digitalRead(modebtn) == LOW && toggle8 == 1){
toggle8 = 0;
if(mode == 0){
mode = 1;
midi.write(0x90);
midi.write(0x17);
midi.write((byte)0x00);
digitalWrite(led, HIGH);
delay(300);
}
else if(mode == 1){
mode = 0;
midi.write(0x90);
midi.write(0x30);
midi.write((byte)0x00);
digitalWrite(led, LOW);
delay(300);}
}
}
at the moment I have my shift register connected to the following
int DS_pin = 4;
int STCP_pin = 3;
int SHCP_pin = 2;