Mundarija:
- 1 -qadam: Komponentlar ro'yxati
- 2 -qadam: Ulanishlar:
- 3 -qadam: protsedura
- 4 -qadam: Arduino kodi:
- 5 -qadam: Android ilovasi:
Video: Bluetooth orqali SD -karta moduli bilan Arduino -dan Android -telefongacha harorat va namlik ma'lumotlarini yozuvchi: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
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
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:
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
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 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:
Ubidots va Google-jadvallar yordamida harorat/namlik ma'lumotlarini tahlil qilish: 6 qadam
Ubidots va Google-Sheets yordamida harorat/namlik ma'lumotlarini tahlil qilish: Ushbu qo'llanmada biz harorat va namlik sensori yordamida har xil harorat va namlik ma'lumotlarini o'lchaymiz. Shuningdek, siz ushbu ma'lumotlarni Ubidots -ga qanday yuborishni bilib olasiz. Shunday qilib, siz uni har qanday joydan turli xil ilovalar uchun tahlil qilishingiz mumkin. Shuningdek, yuborish orqali
Nodemcu Thingspeak -ga harorat va namlik ma'lumotlarini yuboradi: 7 qadam
Nodemcu Thingspeak -ga harorat va namlik to'g'risidagi ma'lumotlarni yuboradi: Bu erda biz dht11 sensori bilan nodemcu -ni bog'ladik va harorat va namlik ma'lumotlarini serverga yuboramiz. Bu erda biz harorat va namlik grafigini ham xuddi shu serverga joylashtirdik
IoT uzoq masofali simsiz harorat va namlik sensori ma'lumotlarini Google jadvaliga yuborish: 39 qadam
IoT uzoq masofali simsiz harorat va namlik sensori ma'lumotlarini Google jadvaliga yuborish: biz bu erda NCD harorat va namlik sensori ishlatamiz, lekin har qanday ncd mahsuloti uchun qadamlar teng bo'lib qoladi, shuning uchun agar sizda boshqa ncd simsiz sensorlar bo'lsa, kuzatib boring. yonida. Ushbu matnni to'xtatish orqali siz
Arduino MySQL serveriga harorat va namlik ma'lumotlarini yuboradi (PHPMYADMIN): 5 qadam
Arduino MySQL -serverga harorat va namlik ma'lumotlarini yuboradi (PHPMYADMIN): Ushbu loyihada men DHT11 -ni arduino bilan bog'ladim va keyin namlik va harorat bo'lgan dht11 ma'lumotlarini phpmyadmin ma'lumotlar bazasiga yuboraman. Bu erda biz ma'lumotlarni PHPmyadmin ma'lumotlar bazasiga o'tkazish uchun bitta PHP skriptidan foydalanmoqdamiz
RC parvoz ma'lumotlarini yozuvchi/qora quti: 8 qadam (rasmlar bilan)
RC Parvoz ma'lumotlarini yozuvchisi/Qora quti: Men bu yo'riqnomada RC transport vositalari, xususan RC samolyotlari uchun arduino asosidagi jangovar ma'lumot yozuvchini qurmoqchiman. Men ma'lumotlarni yozish uchun arduino pro mini va SD -karta ekraniga ulangan UBlox Neo 6m GPS modulidan foydalanmoqchiman