В книжке, прилагающейся к набору "Матрешка, "конспект хакера" есть такая интересная штука, как кнопочный переключатель. Её суть в том, что при нажатие на кнопку светодиод загорается, а при повторном нажатии он гаснет и т. д. И тут у меня созрел вопрос, а можно ли сделать почти такойже переключатель для lcd дисплея (16, 2). То есть когда мы жмем на кнопку у нас, на пример, появляется на экране "1", отпускаем кнопку, и 1 все также остается на экране, жмем на кнопку, появляется "2", отпускаем кнопку, остается 2, нажимаем на кнопку, появляется на экране "1", отпускаем кнопку, и 1 все также остается на экране ...
Это и многое другое можно сделать написав соответствующий скетч. Тут простор фантазии неограничен, все что сможете придумать, можно записать на языке С++.
Написал, мож кому интересно будет) Код (C++): #include <RTC.h> #include <LiquidCrystal.h> #include "DHT.h" #define DHTPIN 2 const int b1 = 3; boolean b1WU = false; #define DHTTYPE DHT22 RTC time; LiquidCrystal lcd(13, 12, 11, 10, 9, 8); DHT dht(DHTPIN, DHTTYPE); void setup() { pinMode(b1, INPUT_PULLUP); delay(300); lcd.begin(16, 2); time.begin(RTC_DS1307); time.settime(30,46,23,24,01,16,0); // 0 сек, 51 мин, 21 час, 27, октября, 2015 года, вторник dht.begin(); } void loop(){ float h = dht.readHumidity(); float t = dht.readTemperature(); boolean bn = digitalRead(b1); if (!bn){ delay(10); bn = digitalRead(b1); if(!bn){ for(int i = 0; ; ++i){ lcd.clear(); lcd.print("Temp:"); lcd.print(t); lcd.print("\x99"); lcd.print("C"); lcd.setCursor(0, 1); lcd.print("Humid:"); lcd.print(h); lcd.print("%"); delay(200); if(!digitalRead(b1)){ delay(10); if(!digitalRead(b1)){ break; } } } } } lcd.clear(); lcd.print(time.gettime("d-m-Y, D")); lcd.setCursor(0, 1); lcd.print(time.gettime("H:i:s")); delay(500); lcd.setCursor(0, 0); }