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

задать 2 переменные потенциометром без меню

aaa2020

New member
Доброго времени суток.
Пытаюсь обойти недостаток аналоговых портов через EEPROM, но почему-то скетч не работает.

#include <SoftwareSerial.h>
#include <EEPROM.h>
int address = 0;
int value;
int val;
int botton;
//int memory;


void setup() {
Serial.begin (57600);
pinMode(8, OUTPUT);
pinMode(4, INPUT);
pinMode(A0, INPUT);
}

void loop() {

int potent1 = analogRead(A0);
Serial.println("potent1: "+String(potent1));
delay(500);
if (potent1>=500) {digitalWrite (8, HIGH); }
else if (potent1<=500) {digitalWrite (8, LOW);}

int botton=digitalRead(4);
Serial.println("botton: "+String(botton));
if (botton = LOW) { int val =analogRead(A0);
EEPROM.write(address, val);}
else if (botton = HIGH) {int value = EEPROM.read(address);}

Serial.println("memory: "+String (value));
}

п.с. Написано и тестировано на arduino nano
 

CodeNameHawk

Moderator
Команда форума
Записывать, в еппром в каждом проходе основного цикла, не кошерно.
Пока кнопка low, успеет много раз записаться,
Сначала сравните новое значение со старым и только если они не равны можете записать.
И считать начальное значение достаточно один раз, для этого и придумали Setup.
 
Последнее редактирование:
Сверху Снизу