не бейте сильно, я новенький... помогите разобраться плиззззз. Есть значение, например int t = 10; как вывести это значение на экран? lcd.setCursor(1, 2); lcd.print(t); что тут не так.... ??? заранее спасибо. ------------------------------------------------- #include <LiquidCrystal.h> #include <dht11.h> LiquidCrystal lcd(4, 5, 10, 11, 12, 13); dht11 sensor; #define DHT11PIN 8 void setup() { lcd.begin(24, 4); lcd.clear(); int t = 10; } void loop() { switch (sensor.read(DHT11PIN)) { case DHTLIB_OK: break; case DHTLIB_ERROR_CHECKSUM: lcd.print("Checksum error"); delay(2000); return; case DHTLIB_ERROR_TIMEOUT: lcd.print("Time out error"); delay(2000); return; default: lcd.print("Unknown error"); delay(2000); return; } lcd.setCursor(1, 0); lcd.print("t,C:"); lcd.print(sensor.temperature); lcd.setCursor(10, 0); lcd.print("v,%:"); lcd.print(sensor.humidity); lcd.setCursor(1, 2); lcd.print("t"); delay(2000); }
Может надо удалить кавычки? Если хотите вывезти значение, а не то, что вы заключили в кавычки. Код (Text): lcd.setCursor(1, 2); lcd.print("t"); lcd.print(t);
датчики работают, все работает, за исключением того, что мне надо значение t на экран вывести lcd.print("t"); lcd.print(t); не выводят, первый понятно букву t выведет, а мне ее значение нужно
Есть пару нюансов. 1. int t = 10; объявлен в setup, в loop он будет не доступным. Объявите данный int вне setup 2. Прежде, чем писать lcd.print("Checksum error"); надо уставить где, к примеру lcd.setCursor(1, 2); относится к switch. UPD. Вот код Код (Text): #include <LiquidCrystal.h> #include <dht11.h> LiquidCrystal lcd(4, 5, 10, 11, 12, 13); dht11 sensor; #define DHT11PIN 8 int t = 10; void setup() { lcd.begin(24, 4); lcd.clear(); } void loop() { switch (sensor.read(DHT11PIN)) { case DHTLIB_OK: break; case DHTLIB_ERROR_CHECKSUM: lcd.setCursor(1, 0); lcd.print("Checksum error"); delay(2000); return; case DHTLIB_ERROR_TIMEOUT: lcd.setCursor(1, 0); lcd.print("Time out error"); delay(2000); return; default: lcd.setCursor(1, 0); lcd.print("Unknown error"); delay(2000); return; } lcd.setCursor(1, 0); lcd.print("t,C:"); lcd.print(sensor.temperature); lcd.setCursor(10, 0); lcd.print("v,%:"); lcd.print(sensor.humidity); lcd.setCursor(1, 2); lcd.print("t"); delay(2000); }
Не за что, почитайте область видимости переменных. Очень хороший конспект, данный момент описан в разделе Границы переменных http://robocraft.ru/files/books/arduino_notebook_rus_v1-1.pdf Да и просто будет полезен начинающим.
спс, тогда уж еще один , последний вопрос.... как сравнить t с температурой датчика и если температура датчика выше то написать на экране off --------- for sensor.temperature > t to lcd.setCursor(10, 3); lcd.print("off"); ?????? тут http://robocraft.ru/files/books/arduino_notebook_rus_v1-1.pdf не оч понятно написали
Сравнение лучше всего осуществить условием. Если температура > t, то выполнится условие: вывод на экран. if (sensor.temperature > t) { lcd.setCursor(10, 3); lcd.print("off"); }
понял.... спс.... буду копать дальше сам, а то плин 4 месяц на больничном, решил ардуинкой заняться...
Вроде бы написано просто, но могу ошибаться. Может, кто порекомендует достойную книгу для начинающих.