Мазмуну:

SD карт модулу ESP8266 менен: 6 кадам
SD карт модулу ESP8266 менен: 6 кадам

Video: SD карт модулу ESP8266 менен: 6 кадам

Video: SD карт модулу ESP8266 менен: 6 кадам
Video: BTT SKR2 — Обновлены основы SKR 2 (Rev B) 2024, Ноябрь
Anonim
Image
Image
ESP8266 менен SD карт модулу
ESP8266 менен SD карт модулу
ESP8266 менен SD карт модулу
ESP8266 менен SD карт модулу

Бул жыйында бизде ESP8266га туташкан SD карт бар. Биз DHT22 коюп, ал температураны жана нымдуулукту өлчөйт жана бул маалыматты SD картага жөнөтөт.

Райондо ал 43.40 нымдуулукту жана 26.80 температураны көрсөтөт. Ал "файлды ийгиликтүү ачуу" билдирүүсүн көрсөткөн сайын, бул циклде бир жолу чуркагандыктан болот. Бул сценарийде эмне пайда болот: журнал файлына баалуулуктар гана жазылып жатат, демек, "файлды ийгиликтүү ачуу" билдирүүсү кеңеш гана болуп саналат жана ал жазылбайт.

1-кадам: WiFi ESP8266 NodeMcu ESP-12E

WiFi ESP8266 NodeMcu ESP-12E
WiFi ESP8266 NodeMcu ESP-12E

Бул жерде биз колдонгон компонентти деталдаштырабыз, бул учурда NodeMCU ESP12 жана ошол түзмөктүн маалыматтык баракчасы.

2 -кадам: нымдуулук сенсору

Нымдуулук сенсору
Нымдуулук сенсору

Тизилиште, мен бул башка компонент жөнүндө деталдарды көрсөтөм, DHT22, тиешелүү төөнөгүч менен.

3 -кадам: SD карт модулу

SD карт модулу
SD карт модулу

Бул биздин SD Card модулу. Pinoutтан көрүнүп тургандай, бул SPI байланышы менен.

4 -кадам: Ассамблея

Ассамблея
Ассамблея

Чогуу диаграммасы окурманга, DHT22ге, NodeMCU ESP12ге таянат. Мен экинчисин тандадым, анткени ага акылга сыярлык көлөмдөгү IO керек. Ошентип, ESP01 дагы бул жыйын үчүн иштейт.

5 -кадам: Китепканалар

Китепканалар
Китепканалар

Бул жыйын үчүн сизге Arduino IDEнин DHT китепканасы керек. DHT жүктөп жатканда эле "Эскиз> Китепкана кошуу> Китепканаларды башкаруу" бөлүмүнө өтүңүз. Сиз SD китепканасы үчүн дагы ушундай кылышыңыз керек.

6 -кадам: Булак коду

Жыйналышта колдонулган булак коду жөнөкөй жана бул SD картанын иштеп жатканын көрсөтүү. Кийинчерээк бардык татаалдыкты киргизишиңиз керек, бирок башка сансыз функцияларды колдоно аласыз. Бирок, бул бул мисалга колдонулбайт.

// biblioteca Respável pela comunicação com o Cartão SD #include // библиотека жооптору comunicação com o sensor DHT22 #кошуу // pino de dados do DHT será ligado no D6 do esp #define DHTPIN D2 // tipo do sens #DHF22 DHTTYPE // конструктор DHT dht (DHTPIN, DHTTYPE) менен байланышкан комуникардарды жасоо; // SD картаны аныктоо үчүн CSO #define CS_PIN D8;

Жайгашуу

Орнотуу функциясында биз объектинин сенсор менен байланышын баштайбыз, ошондой эле SD картаны баштайбыз.

void setup () {Serial.begin (9600); Serial.print ("Inicializando o cartão SD…"); // сенсор DHT dht.begin () менен байланышкан комуникармдорго жооп берүү; // verifica se o cartão SD está presente e se pode ser inicializado if (! SD.begin (CS_PIN)) {Serial.println ("Falha, verifique se o cartão está presente."); // программаны кайра кайтаруу; } // seggou aqui é porque o cartão foi inicializado corretamente Serial.println ("Cartão inicializado."); }

Loop

Укурукта биз нымдуулукту, нымдуулукту жана температураны окуйбуз. Бул стандарттык C тилине абдан окшош.

// faz a leitura da umidade float umidade = dht.readHumidity (); Serial.print ("Umidade:"); Serial.println (umidade); // faz a leitura da temperatura float temperatura = dht.readTemperature (); Serial.print ("Температура:"); Serial.println (temperatura); Файл 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."); // formatação no arquivo: linha a linha >> UMIDADE | TEMPERATURA dataFile.print (үмүдөдө); dataFile.print ("|"); dataFile.println (температура); // дайындар dataFile.close (); ► else {Serial.println ("Falha ao abrir o arquivo LOG.txt"); } // аралыгы дагы бир жолу. кечигүү (2000); }

Сунушталууда: