Sto provando lo stepper motor 28BYJ-48 da 5 volt alimentato con un alimentatore apposito.
Allo stesso alimentatore collego o l' Arduino Uno o l' Arduino Nano in alternativa.
I collegamenti sono fatti come scritto nello sketch seguente:
/***********************************************************
* 14 gennaio 2019
* Stepper motor v1.0
* Arduino UNO o Nano
* stepper: 28BYJ-48 a 5 volt
* massimo valore di velocità di rotazione = 4096
* Inserire con il Monitor Serial il valore +/- di rotazione
* IN1 D8, IN2 D10, IN3 D9, IN4 D11
************************************************************/
#include <Stepper.h>
const int stepsPerRevolution = 4;
int readByte = 0;
char buff[255]; //contiene i dati ricevuti
int steps = 0;
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8,9,10,11);
void setup() {
// set the speed
myStepper.setSpeed(4096);
// initialize the serial port:
Serial.begin(9600);
}
void clear_buff()
{
int i = 0;
for (i=0; i < 255; i++)
buff[i] = 0;
}
void loop() {
clear_buff();
delay(1000);
if ((readByte = Serial.available()) > 0) {
//insert the number of step (+ or -) manually trhough serial monitor
Serial.readBytes(buff, readByte);
steps = atoi(buff);
Serial.println(steps);
myStepper.step(steps);
}
}
la cosa strana è che funziona con Arduino Uno e non con il NANO.
Il Nano lo carico regolarmente con il (Old Bootloader).
Gli assorbimenti letti dal display dell'alimentatore, a motore fermo, in mA sono +/- identici.
Il NANO funziona regolarmente con altri sketch caricati.
Non so più che test fare per capire dove sbaglio.
Saluti