Mundarija:

Bluetooth orqali SD -karta moduli bilan Arduino -dan Android -telefongacha harorat va namlik ma'lumotlarini yozuvchi: 5 qadam
Bluetooth orqali SD -karta moduli bilan Arduino -dan Android -telefongacha harorat va namlik ma'lumotlarini yozuvchi: 5 qadam

Video: Bluetooth orqali SD -karta moduli bilan Arduino -dan Android -telefongacha harorat va namlik ma'lumotlarini yozuvchi: 5 qadam

Video: Bluetooth orqali SD -karta moduli bilan Arduino -dan Android -telefongacha harorat va namlik ma'lumotlarini yozuvchi: 5 qadam
Video: 1-dars (Arduino IDEni windowsga o`rnatish) 2024, Noyabr
Anonim
Bluetooth orqali SD -karta moduli bilan Arduino -dan Android -telefongacha harorat va namlik ma'lumotlarini yozuvchi
Bluetooth orqali SD -karta moduli bilan Arduino -dan Android -telefongacha harorat va namlik ma'lumotlarini yozuvchi

Hammaga salom, bu mening birinchi yo'riqnomam, umid qilamanki, men ishlab chiqaruvchilar jamoasiga yordam beraman, chunki bu menga foyda keltirdi.

Ko'pincha biz o'z loyihalarimizda datchiklardan foydalanamiz, lekin ma'lumotlarni yig'ish, saqlash va uzatish yo'lini topamiz. Telefonlar yoki boshqa qurilmalarni zudlik bilan va simsiz ishlatish - bu tayyor jarayon emas edi. Bu ko'rsatma sizga yo'l ko'rsatadi

  • Sensordan ma'lumotlarni olish (DHT 11) - harorat va namlik sensori.
  • Olingan ma'lumotlarni SD -kartada SD -karta moduli yordamida saqlash.
  • Bluetooth yordamida simsiz ma'lumotlarni maxsus Android ilovasiga o'tkazish.
  • Qabul qilingan sensor qiymatlarini matnli fayl sifatida saqlash (.txt fayli).

1 -qadam: Komponentlar ro'yxati

Komponentlar ro'yxati
Komponentlar ro'yxati
Komponentlar ro'yxati
Komponentlar ro'yxati
Komponentlar ro'yxati
Komponentlar ro'yxati

Keling, bu ajoyib loyihani amalga oshirish uchun qo'shinlarni yig'ishga tushaylik.

  • Arduino Uno (boshqa arduino ham mos keladi)
  • micro SD karta moduli.
  • SD -karta moduli (men foydalanadigan 8 Gb,> = 32 Gb dan foydalanish tavsiya etiladi)
  • HC05 - Bluetooth moduli
  • DHT11 (harorat va namlik sensori)
  • Jumperlar to'plami.
  • Android telefon

2 -qadam: Ulanishlar:

Ulanishlar
Ulanishlar

Loyihaning tarkibiy qismlarini birlashtirish va ulashning yarmi tugadi. Ko'rsatilgan mahsulotlarni Amazon kabi chakana elektron do'konlarda va onlayn -saytlarda osongina topish mumkin.

Arduino - HC05 ulanishi (Bluetooth):

  • +5V - Vcc
  • Gnd - Gnd
  • Pin 0 - Tx
  • 1 -pin - Rx

Arduino - SDcard moduli ulanishi:

  • +5V - Vcc
  • Gnd - Gnd
  • Pin 11 - MOSI
  • 12 -pin - MISO (qullikdagi usta)
  • Pin 13 - SCk (soat sinxron)
  • 4 -pin - CS (Chip tanlash)

Arduino - HC05 ulanishi (Bluetooth):

  • +5V - Vcc
  • Gnd - Gnd
  • Pin A0 - signal

3 -qadam: protsedura

Jarayon
Jarayon

Oldingi bosqichda aytilganidek, barcha qismlarni ulang, shu bilan biz maqsadimizga erishish uchun Arduino Idea kodini yozishimiz mumkin.

Loyihamizning ikkinchi qismi - Android ilovasi sensor qiymatlarini qabul qilishi, qiymatlarni ko'rsatishi va uni mobil telefonda saqlash. Men Android ilovasini yaratish uchun Thunkable -dan foydalandim, shuningdek apk va aia -ni taqdim qildim.

4 -qadam: Arduino kodi:

Arduino kodi quyida berilgan va tushuntirilgan.

Arduino kodi asosan SD karta kutubxonasi va DHT11 kutubxonasi bilan tushunarli. Bluetooth arduino -ning pin0 va pin1 -sonli apparat ketma -ketligidan foydalanadi, shuning uchun bluetooth uzatish I2C protokolidan foydalanadigan Serial print () funktsiyalari bilan amalga oshiriladi va SD -karta moduli u bilan aloqa qilish uchun SPI protokolidan foydalanadi.

/*

* SD -karta SPI avtobusiga quyidagicha biriktirilgan:

** MOSI - pin 11 ** MISO - pin 12 ** CLK - pin 13 ** CS - pin 4 (MKRZero SD uchun: SDCARD_SS_PIN) * * HC 05 moduli ulanishi: ** TX - pin 0 (standart) [bo'lishi mumkin agar dasturiy ta'minot ishlatilayotgan bo'lsa o'zgartirildi] ** RX - pin 1 (standart) [agar dasturiy ta'minot ishlatilayotgan bo'lsa o'zgartirish mumkin]

*/

#qo'shing

#qo'shing #qo'shing

MyFile faylini yarating;

DHT bilan; #DHT11_PIN A0 ni aniqlang

bo'sh o'rnatish () {

// Seriya aloqalarini oching va port ochilishini kuting: Serial.begin (9600); Serial.println ("Turi, / t holati, / t namligi (%), / t harorat (C)"); while (! Seriyali) {; // ketma -ket port ulanishini kuting. Faqat mahalliy USB port uchun kerak} DHTAcq (); sdCardWrite ("test3.txt"); sdCardRead ("test3.txt");

}

bekor DHTAcq ()

{Serial.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); Seriyali bosma (DHT. Namlik, 1); Serial.print (", / t"); Serial bosma (DHT harorati, 1); kechikish (2000); }

bo'sh sdCardWrite (String fileNameStr)

{Serial.println ("SD -karta ishga tushirilmoqda"); if (! SD.begin (4)) {Serial.println ("Initilizatsiya muvaffaqiyatsiz tugadi."); qaytish; } Serial.println ("Initilizatsiya bajarildi!"); // faylni oching. E'tibor bering, bir vaqtning o'zida faqat bitta fayl ochilishi mumkin, // boshqasini ochishdan oldin uni yopishingiz kerak. myFile = SD.open (fileNameStr, FILE_WRITE); // agar fayl yaxshi ochilgan bo'lsa, unga yozing: if (myFile) {myFile.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); myFile.print (DHT. namlik, 1); myFile.print (", / t"); myFile.print (DHT harorati, 1); myFile.close (); Serial.println ("bajarildi!"); kechikish (200); /*Serial.print("Test.txt uchun yozish …"); myFile.println ("sinov 1, 2, 3"); // faylni yoping: myFile.close (); Serial.println ("bajarildi."); */} else {// agar fayl ochilmasa, xatoni chop eting: Serial.println ("test.txt ochishda xato"); }}

vd sdCardRead (String fileName)

{// faylni o'qish uchun qayta oching: myFile = SD.open (fileName); if (myFile) {Serial.println ("test.txt:"); // fayldan boshqa hech narsa bo'lmaguncha o'qing: while (myFile.available ()) {Serial.write (myFile.read ()); } // faylni yoping: myFile.close (); } else {// agar fayl ochilmasa, xatoni chop eting: Serial.println ("test.txt ochilishida xato"); }}

void loop () {

// sozlashdan keyin hech narsa bo'lmaydi //Serial.println("test 1.. 2.. 3 "); // kechikish (1000); }

5 -qadam: Android ilovasi:

Android ilovasi
Android ilovasi
Android ilovasi
Android ilovasi

Android ilovasi Thunkable ilovasi yordamida sudrab tashlab yuborish dasturiga ega. U ma'lumotlarni ekrandagi yorliqqa yozib qo'yadi va "Ma'lumotlarni saqlash" tugmasi AppInventor/Ma'lumotlar joylashgan joyga bosilganda, kod berilgan fayl nomi ko'rsatiladi.

Loyihani istalgan sensorli modullar bilan almashtirish orqali biz xohlagan sensor ma'lumotlarini oflayn saqlash imkoniyatiga ega bo'lish uchun uzaytirish mumkin, va ilovani ma'lumotlarni saqlashdan olish va ilovaga mos ravishda o'zgartirish uchun uzaytirish mumkin.

Tavsiya: