Нужна помощь
- Войдите на сайт для отправки комментариев
Собирался снимать с DHT11 показатели и по i2c выводить их на LCD 2004
Собрал вот такой скетч:
1. #include <Wire.h>
2. #include <LiquidCrystal_I2C.h>
3. // include the library code:
4. #include "pitches.h"
5. #include "stDHT.h"
6. DHT dht(DHT11); // Указать датчик DHT11, DHT21, DHT22
7. // Установить ЖК-адрес для 0x27 для отображения 20 символов и 4 линии
8. LiquidCrystal_I2C lcd(0x27, 20, 4);
9. void setup()
10. {
11. // initialize the LCD
12. lcd.begin();
- // Turn on the blacklight and print a message.
14. lcd.noBacklight();
15. lcd.clear();
16. lcd.setCursor(0, 1);
17. // настройка UART (связь с компьютером - через виртуальный COM-порт посредством USB)
18. Serial.begin(9600);
19. // настройка вывода датчика DHT11
20. pinMode(6, INPUT);
21. digitalWrite(6, HIGH);
22. lcd.clear();
23. lcd.backlight();
24. }
25. void loop()
26. {
27. int t = sens.readTemperature(2); // чтение датчика на пине 6
28. int h = sens.readHumidity(2); // чтение датчика на пине 6
29. // передача данных о температуре и влажности по виртуальному COM-порту
30. Serial.print("Hum: ");
31. Serial.print(h);
32. Serial.print(" %");
33. Serial.print("Temp: ");
34. Serial.print(t);
35. Serial.println(" C ");
36. // отображение данных о температуре и влажности на знакосинтезирующем ЖКИ
- // set the cursor to column 0, line 0
- // (note: line 1 is the second row, since counting begins with 0):
39. lcd.setCursor(0, 0);
40. lcd.print("Tem: ");
41. lcd.print(t);
42. lcd.print("C ");
43. lcd.setCursor(0, 1);
44. lcd.print("Hum: ");
45. lcd.print(h);
46. lcd.print("%");
- // print the number of seconds since reset:
48. //lcd.print(millis() / 1000);
49. delay(1000);
50. }
Выдаёт сл.ошибку в 6-й строке:
Выдаёт сл.ошибку в 6-й строке:
Не найдены и соответственно не подключены библиотеки: pitches.h и stDHT.h. Соответственно не смогли инициализировать DHT в 6 строке. Ну и sens используемый в loop нигде не объявлен. Кстати, по идее раз в 6 строке объявили dht то и в 27, 28 надо использовать "dht." а не "sens." судя по примеру
А "pitches.h" Вам зачем? Нигде ведь не используете.
и вот: http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
поправил в 6-й строке на:
убрал 4-ю строку. выдаёт ошибку в той же 6-й строчке:
DiMan, не стесняйся открывать DHT.h и DHT.cpp и смотреть как устроен этот класс.
Конструктор объявлен так:
первый параметр это пин, на который у тебя подключен датчик.
Спасибо. Теперь проблема с этим:
Выдаёт ошибку:
Что значит не был объявлен readTemperature? Где его объявлять? и почему он пишет, что нет инициализатора перед DHT? Я же обозначил:
Вообщем объясните новичку.
Полный програмный код:
DiMan, без понимания С++ будет тяжело... Как-то так должно выглядеть: