Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
В этой сборке у нас есть SD-карта, подключенная к ESP8266. Ставим DHT22, который измеряет температуру и влажность и отправляет эту информацию на SD-карту.
На схеме он показывает влажность 43,40 и температуру 26,80. Каждый раз, когда он показывает сообщение «открытие файла успешно», это потому, что он выполнялся один раз в цикле. В этом сценарии происходит следующее: в файл журнала записываются только значения, и, таким образом, сообщение «открытие файла успешно» является только рекомендательным и не записывается.
Шаг 1: WiFi ESP8266 NodeMcu ESP-12E
Здесь мы подробно описываем используемый нами компонент, в данном случае NodeMCU ESP12, а также техническое описание этого устройства.
Шаг 2: датчик влажности
В этой последовательности я показываю подробности об этом другом компоненте, DHT22, с соответствующим закреплением.
Шаг 3: модуль SD-карты
Это наш модуль SD-карты. Как видно из распиновки, это с подключением SPI.
Шаг 4: Сборка
Схема сборки основана на считывателе DHT22, NodeMCU ESP12. Я выбрал последнее, потому что для него требуется разумное количество операций ввода-вывода. Таким образом, ESP01 также подойдет для этой сборки.
Шаг 5: библиотеки
Для этой сборки вам понадобится библиотека DHT самой Arduino IDE. Просто перейдите в «Эскиз> Включить библиотеку> Управление библиотеками» при загрузке DHT. То же самое нужно проделать и с SD-библиотекой.
Шаг 6: Исходный код
Исходный код, используемый в сборке, прост, и он просто показывает, что SD-карта работает. Позже вам придется добавить всю сложность, но вы можете использовать и другие бесчисленные возможности. Однако это не относится к этому примеру.
// biblioteca responseável pela comunicação com o Cartão SD # include // biblioteca responseável pela comunicação com o sensor DHT22 #include // pino de dados do DHT será ligado no D6 do esp #define DHTPIN D2 // DHO do sensor #YPETT22T // конструктор объекта для связи с датчиком DHT dht (DHTPIN, DHTTYPE); // Сделать карту для SD-карты CS do módulo #define CS_PIN D8;
Настраивать
В функции настройки мы начнем взаимодействие нашего объекта с датчиком, а также инициализируем SD-карту.
void setup () {Serial.begin (9600); Serial.print («Начало работы с SD…»); // инициализация объекта для связи с датчиком DHT dht.begin (); // проверка того, что карта SD присутствует и установлена после того, как она была инициирована, если (! SD.begin (CS_PIN)) {Serial.println ("Falha, verifique se o cartão está presente."); // программа encerrrado return; } // этот файл является начальным или исправным Serial.println ("Cartão inicializado."); }
Петля
В цикле мы читаем влажность, влажность и температуру. Это очень похоже на стандартный язык C.
// задать заголовок umidade float umidade = dht.readHumidity (); Serial.print ("Умидаде:"); Serial.println (умидаде); // задать значение температуры float temperatura = dht.readTemperature (); Serial.print ("Температура:"); Serial.println (температура); Файл dataFile = SD.open ("LOG.txt", FILE_WRITE); // se o arquivo foi aberto corretamente, escreve os dados nele if (dataFile) {Serial.println ("O arquivo foi aberto com sucesso."); // форматирование не arquivo: linha a linha >> UMIDADE | ТЕМПЕРАТУРА dataFile.print (umidade); dataFile.print ("|"); dataFile.println (температура); // fecha o arquivo após usá-lo dataFile.close (); } // se o arquivo não pôde ser aberto os dados não serão gravados. else {Serial.println ("Не может быть отменено или записано в LOG.txt"); } // Интервал эсперы для ума нова лейтура дос дадос. задержка (2000); }