SEPPER MOTOR + 4X4 KEYPAD

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);
}
}
}

Prima di tutto, essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione … possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO

… poi, in conformità al suddetto regolamento, punto 7, devi editare il tuo post (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More → Modify che si trova in basso a destra del tuo post) e racchiudere il codice all’interno dei tag CODE (… sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra). In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag: [code] _il _tuo_ codice_ [/code] così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo …

… infine, sempre in conformità al regolamento, punto 13, il cross-posting è proibito (anche tra lingue diverse) per cui, il tuo post duplicato nella sezione Inglese del forum è stato cancellato e, per il futuro, ti prego di evitare di aprire più post sullo stesso argomento in sezioni differenti del forum. Grazie.

Guglielmo

P.S.: Ti ricordo che, fino a quando non sarà fatta la presentazione e sistemato il codice, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink: