Итак, есть универсальная плата, в связке которой находится ardiuino nano и bluetooth модуль. Задача, перенести все переменные скетча в постоянную память с возможностью менять эти переменные через мобильное приложение или программу bluetooth terminal. Пример скетча:
C++:
#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>
#include <LCD5110_Basic.h>
//------------------НАСТРОЙКИ------------------—
int volume = 30; //Громкость звука (0-30)
const int threshold = 50; //Порог сработки датчика
const int maxdestroys = 5; //Количество попаданий
//---------------------------------------------—
int Button = 19; //ДИДЖИТАЛ ПОРТ!!!
LCD5110 myGLCD(3,5,6,10,9);
int maxval;
int lives = maxdestroys;
void setup () {
myGLCD.InitLCD();
myGLCD.setFont(SmallFont);
digitalWrite(11, HIGH);
delay(3000);
Serial.begin (9600);
mp3_set_serial (Serial);
mp3_set_volume (volume);
mp3_set_EQ (5);
mp3_play (3);
}
void loop () {
int val = analogRead(Button);
if (lives > 0) {
if (val >= threshold){
mp3_play (1);
lives--;
myGLCD.clrScr();
myGLCD.invert(true);
myGLCD.print("SYSTEM ONLINE",CENTER,0);
myGLCD.print("ANALYSIS:",LEFT,16);
myGLCD.printNumI(val,54,16);
myGLCD.print("STRENGTH:",LEFT,24);
myGLCD.printNumI(lives,54,24);
myGLCD.print("/",60,24);
myGLCD.printNumI(maxdestroys,66,24);
myGLCD.print("DESROY!!!",CENTER,40);
delay(3500);
myGLCD.invert(false);
}else{
myGLCD.clrScr();
myGLCD.print("SYSTEM ONLINE",CENTER,0);
myGLCD.print("ANALYSIS:",LEFT,16);
myGLCD.printNumI(val,54,16);
myGLCD.print("STRENGTH:",LEFT,24);
myGLCD.printNumI(lives,54,24);
myGLCD.print("/",60,24);
myGLCD.printNumI(maxdestroys,66,24);
delay(50);
}
} else {
mp3_play (2);
myGLCD.clrScr();
myGLCD.invert(true);
myGLCD.print("SYSTEM OFFLINE",CENTER,0);
myGLCD.print("CRITICAL",CENTER,16);
myGLCD.print("DAMAGE!",CENTER,24);
delay(12000);
}
Serial.println(val);
}