Есть вот такой скетч: #include #define CNT_PIN 6 LiquidCrystal lcd(4, 5, 10, 11, 12, 13); byte SEC = 0; byte MIN = 0; unsigned long prMillis = 0; void setup() { pinMode(CNT_PIN, INPUT); lcd.begin(16, 2); } void loop() { int rotation; rotation = analogRead(CNT_PIN); if (rotation > 0){ lcd.setCursor(2,2); lcd.print("XXX"); } else { if (MIN > 59) MIN = 0; if (millis() - prMillis > 1000) { prMillis = millis(); SEC++; } if (SEC > 59) { SEC = 0; MIN++; } lcd.setCursor(2,0); lcd.print(MIN); lcd.print("\xBC\xB8\xBD"); lcd.print(" : "); lcd.print(SEC); lcd.print("ce\xBA "); } } Он выводит на LCD монитор минуты и секунды. Идет отсчет и при появлении напряжения на 6 пине или на А0 (на одном из двух) на экран должен выводиться текст и находиться там, пока напряжение присутствует. После исчезновения U-я секундомер должен начать отсчет обратно с нуля. P.s. Прошу сильно не ругать меня за такой кривой скетч и глупый вопрос, я только недавно начал и приходиться все постигать с нуля, т. к. опыта в программировании не имею совсем.
#include
#define CNT_PIN 6
LiquidCrystal lcd(4, 5, 10, 11, 12, 13);
byte SEC = 0;
byte MIN = 0;
unsigned long prMillis = 0;
void setup() {
pinMode(CNT_PIN, INPUT);
lcd.begin(16, 2);
}
void loop() {
int rotation;
rotation = analogRead(CNT_PIN);
if (rotation > 0){
lcd.setCursor(2,2);
lcd.print("XXX");
}
else {
if (MIN > 59) MIN = 0;
if (millis() - prMillis > 1000) {
prMillis = millis();
SEC++;
}
if (SEC > 59) {
SEC = 0;
MIN++;
}
lcd.setCursor(2,0);
lcd.print(MIN);
lcd.print("\xBC\xB8\xBD");
lcd.print(" : ");
lcd.print(SEC);
lcd.print("ce\xBA ");
}
}
Он выводит на LCD монитор минуты и секунды. Идет отсчет и при появлении напряжения на 6 пине или на А0 (на одном из двух) на экран должен выводиться текст и находиться там, пока напряжение присутствует. После исчезновения U-я секундомер должен начать отсчет обратно с нуля.
P.s. Прошу сильно не ругать меня за такой кривой скетч и глупый вопрос, я только недавно начал и приходиться все постигать с нуля, т. к. опыта в программировании не имею совсем.