motor de passo controlado por wifi

Olá a todos, estou tentando controlar um motor de passo por wifi, com o blynk
a ideia no total é que eu consiga através do blynk, e usando um RTC (ds3231) controlar o funcionamento do motor ( de passo, 5v mais especificamente o 28BYJ-48 + Driver ULN2003), ligando ele conforme horario determinado pelo blynk ( o qual eu iria digitar la) e que esse mesmo horario fosse verificado usando o sensor RTC como referencia, depois eu teria que conforme determinado peso em uma balança ( hx711+ célula de carga) ele liga-se o motor num intervalo de tempo ( que eu também determinaria posteriormente)

até agora eu ja sei como calibrar e usar a balança, mas não consegui achar nenhum exemplo de como controlar um motor de passo dessa forma
Queria pelo menos ter por onde começar

Olá,

A melhor maneira de começar um projecto complexo é dividi-lo em tarefas mais simples realizando cada uma individualmente.

Neste caso eu faria algo do género:

Assim que conseguires desenvolver cada um dos pontos anteriores individualmente com sucesso, o passo seguinte será estruturar o sistema. Desenvolver um algoritmo geral, por exemplo através de fluxograma e/ou diagrama de estados, implementar o código e testar, testar, testar, corrigir, testar, testar...

Os exemplos que encontrei foram os primeiros que me apareceram, não sei se são realmente bons. Pode ser que existam outros melhores ou mais adequados... Esse serviço Blynk e a respectiva App parecem ser muito interessantes, quando eu tiver tempo tenho de experimentar também. Por vezes a utilização de um módulo Wi-Fi pode ser um pouco difícil, mas nada como procurar e fazer exemplos mais simples com o módulo em questão.

Se já utilizaste cada um dos módulos individualmente e a dificuldade estiver no serviço Blynk, então eu sugeria realizar alguns exemplos simples, como por exemplo ligar um LED remotamente, etc. A partir daí será mais fácil.

Boa sorte para o projecto :slight_smile:

meu motor precisa de 2048 passos pra dar uma voltar, então eu acabo multiplicando o numero de voltas desejadas por 2048, mas se eu peço para dar 4 e depois 2 ele gira no sentido antihorario, qual a maneira deveria ser feito isso para que ele continuasse rodando no mesmo sentido?
outra coisa que eu queria perguntar é se tem como converter essa multiplicação e ele indicar a contagem de 1 volta a cada 2048 passos ao invés de aparecer a contagem inteira
eu tentei o maximo possivel mas o que eu consegui sozinho foi só esse codigo aqui

// Include the AccelStepper Library
#include <AccelStepper.h>

// Creates an instance
// Pins entered in sequence IN1-IN3-IN2-IN4 for proper step sequence
AccelStepper myStepper(AccelStepper::FULL4WIRE, 4, 6, 5, 7);
/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial


#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "";
char pass[] = "";
// Hardware Serial on Mega, Leonardo, Micro...
#define EspSerial Serial1

// or Software Serial on Uno, Nano...
//#include <SoftwareSerial.h>
//SoftwareSerial EspSerial(2, 3); // RX, TX

// Your ESP8266 baud rate:
#define ESP8266_BAUD 9600

ESP8266 wifi(&EspSerial);


int cup_slider;

void setup()

{
  Serial.begin(9600);
  EspSerial.begin(ESP8266_BAUD);
  delay(10);

  Blynk.begin(auth, wifi, ssid, pass);
}

 
BLYNK_WRITE(V0)   // Slider in V0
 
    {

    cup_slider=param.asInt();
       
        myStepper.setMaxSpeed(1000.0);
        myStepper.setAcceleration(100.0);
        myStepper.setSpeed(300.0);
        myStepper.moveTo((cup_slider) * 2048ul);
      
      
    }
  
void loop() {
      {
     
       // Move the motor one step each time through loop()
        myStepper.run();
        Serial.println(myStepper.currentPosition());
        Blynk.run();
  }
 }
  
  

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.