Accelstepper ESP8266-12F не загружается

Если я использую контакты 9, 10, 7, 6, 8, 11 для шагового двигателя, ESP8266 не загрузится. Если я использую другие контакты, все хорошо.

В чем проблема?

Я использую последние версии AccelStepper и Arduino.

скетч, который не загружается -

    #include <AccelStepper.h>
#include <MultiStepper.h>

#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>

const char* ssid = "wiflya";
const char* password = ".........";

#define HALFSTEP 8   

// Определение пинов для управления двигателем
#define motorPin1  13 // IN1 на 1-м драйвере ULN2003
#define motorPin2  12 // IN2 на 1-м драйвере ULN2003
#define motorPin3  14 // IN3 на 1-м драйвере ULN2003
#define motorPin4  16 // IN4 на 1-м драйвере ULN2003


// Определение пинов для управления двигателем
#define motor2Pin1  6 // IN1 на 2-м драйвере ULN2003
#define motor2Pin2  3 // IN2 на 2-м драйвере ULN2003
#define motor2Pin3  5 // IN3 на 2-м драйвере ULN2003
#define motor2Pin4  4 // IN4 на 2-м драйвере ULN2003

// Инициализируемся с последовательностью выводов IN1-IN3-IN2-IN4 
// для использования AccelStepper с 28BYJ-48
AccelStepper stepper1(HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4);
AccelStepper stepper2(HALFSTEP, motor2Pin1, motor2Pin3, motor2Pin2, motor2Pin4);

void setup() {
  //Serial.begin(115200);
  //Serial.println("Booting");
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  while (WiFi.waitForConnectResult() != WL_CONNECTED) {
    //Serial.println("Connection Failed! Rebooting...");
    delay(5000);
    ESP.restart();
  }

  stepper1.setMaxSpeed(1300.0);
  stepper1.setAcceleration(400.0);
  stepper1.setSpeed(1300.0);

  stepper2.setMaxSpeed(1300.0);
  stepper2.setAcceleration(400.0);
  stepper2.setSpeed(1300.0);

  //stepper1.moveTo(20000);

  // Port defaults to 8266
  // ArduinoOTA.setPort(8266);

  // Hostname defaults to esp8266-[ChipID]
  // ArduinoOTA.setHostname("myesp8266");

  // No authentication by default
  // ArduinoOTA.setPassword("admin");

  // Password can be set with it's md5 value as well
  // MD5(admin) = 21232f297a57a5a743894a0e4a801fc3
  // ArduinoOTA.setPasswordHash("21232f297a57a5a743894a0e4a801fc3");

  ArduinoOTA.begin();
}

void loop() {
    // Изменяем направление, если шаговик достигает заданного положения
  //if(stepper1.distanceToGo()==0)
  //  stepper1.moveTo(-stepper1.currentPosition());
  stepper2.runSpeed();
  stepper1.runSpeed();
  //stepper2.runSpeed();


  ArduinoOTA.handle();
}

, 👍0


1 ответ


1

Пины с 6 по 11 esp8266 — это контакты QIO SPI, подключенные к флэш-памяти esp8266. Вы не можете их использовать.

,

Благодарить. Я нахожу больше информации об этом. не могу использовать 6-11 контактов, не могу использовать gpio1 - если я подключаюсь к uln2003 - esp не загружается.. не могу использовать gpio0 - не загружаюсь, если подключаюсь к uln2003. А что имеем - только 3,5,4,12,13,14,16 я могу использовать (с uln2003) и не могу подключить два биполярных двигателя - очень плохо., @Evgen Stenkin

это для NodeMcu, но это применимо https://electronics.stackexchange.com/questions/402066/esp8266-free-gpios-for-relay-switching/404845#404845, @Juraj

или здесь https://tttapa.github.io/ESP8266/Chap04%20-%20Microcontroller.html, @Juraj