فهرست مطالب:

ثبت دما و رطوبت از آردوینو به تلفن Android با ماژول کارت SD از طریق بلوتوث: 5 مرحله
ثبت دما و رطوبت از آردوینو به تلفن Android با ماژول کارت SD از طریق بلوتوث: 5 مرحله

تصویری: ثبت دما و رطوبت از آردوینو به تلفن Android با ماژول کارت SD از طریق بلوتوث: 5 مرحله

تصویری: ثبت دما و رطوبت از آردوینو به تلفن Android با ماژول کارت SD از طریق بلوتوث: 5 مرحله
تصویری: اموزش راه اندازی ماژول RFID RC522 2024, نوامبر
Anonim
ثبت دما و رطوبت از آردوینو به تلفن Android با ماژول کارت SD از طریق بلوتوث
ثبت دما و رطوبت از آردوینو به تلفن Android با ماژول کارت SD از طریق بلوتوث

سلام به همه ، این اولین دستورالعمل آموزشی من است ، امیدوارم بتوانم به جامعه سازندگان کمک کنم ، زیرا از آن بهره مند شده ام.

اغلب ما در پروژه های خود از سنسورها استفاده می کنیم ، اما یافتن راهی برای جمع آوری داده ها ، ذخیره و انتقال سریع و بی سیم تلفن ها یا سایر دستگاه ها یک فرایند آماده نبود. این دستورالعمل شما را راهنمایی می کند

  • به دست آوردن داده ها از سنسور (DHT 11) - سنسور دما و رطوبت.
  • ذخیره داده های به دست آمده در کارت SD با ماژول کارت SD.
  • انتقال داده های بی سیم با استفاده از بلوتوث به یک برنامه Android سفارشی
  • ذخیره مقادیر دریافت شده سنسور به عنوان فایل متنی (فایل.txt).

مرحله 1: لیست اجزاء

لیست اجزاء
لیست اجزاء
لیست اجزاء
لیست اجزاء
لیست اجزاء
لیست اجزاء

بیایید برای جمع آوری نیروها برای ساختن این پروژه فوق العاده پایین بیاییم.

  • آردوینو یونو (هر آردوینو دیگری نیز مناسب خواهد بود)
  • ماژول کارت میکرو SD
  • ماژول کارت SD (مورد استفاده من 8 گیگابایت است ، توصیه می شود از> 32 گیگابایت استفاده کنید)
  • HC05 - ماژول بلوتوث
  • DHT11 (سنسور دما و رطوبت)
  • دسته ای از جامپرها.
  • گوشی اندرویدی

مرحله 2: اتصالات:

اتصالات
اتصالات

کنار هم قرار دادن و اتصال اجزاء در نیمه راه پروژه انجام شده است. محصولات ذکر شده به راحتی در اکثر فروشگاه های الکترونیکی خرده فروشی و سایت های آنلاین مانند آمازون موجود است.

اتصال آردوینو - HC05 (بلوتوث):

  • +5V - Vcc
  • گند - گند
  • پین 0 - Tx
  • پین 1 - Rx

اتصال ماژول آردوینو - SDcard:

  • +5V - Vcc
  • گند - گند
  • پین 11 - MOSI (Master Out Slave In)
  • پین 12 - MISO (Master In Slave Out)
  • پین 13 - SCk (ساعت همزمان)
  • پین 4 - CS (انتخاب تراشه)

اتصال آردوینو - HC05 (بلوتوث):

  • +5V - Vcc
  • گند - گند
  • پین A0 - سیگنال

مرحله 3: روش

روش
روش

همه قسمتها را همانطور که در مرحله قبل ذکر شد متصل کنید ، با این کار می توانیم کد را در Arduino Ide بنویسیم تا به هدف خود برسیم.

بخش دوم پروژه ما این است که یک برنامه Android برای دریافت مقادیر سنسور ، نمایش مقادیر و ذخیره آن در یک فایل در تلفن همراه داشته باشد. من از Thunkable برای ساخت برنامه Android استفاده کرده ام و همچنین apk و aia را برای آن ارائه کرده ام.

مرحله 4: کد آردوینو:

کد آردوینو در زیر آورده شده و توضیح داده شده است.

کد آردوینو بیشتر با کتابخانه کارت SD و کتابخانه DHT11 توضیح داده می شود. بلوتوث از سریال سخت افزاری استفاده می کند که pin0 و pin1 آردوینو است ، بنابراین انتقال بلوتوث با توابع Serial print () انجام می شود که از پروتکل 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 را تعریف کنید

void setup () {

// ارتباطات سریال را باز کرده و منتظر بمانید تا پورت باز شود: Serial.begin (9600) ؛ Serial.println ("نوع ، / t وضعیت ، / t رطوبت (٪) ، / t دما (C)") ؛ در حالی که (! سریال) {؛ // منتظر بمانید تا پورت سریال متصل شود. فقط برای پورت USB بومی مورد نیاز است} DHTAcq ()؛ sdCardWrite ("test3.txt") ؛ sdCardRead ("test3.txt") ؛

}

void DHTAcq ()

{Serial.println ("DHT11 ، / t") ؛ int chk = DHT.read11 (DHT11_PIN) ؛ Serial.print (DHT. رطوبت ، 1) ؛ Serial.print ("، / t") ؛ Serial.print (DHT.temperature ، 1) ؛ تاخیر (2000) ؛ }

void sdCardWrite (String fileNameStr)

{Serial.println ("راه اندازی کارت SD") ؛ if (! SD.begin (4)) {Serial.println ("Initilization ناموفق بود.")؛ برگشت؛ } 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 ("انجام شد.") ؛ */} else {// اگر فایل باز نشد ، خطا را چاپ کنید: 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 ()؛ } else {// اگر فایل باز نشد ، خطا را چاپ کنید: Serial.println ("خطا در باز شدن test.txt") ؛ }}

حلقه خالی () {

// بعد از راه اندازی هیچ اتفاقی نمی افتد //Serial.println("test 1.. 2.. 3 ")؛ // تأخیر (1000) ؛ }

مرحله 5: برنامه Android:

برنامه اندروید
برنامه اندروید
برنامه اندروید
برنامه اندروید

برنامه اندروید با برنامه Thunkable با برنامه نویسی کشیدن و رها کردن ساخته شده است. داده ها را روی برچسب روی صفحه وارد می کند و هنگامی که دکمه Store Data در محل AppInventor/Data با نام فایلی که کد به آن داده شده است فشار داده می شود.

با جایگزینی ماژول های حسگر مورد نظر ، می توان پروژه را برای ذخیره سازی آفلاین هر آنچه که اطلاعات سنسور می خواهیم ذخیره کرد و برنامه را می توان برای بازیابی اطلاعات از فضای ذخیره سازی و دستکاری متناسب با برنامه توسعه داد.

توصیه شده: