מודול כרטיס SD עם ESP8266: 6 שלבים
מודול כרטיס SD עם ESP8266: 6 שלבים
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. בחרתי באחרון מכיוון שהוא צריך כמות סבירה של IOs. לפיכך, ה- ESP01 יפעל גם עבור הרכבה זו.

שלב 5: ספריות

ספריות
ספריות

להרכבה זו, אתה צריך את ספריית ה- DHT של ה- Arduino IDE עצמה. פשוט עבור אל "סקיצה> כלול ספרייה> נהל ספריות" תוך הורדת ה- DHT. אתה צריך לעשות את אותו הדבר עבור ספריית SD.

שלב 6: קוד המקור

קוד המקור המשמש בהרכבה הוא פשוט, וזה רק כדי להראות שכרטיס ה- SD פועל. עליך להכניס את כל התחכום מאוחר יותר, אך תוכל להשתמש בתכונות רבות אחרות. עם זאת, הדבר אינו חל על דוגמה זו.

// biblioteca responsável pela comunicação com o Cartão SD #include // biblioteca 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 // מבצע לעשות objeto עבור comunicar com או חיישן DHT dht (DHTPIN, DHTTYPE); // pino ligado ao CS do módulo Card SD #define CS_PIN D8;

להכין

בפונקציית ההתקנה, נתחיל בתקשורת של האובייקט שלנו עם החיישן, וגם נתחיל את כרטיס ה- SD.

הגדרת void () {Serial.begin (9600); Serial.print ("Inicializando o cartão 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 (טמפרטורה); קובץ 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 (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. אחרת {Serial.println ("Falha ao abrir o arquivo LOG.txt"); } // intervalo de espera para uma nova leitura dos dados. עיכוב (2000); }

מוּמלָץ: