Hi all,
My very first adventure into Arduino and as expected I have already encountered some problems.
Thing is, I need a few pushbuttons to go to each their own dig input, but I can't seem to get the code right. I have hooked them up with each their own 10K resistor to ground, but only one of the buttons seems to be read. It is not a hardware error as I have swopped them around to verify it isn't the case, but I can only get the first input in the code to read, the second one does nothing.
I have tried looking through the archives here and though there are quite a lot on multiple buttons, nothing seems to tackle this absolute beginners question...
I am trying to control a stand-alone stepper motor driver which is not only a step and direction controller but also has a pulsator built in. The different functions like enabling it and changing direction are just done by bringing a lead from each function to ground. Speed is done by voltage input - so after I solve this problem, I hope to get into PWM to control the speed. (I chose this board because it is simple and I need to control a stepper for a project kinda ASAP. First I just did it with analogue switches, but now I wanna try doing it through an Arduino and grow from there)
For now, I simply need to know how to get more than one button to send out either a HIGH or LOW dig output. Should be simple...
As said, I can get the first one to work...
This is my first code ever and hope the naming of the buttons and outputs is not too weird.
// CONSTANTS DON'T CHANGE
// Set pin number for BUTTONS:
const int buttonPinRUN = 12; // the number of the pushbutton pin to make stepper RUN
const int buttonPinDIR = 10; // the number of the pushbutton pin to make stepper change DIRECTION
// set pin number for OUTPUT wires to stepper controller:
const int RunStepper = 13; // the number of the RUN wire pin
const int DIRStepper = 11; // the number of the DIRECTION wire pin
// variables will change:
int buttonPinRUNState = 0; // variable for reading the pushbutton status
int buttonPinDIRState = 0; // variable for reading the pushbutton status
void setup() {
// initialize the stepper function wires pins as outputs:
pinMode(RunStepper, OUTPUT);
pinMode(DIRStepper, OUTPUT);
// initialize the pushbuttons pin as inputs:
pinMode(buttonPinRUN, INPUT);
pinMode(buttonPinDIR, INPUT);
}
void loop(){
// THIS IS TO CONTROL RUN/NOT RUN SIGNAL
buttonPinRUNState = digitalRead(buttonPinRUN); // reads the state of the RUN pushbutton value (checks if the pushbutton is pressed)
// if it is, then buttonState is HIGH:
if (buttonPinRUNState == HIGH) {
digitalWrite(RunStepper, LOW);
}
else {
digitalWrite(RunStepper, HIGH);
}
// THIS IS TO CONTROL DIRECTION - THIS IS THE BUTTON WHICH IS NOT BEING READ...
buttonPinDIRState = digitalRead(buttonPinDIR);
if (buttonPinRUNState == HIGH) {
digitalWrite(DIRStepper, LOW);
}
else {
digitalWrite(DIRStepper, LOW);
}}
All my very best and hope someone out there can give an easy to understand answer to a beginner like me,
David