Как Arduino запоминает последние байты из Bluetooth HC-05?
Я создал проект по автоматизации дома.
Описание: Свет включается и выключается через модуль Bluetooth HC-05 и мое приложение Android. Проблема в том, что когда пропадает питание, система останавливается, это нормально. После этого, когда питание восстанавливается, система остается выключенной, так как не сохраняется значение.
Помогите мне, пожалуйста, как сохранить данные Bluetooth в EEPROM на Arduino. Мой простой код выглядит так...
#include <EEPROM.h>
#define ledPin 7
int state = 0;
void setup() {
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
Serial.begin(9600); // Скорость связи Bluetooth-модуля по умолчанию
}
void loop() {
if(Serial.available() > 0){ // Проверяет, поступают ли данные с последовательного порта
state = Serial.read(); // Считывает данные из последовательного порта
}
if (state == '0') {
digitalWrite(ledPin, LOW); // Выключить светодиод
Serial.println("LED: OFF"); // Отправляем обратно на телефон строку "LED: ON"
state = 0;
}
else if (state == '1') {
digitalWrite(ledPin, HIGH);
Serial.println("LED: ON");;
state = 0;
}
}
@BIKRAM, 👍-1
1 ответ
▲ 0
Сэр, вы не использовали функции EEPROM, вы просто инициализировали их. Например
EEPROM.read();
EEPROM.write();
Если вы воспользуетесь этими функциями, то ваша проблема будет решена..
,
@Arduino
Смотрите также:
- Чтение и запись в EEPROM
- Программирование AT24C16 EEPROM с помощью Arduino Nano
- Проблема с ограничением размера EEPROM
- Компиляция скрипта сборки во внешнем EEPROM коде Arduino
- avrdude ser_open() can't set com-state
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- Является ли использование malloc() и free() действительно плохой идеей для Arduino?
- Как читать и записывать EEPROM в ESP8266