mirror of
https://github.com/dimoniche/solarium_arduino.git
synced 2026-01-30 01:23:30 +03:00
Рисуем меню сеансов
This commit is contained in:
parent
655be76f83
commit
eb203bfb28
@ -44,6 +44,9 @@ int trueState = LOW;
|
|||||||
int lastState = LOW;
|
int lastState = LOW;
|
||||||
unsigned long lastStateChangeTime = 0; // положительные целые числа (4 байта)
|
unsigned long lastStateChangeTime = 0; // положительные целые числа (4 байта)
|
||||||
|
|
||||||
|
boolean counter = false; // счетчик для полусекунд
|
||||||
|
unsigned long previousMillis = 0; // переменная для хранения значений таймера
|
||||||
|
|
||||||
//======Переменные меню=============================
|
//======Переменные меню=============================
|
||||||
#define MENU_INTER_COUNT 5 // количество возможных вложений меню
|
#define MENU_INTER_COUNT 5 // количество возможных вложений меню
|
||||||
#define SIZE_SCREEN 4 // количество строк на экране
|
#define SIZE_SCREEN 4 // количество строк на экране
|
||||||
@ -98,7 +101,9 @@ const byte all_byte_parameters_default[COUNT_BYTE_PARAMETER] = {
|
|||||||
unsigned long all_long_parameters[COUNT_LONG_PARAMETER];
|
unsigned long all_long_parameters[COUNT_LONG_PARAMETER];
|
||||||
|
|
||||||
#define time_seance 0
|
#define time_seance 0
|
||||||
#define COUNT_TEXT_PARAMETER 1
|
#define time_delay 1
|
||||||
|
#define time_delay 1
|
||||||
|
#define COUNT_TEXT_PARAMETER 2
|
||||||
char text_parameters[COUNT_TEXT_PARAMETER][6];
|
char text_parameters[COUNT_TEXT_PARAMETER][6];
|
||||||
|
|
||||||
// ============================== Описываем свой символ "Рубль" ========================================================================
|
// ============================== Описываем свой символ "Рубль" ========================================================================
|
||||||
@ -244,6 +249,7 @@ menu_screen current_menu_screen;
|
|||||||
Описание основного меню
|
Описание основного меню
|
||||||
*/
|
*/
|
||||||
const menu_screen menu_main[] PROGMEM = {
|
const menu_screen menu_main[] PROGMEM = {
|
||||||
|
// Меню внесения денег и отображения времени сеанкса
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
@ -253,11 +259,6 @@ const menu_screen menu_main[] PROGMEM = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
" BHECEHO",
|
" BHECEHO",
|
||||||
FIXED_LINE,
|
|
||||||
{0}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
" ",
|
|
||||||
DIGIT_VIEW_LINE,
|
DIGIT_VIEW_LINE,
|
||||||
{
|
{
|
||||||
impulse_counter,
|
impulse_counter,
|
||||||
@ -268,9 +269,22 @@ const menu_screen menu_main[] PROGMEM = {
|
|||||||
"rub"
|
"rub"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"",
|
||||||
|
DIGIT_VIEW_LINE,
|
||||||
|
{
|
||||||
|
time_seance,
|
||||||
|
{
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
},
|
||||||
|
""
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
3
|
3
|
||||||
},
|
},
|
||||||
|
// Время задержки до
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
@ -281,6 +295,34 @@ const menu_screen menu_main[] PROGMEM = {
|
|||||||
{
|
{
|
||||||
" ",
|
" ",
|
||||||
TEXT_PARAM_LINE,
|
TEXT_PARAM_LINE,
|
||||||
|
{
|
||||||
|
time_delay,
|
||||||
|
{
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
},
|
||||||
|
"CEK"
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
2
|
||||||
|
},
|
||||||
|
// Меню ведения сеанса
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
"",
|
||||||
|
FIXED_LINE,
|
||||||
|
{0}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
" CEAHC",
|
||||||
|
FIXED_LINE,
|
||||||
|
{0}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
" ",
|
||||||
|
DIGIT_VIEW_LINE,
|
||||||
{
|
{
|
||||||
time_seance,
|
time_seance,
|
||||||
{
|
{
|
||||||
@ -288,8 +330,24 @@ const menu_screen menu_main[] PROGMEM = {
|
|||||||
0,
|
0,
|
||||||
},
|
},
|
||||||
"MUH"
|
"MUH"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
3
|
||||||
|
},
|
||||||
|
// Меню окончания сеанса
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
"",
|
||||||
|
FIXED_LINE,
|
||||||
|
{0}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
" KOHEU",
|
||||||
|
FIXED_LINE,
|
||||||
|
{0}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
2
|
2
|
||||||
},
|
},
|
||||||
@ -952,20 +1010,24 @@ void get_money ()
|
|||||||
remain = all_long_parameters[impulse_counter] % all_byte_parameters[price];
|
remain = all_long_parameters[impulse_counter] % all_byte_parameters[price];
|
||||||
second = remain * 60 / all_byte_parameters[price];
|
second = remain * 60 / all_byte_parameters[price];
|
||||||
|
|
||||||
sprintf(text_parameters[time_seance],"%02d:%02d",minute, second);
|
|
||||||
|
|
||||||
if (all_long_parameters[impulse_counter] >= all_byte_parameters[price])
|
if (all_long_parameters[impulse_counter] >= all_byte_parameters[price])
|
||||||
{
|
{
|
||||||
// достаточно денег для оказания услуги
|
// достаточно денег для оказания услуги
|
||||||
memcpy_P( ¤t_menu_screen, &menu_main[1], sizeof(menu_screen));
|
sprintf(text_parameters[time_seance]," CEAHC %02d:%02d MUH", minute, second);
|
||||||
|
|
||||||
|
digitalWrite(LEDPin, HIGH); // зажигаем светодиод
|
||||||
|
|
||||||
digitalWrite(LEDPin, HIGH);
|
|
||||||
|
|
||||||
if (digitalRead(buttonPin_Start) == HIGH)
|
if (digitalRead(buttonPin_Start) == HIGH)
|
||||||
{
|
{
|
||||||
digitalWrite(inhibitPin, HIGH); // выставляем запрет приема монет
|
digitalWrite(inhibitPin, HIGH); // выставляем запрет приема монет
|
||||||
digitalWrite(LEDPin, LOW); // гасим светодиод
|
digitalWrite(LEDPin, LOW); // гасим светодиод
|
||||||
|
lcd.clear();
|
||||||
|
|
||||||
|
sprintf(text_parameters[time_seance],"%2d", all_byte_parameters[pause_before]);
|
||||||
|
delay(all_byte_parameters[pause_before]);
|
||||||
|
|
||||||
|
bill_enable =! bill_enable; // устанавливаем флаг: не принимаем деньги
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1004,6 +1066,37 @@ void menu()
|
|||||||
digitalWrite(LEDPin, LOW);
|
digitalWrite(LEDPin, LOW);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Событие полусекунды
|
||||||
|
*/
|
||||||
|
void one_half_second()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Событие секунды
|
||||||
|
*/
|
||||||
|
void second_event()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void countdown_timer()
|
||||||
|
{
|
||||||
|
if (millis() - previousMillis > 500)
|
||||||
|
{
|
||||||
|
one_half_second();
|
||||||
|
|
||||||
|
previousMillis = millis();
|
||||||
|
counter = !counter;
|
||||||
|
if (counter == false)
|
||||||
|
{
|
||||||
|
second_event();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
|
||||||
@ -1024,7 +1117,8 @@ void setup() {
|
|||||||
memcpy_P( ¤t_menu_screen, &menu_main[0], sizeof(menu_screen));
|
memcpy_P( ¤t_menu_screen, &menu_main[0], sizeof(menu_screen));
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
void loop()
|
||||||
|
{
|
||||||
read_buttons(buttonPin_Service);
|
read_buttons(buttonPin_Service);
|
||||||
hide_cursor();
|
hide_cursor();
|
||||||
need_hide_cursor = true;
|
need_hide_cursor = true;
|
||||||
@ -1047,8 +1141,8 @@ void loop() {
|
|||||||
need_reload_menu = false;
|
need_reload_menu = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*if (bill_enable == false && menu_enable == false)
|
if (bill_enable == false && menu_enable == false)
|
||||||
{
|
{
|
||||||
countdown_timer(sek, minu); // запускаем таймер обратного отсчета
|
countdown_timer(); // запускаем таймер обратного отсчета
|
||||||
}*/
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user