I was watching a tutorial on YouTube (Arduino Tutorial #3 - Shift Registers (74HC595) - YouTube) about creating a shift register and I'm a little stuck. I am a complete beginner to electronic, but I do have a background in computers. A lot of this made sense but this one is confusing me. I complied my file and had a couple typos which I fixed, but now I am getting this error:
Arduino: 1.8.13 (Mac OS X), Board: "Arduino Uno"
/Users/Arduino/Resinator/Shift2/Shift2.ino: In function 'void writereg()':
Shift2:21:36: error: invalid types 'boolean {aka bool}[int]' for array subscript
digitalWrite(DS_pin,registers*);*
- ^*
/Users/Arduino/Resinator/Shift2/Shift2.ino: In function 'void loop()':
Shift2:31:16: error: invalid types 'boolean {aka bool}[int]' for array subscript
_ registers*=HIGH;_
_ ^_
exit status 1
invalid types 'boolean {aka bool}[int]' for array subscript
This report would have more information with
_"Show verbose output during compilation"_
option enabled in File -> Preferences.
_____
Here is my code:
_```*_
*int DS_pin = 4;
int STCP_pin = 5;
int SHCP_pin = 6;
void setup()
{
pinMode(DS_pin, OUTPUT);
pinMode(STCP_pin, OUTPUT);
pinMode(SHCP_pin, OUTPUT);
writereg();
}
boolean registers(8);
void writereg()
{
digitalWrite(SHCP_pin, LOW);
for (int i = 7; 1 >= 0; i--)
{
digitalWrite(STCP_pin, LOW);
digitalWrite(DS_pin,registers[i]);
digitalWrite(STCP_pin, HIGH);
}
digitalWrite(SHCP_pin, HIGH);
}
void loop()
{
for (int i = 0; i < 9; i++)
{
registers[i]=HIGH; // <-----this is the error line
delay(1000);
writereg();
}
}
_```_
________*
I researched the problem, but I don't know how to fix it. Most answers just say that the boolean value is invalid, but not how to fix the issue or even why is it out of value/invalid. Do I just need to learn more about shift registers? or Can this code be quickly fixed? any help is welcome, even a link to a good tutorial on shift registers and how they work!