Sorry; not sure what category to bin this to :can you direct it to the right category
Issue : Software program -Light Sequence Creator ( C++) uploaded to Code Block 8.02-IDEplatform . No errors during build . PC via USB cable to Uno R3 , when hit build and run Green light and one small yellow led come on the R and T small leds not on Program to Uno to schematic appears not to be communicating . Will check connections again but don't think that is the issue - see attached - code is light_ sequencer.c Can't use Arduino IDE - file extension not .ino WHAT AM I Doing Wrong !
The Project is on the Arduino Hub " Light Sequence Creator " I left the same comment on the Hub
Also noticed that in the program comments line 15 , etc "Pin connected to ST_CH,SH_CP, DS ; pins latch Pin 11, clockPin 13, dataPin12 Pin #"s do not match the data sheet pin #'s for example on 74HC595 ST_CP is Pin 12 not pin 11 and on SN74HC pin 12 is termed RCLK not ST_CP not sure that is an issue ;thought as long as I followed the schematic ( see attached ) I'll be okay ; I have the SN74HC595 Is the real issue a .c file and platform ? versus Arduino IDE and ino. extension ?
Had to delete bottom half of code i exceeded that allowable # of characters
#include <LiquidCrystal.h>
#define ARR_SIZE 16 // CHANGE this to any number of frames
#define LIGHTS 8
// Controls the game button inputs
const int btn1 = 7, btn2 = 8, btn3 = 9, btn4 = 10;
// Variable for reading the pushbutton status
int bs1 = 0, bs2 = 0, bs3 = 0, bs4 = 0;
// Pin connected to ST_CP of 74HC595
const int latchPin = 11;
// Pin connected to SH_CP of 74HC595
const int clockPin = 13;
// Pin connected to DS of 74HC595
const int dataPin = 12;
// Holders for information you're going to pass
byte data;
// Used to read either 1 or 0
bool ArrOne[ARR_SIZE][LIGHTS] = {false}; // animation
// Translated for the register as bytes
byte lightArrOne[ARR_SIZE] = {0xFF};
// Variables to affect the animation
int animSpeed = 50; // ms between each frame
int loopCount = 5; // amount of times it will run
// Controls LCD Values
const int rs = 15, en = 14, d4 = 3, d5 = 4, d6 = 5, d7 = 6;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup()
{
// Set each button up
pinMode(btn1, INPUT_PULLUP);
pinMode(btn2, INPUT_PULLUP);
pinMode(btn3, INPUT_PULLUP);
pinMode(btn4, INPUT_PULLUP);
// Set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Set register latch
pinMode(latchPin, OUTPUT);
PrintMenu();
}
void loop()
{
bs1 = digitalRead(btn1);
bs2 = digitalRead(btn2);
bs3 = digitalRead(btn3);
bs4 = digitalRead(btn4);
// Play the anim
if(bs1 == HIGH)
{
bs1 = LOW;// just used to prevent bad/double input
delay(150);
Play();
// Modify the anim
} else if(bs2 == HIGH)
{
bs2 = LOW;
delay(150);
Create(ArrOne);
// Change the speed of the anim
} else if(bs3 == HIGH)
{
bs3 = LOW;
delay(150);
SetSpeed();
// Change the number of times the anim will play
} else if(bs4 == HIGH)
{
bs4 = LOW;
delay(150);
SetLoop();
}
PrintMenu();
delay(150);
}
// Function to print info for the main menu
void PrintMenu()
{
ClearScreen();
lcd.print("1-Play 3-Speed");
lcd.setCursor(0, 1);
lcd.print("2-Create 4-Loops");
}
// Function to print info for creating a frame
void PrintCreate(bool Arr[][LIGHTS], int frame, int _bit)
{
ClearScreen();
lcd.print("Frame:");
lcd.print(frame+1);
if(frame < 9)
lcd.print(" ");
for(int j = 0; j < _bit; j++)
lcd.print(" ");
lcd.print("v");
lcd.setCursor(0, 1);
lcd.print(" ");
for(int j = 0; j < 8; j++)
lcd.print(Arr[frame][j]);
}
// Function to print info for setting the speed
void PrintSetSpeed()
{
ClearScreen();
lcd.print("Set Speed(ms)");
lcd.setCursor(0, 1);
lcd.print(animSpeed);
}
// Function to print info for changing the number of animation loops
void PrintSetLoop()
{
ClearScreen();
lcd.print("Set Loop Count");
lcd.setCursor(0, 1);
lcd.print(loopCount);
}
// Function to play the animation with the given parameters
void Play()
{
// The animation
for(int count = 0; count < loopCount; count++)
{
for(int i = 0; i < ARR_SIZE; ++i)
{
//load the light sequence you want from array
data = lightArrOne*;*
-
//ground latchPin and hold low for as long as you are transmitting*
-
digitalWrite(latchPin, 0);*
-
//move 'em out*
-
shiftOut(dataPin, clockPin, data);*
-
//return the latch pin high to signal chip that it*
-
//no longer needs to listen for information*
-
digitalWrite(latchPin, 1);*
-
delay(animSpeed);*
-
}*
-
}*
-
data = 0;*
-
for(int i = 0; i < ARR_SIZE; ++i)*
-
{*
-
//ground latchPin and hold low for as long as you are transmitting*
-
digitalWrite(latchPin, 0);*
-
//move 'em out*
-
shiftOut(dataPin, clockPin, data);*
-
//return the latch pin high to signal chip that it*
-
//no longer needs to listen for information*
-
digitalWrite(latchPin, 1);*
-
}*
}
}