ciao, sono alle mie prime righe di codice ed ho bisogno di aiuto. Ho collegato uno stopper Motor al mio Arduino tramite a4988, poi ho collegato anche un tastierino 4x4. Volevo che a certi pulsanti del tastierino corrispondessero delle azioni del motore. Ho scritto il codice che vedete sotto ma se clicco il pulsante "A" il motore fa solo un piccolo scatto e non un giro come dovrebbe, perché? Grazie mille in anticipo!
#include <Keypad.h>
const byte numRows= 4; //number of rows on the keypad
const byte numCols= 4; //number of columns on the keypad
const int passi = 1;
const int direzione = 2;
//keymap defines the key pressed according to the row and columns just as appears on the keypad
char keymap[numRows][numCols]=
{
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
byte rowPins[numRows] = {10, 9, 8, 7}; //Rows 0 to 3
byte colPins[numCols]= {6, 5, 4, 3}; //Columns 0 to 3
Keypad myKeypad= Keypad(makeKeymap(keymap), rowPins, colPins, numRows, numCols);
void setup()
{
Serial.begin(9600);
pinMode(passi, OUTPUT);
pinMode(direzione, OUTPUT);
}
void loop()
{
char keypressed = myKeypad.getKey();
if (keypressed == 'A')
{
Serial.print("Hai premuto --> ");
Serial.println(keypressed);
Serial.println("Modalità TIME-LAPSE attiva");
digitalWrite(direzione, LOW);
for(int x=0; x<200; x++){
digitalWrite(passi, HIGH);
delay(10);
digitalWrite(passi, LOW);
delay(10);
}
}
}