• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

wemos d1 mini pro + ESP Easy = AP + control

LM317T

New member
с помощью резисторов 10к на плате управления сделал пулл ап пины
набросал для получения в сериал сообщения от кнопки
int buttonRight = 12;
int buttonLeft = 14;
int buttonUp = 5;
int buttonDown = 4;
int ledPin = 16;
void setup() {
Serial.begin(115200); Serial.println();
Serial.println("Starting EspnowController.ino");
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
}
void loop() {
if (digitalRead(buttonLeft) == HIGH) {
digitalWrite(ledPin, LOW);
} else {
// turn LED off:
digitalWrite(ledPin, HIGH);
Serial.println("Left");
delay(50);
}
if (digitalRead(buttonRight) == HIGH) {
digitalWrite(ledPin, LOW);
} else {
// turn LED off:
digitalWrite(ledPin, HIGH);
Serial.println("Right");
delay(50);
}
if (digitalRead(buttonUp) == HIGH) {
digitalWrite(ledPin, LOW);
} else {
// turn LED off:
digitalWrite(ledPin, HIGH);
Serial.println("Up");
delay(50);
}
if (digitalRead(buttonDown) == HIGH) {
digitalWrite(ledPin, LOW);
} else {
// turn LED off:
digitalWrite(ledPin, HIGH);
Serial.println("Down");
delay(50);
}
}
текст сообщения пишет при одной из нажатых кнопок
5.jpg
не пойму куда теперь нужно вставить этот кусок кода в мастере, чтоб сообщение отображалось в сериал слейва
наверное у слейва тоже нужно что-то подправить...
 

nikolz

Well-known member
Начните с изучения логики исходного скрипта.
Кроме того , В своем алгоритме Вы не учитываете время на исполнение команды
В итоге у Вас модуль управления будет многократно переключать сигнал управления не дожидаясь его исполнения
 

LM317T

New member
ну пока что на выполнение есть задержка delay(50);
а многократно отправленное сообщение - как бы думаю таким образом сделать отслеживание связи с передатчиком
логики исходного скрипта не могу понять...(
как только пытаюсь там вписать сравнение для кнопок, вылазят всякие ошибки
 

LM317T

New member
как правильно написать код?
если в Serial появляется сообщение "Left"
то выполнить действие - подать на пин 14 высокий уровень
я написал так, но это не работает:
...int LEFT = 14;
...pinMode(LEFT, OUTPUT);
...
if (myData.text == "Left") {
digitalWrite(LEFT, HIGH);
Serial.println("TEST");
} else {
digitalWrite(LEFT, LOW);
 

LM317T

New member
в общем победил я его, не сам... но это уже совсем другая история
 
Сверху Снизу