1 Вот сам код: Код (C++): #include <Wire.h> // Подключаем библиотеку Wire #include <LiquidCrystal_I2C.h> // Подключаем библиотеку LiquidCrystal_I2C #include <DallasTemperature.h> // Подключаем библиотеку DallasTempature #include <Servo.h> //используем библиотеку для работы с сервоприводом Servo glushan; //объявляем переменную servo типа Servo #define DS18B20 2 // Указываем, к какому выводу подключена DQ byte simvol[8] = {B11100,B10100,B11100,B00000,B00000,B00000,B00000,B00000,}; // Символ градуса byte ServoPin = 2; LiquidCrystal_I2C lcd(0x27,16,2); // Задаем адрес и размер дисплея OneWire oneWire(DS18B20); DallasTemperature sensors(&oneWire); float getTemp(); void setup() { sensors.begin(); // Запуск библиотеки, по умолчанию 9 бит, то есть кратность 0.5 градуса lcd.init(); // Инициализация lcd lcd.backlight(); // Включаем подсветку lcd.setCursor(2,0); // Устанавливаем курсор на 1 строку, ячейка 2 lcd.print("TEMP"); // Выводим текст lcd.setCursor(0,1); // Устанавливаем курсор на 2 строку, ячейка 2 lcd.print("GlushanDachaV1.0"); // Выводим текст Serial.begin(9600); glushan.attach(ServoPin); } void loop() { lcd.createChar(1, simvol); // Создаем символ под номером 1 sensors.requestTemperatures(); // Считываем показания температуры lcd.setCursor(7,0); // Устанавливаем курсор на 1 строку, ячейка 7 lcd.print(sensors.getTempCByIndex(0)); // Выводим показания температуры lcd.setCursor(12,0); // Устанавливаем курсор на 1 строку, ячейка 12 lcd.print("\1"); // Выводим символ градуса lcd.setCursor(13,0); // Устанавливаем курсор на 1 строку, ячейка 13 lcd.print("C"); { float T = getTemp(); Serial.println("CurrTemp = " + (String)T); if(T < 20) glushan.write(90); else glushan.write(0); }// Выводим текст } 1 Здравствуйте!Я только начинаю изучать ардуино,решил сделать умную теплицу,но выдает ошибку: C:\Users\anton\AppData\Local\Temp\ccVRblip.ltrans1.ltrans.o: In function `loop': C:\Users\anton\Documents\Arduino\sketch_aug02a/sketch_aug02a.ino:40: undefined reference to `getTemp()' collect2.exe: error: ld returned 1 exit status exit status 1 Ошибка компиляции для платы Arduino/Genuino Uno. как исправить?заранее спасибо
Возможно нужно подключить какую-то библиотеку, раз у вас не найдена функция getTemp() или написать ее самостоятельно
Функция getTemp, как сообщил вам компилятор, не понятно где. Подозреваю, что нужно написать что то вроде sensors.getTemp() Рекомендую начинать с примеров, которые в ардуино IDE, и как только вы поймете назначение каждой строки в этих примерах, то начнёт получаться. Успехов!
Это какой-то осколок библиотеки DallasTemperature.h Проверьте как правильно работать с ней, изучите примеры.
вот подробно ошибка Код (C++): Archiving built core (caching) in: C:\Users\anton\AppData\Local\Temp\arduino_cache_677127\core\core_arduino_avr_uno_0c812875ac70eb4a9b385d8fb077f54c.a C:\Users\anton\AppData\Local\Temp\cckUfRjB.ltrans1.ltrans.o: In function `loop': C:\Users\anton\Documents\Arduino\sketch_aug02a/sketch_aug02a.ino:40: undefined reference to `getTemp()' collect2.exe: error: ld returned 1 exit status
Да я понимаю что здесь, но я не знаю на что можно заменить переменную T чтобы T являлась значением температуры.
Вам уже ответили Их куча прилагается к этой библиотеке. Там и увидите, как получить температуру. В вашем же коде есть Что это значит?
теперь ошибка при компиляции avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xbf avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xbf avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xbf avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xbf avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xbf avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xbf avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xbf avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xbf avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xbf avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xbf Проблема загрузки в плату. Помощь по загрузке: http://www.arduino.cc/en/Guide/Troubleshooting#upload .