תוכן עניינים:

רשם נתוני טמפרטורה ולחות מ- Arduino לטלפון אנדרואיד עם מודול כרטיס SD באמצעות Bluetooth: 5 שלבים
רשם נתוני טמפרטורה ולחות מ- Arduino לטלפון אנדרואיד עם מודול כרטיס SD באמצעות Bluetooth: 5 שלבים

וִידֵאוֹ: רשם נתוני טמפרטורה ולחות מ- Arduino לטלפון אנדרואיד עם מודול כרטיס SD באמצעות Bluetooth: 5 שלבים

וִידֵאוֹ: רשם נתוני טמפרטורה ולחות מ- Arduino לטלפון אנדרואיד עם מודול כרטיס SD באמצעות Bluetooth: 5 שלבים
וִידֵאוֹ: חיישן אור, טמפרטורה ולחות Zigbee עם מסך Moes e-ink 2024, נוֹבֶמבֶּר
Anonim
רשם נתוני טמפרטורה ולחות מ- Arduino לטלפון אנדרואיד עם מודול כרטיס SD באמצעות Bluetooth
רשם נתוני טמפרטורה ולחות מ- Arduino לטלפון אנדרואיד עם מודול כרטיס SD באמצעות Bluetooth

שלום לכולם, זוהי ההנחיה הראשונה שלי אי פעם, מקווה שעזרתי לקהילת היצרנים כפי שהרוויחו ממנה.

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

  • רכישת נתונים מהחיישן (DHT 11) - חיישן טמפרטורה ולחות.
  • אחסון הנתונים שנרכשו בכרטיס SD באמצעות מודול כרטיס SD.
  • העברת הנתונים האלחוטית באמצעות Bluetooth לאפליקציית אנדרואיד בהתאמה אישית.
  • אחסון ערכי החיישן שהתקבלו כקובץ טקסט (קובץ. Txt).

שלב 1: רשימת רכיבים

רשימת רכיבים
רשימת רכיבים
רשימת רכיבים
רשימת רכיבים
רשימת רכיבים
רשימת רכיבים

בואו נרד לאסוף את הכוחות כדי ליצור את הפרויקט המדהים הזה.

  • Arduino Uno (כל ארדואינו אחר יהיה מתאים)
  • מודול כרטיס מיקרו SD.
  • מודול כרטיס SD (זה שאני משתמש בו הוא 8 GB, מומלץ להשתמש> = 32 GB)
  • HC05 - מודול בלוטות '
  • DHT11 (חיישן טמפרטורה ולחות)
  • חבורה של קופצים.
  • טלפון של אנדרואיד

שלב 2: חיבורים:

חיבורים
חיבורים

חיבור וחיבור רכיבים מתבצע באמצע הדרך לפרויקט. המוצרים שהוזכרו זמינים בקלות ברוב חנויות האלקטרוניקה הקמעונאית ובאתרים מקוונים כמו אמזון.

חיבור Arduino - HC05 (Bluetooth):

  • +5V - Vcc
  • Gnd - Gnd
  • סיכה 0 - Tx
  • סיכה 1 - Rx

חיבור מודול Arduino - SDcard:

  • +5V - Vcc
  • Gnd - Gnd
  • פין 11 - MOSI (Master Out Slave In)
  • פין 12 - MISO (Master In Slave Out)
  • פין 13 - SCk (שעון סינכרוני)
  • סיכה 4 - CS (בחירת שבב)

חיבור Arduino - HC05 (Bluetooth):

  • +5V - Vcc
  • Gnd - Gnd
  • סיכה A0 - אות

שלב 3: נוהל

תהליך
תהליך

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

החלק השני של הפרויקט שלנו הוא לקבל אפליקציית Android שתקבל את ערכי החיישנים, תציג את הערכים ותשמור אותם בקובץ בנייד. השתמשתי ב- Thunkable ליצירת יישום האנדרואיד וגם סיפקתי את ה- apk והאיה עבורו.

שלב 4: קוד ארדואינו:

קוד הארדואינו ניתן והוסבר להלן.

קוד הארדואינו מסביר את עצמו ברובו עם ספריית כרטיסי SD וספריית DHT11. ה- Bluetooth משתמש בחומרה סידרית שהיא pin0 ו- pin1 של הארדואינו ולכן העברת Bluetooth מתרחשת עם פונקציות ההדפסה הסידורי () שמשתמשות בפרוטוקול I2C ומודול כרטיס ה- SD משתמש בפרוטוקול SPI לתקשורת איתו.

/*

* כרטיס SD מחובר לאוטובוס SPI כדלקמן:

** MOSI - סיכה 11 ** MISO - סיכה 12 ** CLK - סיכה 13 ** CS - סיכה 4 (עבור MKRZero SD: SDCARD_SS_PIN) * * חיבור מודול HC 05: ** TX - פין 0 (ברירת מחדל) [יכול להיות השתנה אם נעשה שימוש ב- Softwareserial] ** RX - סיכה 1 (ברירת מחדל) [ניתן לשנות אם משתמשים ב- Softwareserial]

*/

#לִכלוֹל

#כלול #כלול

קובץ myFile;

dht DHT; #הגדר DHT11_PIN A0

הגדרת בטל () {

// פתח תקשורת טורית והמתן לפתיחת הנמל: Serial.begin (9600); Serial.println ("סוג, / tStatus, / tHumidity (%), / tTemperature (C)"); בעוד (! סדרתי) {; // המתן לחיבור יציאה טורית. דרוש ליציאת USB מקורית בלבד} DHTAcq (); sdCardWrite ("test3.txt"); sdCardRead ("test3.txt");

}

בטל DHTAcq ()

{Serial.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); Serial.print (DHT.humidity, 1); Serial.print (", / t"); Serial.print (טמפרטורה DHT, 1); עיכוב (2000); }

void sdCardWrite (String fileNameStr)

{Serial.println ("אתחול כרטיס SD"); if (! SD.begin (4)) {Serial.println ("האתחול נכשל."); לַחֲזוֹר; } Serial.println ("האתחול נעשה!"); // פתח את הקובץ. שים לב שרק קובץ אחד יכול להיות פתוח בכל פעם, // לכן עליך לסגור קובץ זה לפני פתיחת קובץ אחר. myFile = SD.open (fileNameStr, FILE_WRITE); // אם הקובץ נפתח בסדר, כתוב אליו: if (myFile) {myFile.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); myFile.print (DHT.humidity, 1); myFile.print (", / t"); myFile.print (DHT.temperature, 1); myFile.close (); Serial.println ("סיימתי!"); עיכוב (200); /*Serial.print("כתיבה ל- test.txt … "); myFile.println ("בדיקות 1, 2, 3."); // סגור את הקובץ: myFile.close (); Serial.println ("בוצע"); */} אחר {// אם הקובץ לא נפתח, הדפס שגיאה: Serial.println ("שגיאה בפתיחת test.txt"); }}

void sdCardRead (שם קובץ מחרוזת)

{// פתח מחדש את הקובץ לקריאה: myFile = SD.open (fileName); if (myFile) {Serial.println ("test.txt:"); // קרא מהקובץ עד שאין בו שום דבר אחר: while (myFile.available ()) {Serial.write (myFile.read ()); } // סגור את הקובץ: myFile.close (); } אחרת {// אם הקובץ לא נפתח, הדפס שגיאה: Serial.println ("שגיאה בפתיחת test.txt"); }}

לולאת חלל () {

// שום דבר לא קורה לאחר ההתקנה //Serial.println("מבחן 1.. 2.. 3 "); // עיכוב (1000); }

שלב 5: אפליקציית אנדרואיד:

אפליקציית אנדרואיד
אפליקציית אנדרואיד
אפליקציית אנדרואיד
אפליקציית אנדרואיד

אפליקציית האנדרואיד נוצרה עם יישום Thunkable עם תכנות גרור ושחרר. הוא יכנס את הנתונים לתווית שעל המסך וברגע שתלחץ על לחצן נתוני החנות במיקום AppInventor/Data עם שם הקובץ שקיבל את הקוד.

ניתן להרחיב את הפרויקט כך שיהיה לו אחסון לא מקוון של כל נתוני החיישנים שברצוננו על ידי החלפתם במודולי חיישנים רצויים וניתן להרחיב את האפליקציה כדי לאחזר את הנתונים מהאחסון ולתפעל בהתאם ליישום.

מוּמלָץ: