Სარჩევი:

SD ბარათის მოდული ESP8266– ით: 6 ნაბიჯი
SD ბარათის მოდული ESP8266– ით: 6 ნაბიჯი

ვიდეო: SD ბარათის მოდული ESP8266– ით: 6 ნაბიჯი

ვიდეო: SD ბარათის მოდული ESP8266– ით: 6 ნაბიჯი
ვიდეო: Using Micro SD Card and Data logging with Arduino | Arduino Step by Step Course Lesson 106 2024, ივლისი
Anonim
Image
Image
SD ბარათის მოდული ESP8266– ით
SD ბარათის მოდული ESP8266– ით
SD ბარათის მოდული ESP8266– ით
SD ბარათის მოდული ESP8266– ით

ამ შეკრებაზე ჩვენ გვაქვს SD ბარათი, რომელიც დაკავშირებულია ESP8266- თან. ჩვენ ვაყენებთ 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 ბარათის მოდული. როგორც ხედავთ pinout– დან, ეს არის SPI კავშირით.

ნაბიჯი 4: შეკრება

შეკრება
შეკრება

შეკრების დიაგრამა ეყრდნობა მკითხველს, DHT22, NodeMCU ESP12. მე ავირჩიე ეს უკანასკნელი, რადგან მას სჭირდება გონივრული რაოდენობის IO. ამრიგად, ESP01 ასევე იმუშავებს ამ ასამბლეისთვის.

ნაბიჯი 5: ბიბლიოთეკები

ბიბლიოთეკები
ბიბლიოთეკები

ამ შეკრებისთვის გჭირდებათ Arduino IDE– ს DHT ბიბლიოთეკა. უბრალოდ გადადით "ესკიზი> ბიბლიოთეკის ჩართვა> ბიბლიოთეკების მართვა" DHT– ის გადმოტვირთვისას. თქვენ იგივე უნდა გააკეთოთ SD ბიბლიოთეკისთვის.

ნაბიჯი 6: საწყისი კოდი

წყაროს კოდი, რომელიც გამოიყენება ასამბლეაში, არის მარტივი და მხოლოდ იმის საჩვენებლად, რომ SD ბარათი მუშაობს. თქვენ უნდა შეიყვანოთ ყველა დახვეწილობა მოგვიანებით, მაგრამ შეგიძლიათ გამოიყენოთ სხვა უამრავი თვისება. თუმცა, ეს არ ეხება ამ მაგალითს.

// ბიბლიოთეკა responsável pela comunicação com o Cartão SD #მოიცავს // ბიბლიოთეკა responsável pela comunicação com o sensor DHT22 #include // pino de dados do DHT será ligado no D6 do esp #define DHTPIN D2 // tipo do sensor #define DHTTYPE DHT22 // კონსტრუქტორი კომუნიკაციისთვის სენსორი DHT dht (DHTPIN, DHTTYPE); // pino ligado ao CS do módulo SD Card #განსაზღვრეთ CS_PIN D8;

Აწყობა

Setup ფუნქციაში ჩვენ დავიწყებთ ჩვენი ობიექტის სენსორთან კომუნიკაციას და ასევე დავიწყებთ SD ბარათს.

void setup () {Serial.begin (9600); Serial.print ("ოფიციალური SD ბარათის…"); // inicializa o objeto para comunicarmos com o sensor 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."); // programa encerrrado return; } // se chegou aqui é porque o cartão foi inicializado corretamente Serial.println ("Cartão inicializado."); }

მარყუჟი

მარყუჟში ჩვენ ვკითხულობთ ტენიანობას, ტენიანობას და ტემპერატურას. ეს ძალიან ჰგავს სტანდარტულ 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); ფაილის მონაცემები ფაილი = 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 (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 ("Falha ao abrir o arquivo LOG.txt"); } // intervalo de espera para uma nova leitura dos dados. დაგვიანება (2000); }

გირჩევთ: