Bluetooth аркылуу Ардуинодон Android Телефонуна SD Карта Модулу менен Температура жана Нымдуулук маалыматын жазуучу: 5 кадам
Bluetooth аркылуу Ардуинодон Android Телефонуна SD Карта Модулу менен Температура жана Нымдуулук маалыматын жазуучу: 5 кадам
Anonim
Bluetooth аркылуу Ардуинодон Android Телефонуна Температура жана Нымдуулук боюнча маалымат жазуучу
Bluetooth аркылуу Ардуинодон Android Телефонуна Температура жана Нымдуулук боюнча маалымат жазуучу

Саламатсыздарбы, бул менин биринчи үйрөткүчүм, үмүт кылам, мен жаратуучулар коомчулугуна жардам бердим.

Көбүнчө биз долбоорлорубузда сенсорлорду колдонобуз, бирок маалыматтарды чогултуунун, сактоонун жана аны өткөрүп берүүнүн жолдорун издейбиз Телефондорду же башка түзмөктөрдү дароо жана зымсыз даяр процесс эмес. Бул Нускамалык сизге жол көрсөтөт

  • Сенсордон маалымат алуу (DHT 11) - температура жана нымдуулук сенсору.
  • SD карта модулу менен алынган маалыматтарды SD картада сактоо.
  • Bluetooth аркылуу дайындарды зымсыз Android колдонмосуна өткөрүп берүү.
  • Алынган сенсор баалуулуктарын текст файлы катары сактоо (.txt файлы).

1 -кадам: Компоненттердин тизмеси

Компоненттердин тизмеси
Компоненттердин тизмеси
Компоненттердин тизмеси
Компоненттердин тизмеси
Компоненттердин тизмеси
Компоненттердин тизмеси

Келгиле, бул сонун долбоорду ишке ашыруу үчүн аскерлерди чогулталы.

  • Arduino Uno (башка ардуино дагы ылайыктуу болот)
  • микро SD карта модулу.
  • SD карта модулу (мен колдонгон 8 ГБ,> = 32 ГБ колдонуу сунушталат)
  • HC05 - Bluetooth модулу
  • DHT11 (Температура жана нымдуулук сенсору)
  • Секирүүчүлөрдүн тобу.
  • Android телефону

2 -кадам: Байланыштар:

Байланыштар
Байланыштар

Компоненттерди бириктирүү жана туташтыруу долбоордун жарымында жасалат. Айтылган продуктылар Amazon сыяктуу чекене электрондук дүкөндөрдө жана онлайн сайттарда оңой жеткиликтүү.

Arduino - HC05 туташуусу (Bluetooth):

  • +5V - Vcc
  • Гнд - Гнд
  • Pin 0 - Tx
  • Pin 1 - Rx

Arduino - SDcard модулунун байланышы:

  • +5V - Vcc
  • Гнд - Гнд
  • Pin 11 - MOSI (Master Out Slave In)
  • Pin 12 - MISO (Master In Slave Out)
  • Pin 13 - SCk (Саат синхрондуу)
  • Pin 4 - CS (Chip Select)

Arduino - HC05 туташуусу (Bluetooth):

  • +5V - Vcc
  • Гнд - Гнд
  • Pin A0 - Сигнал

3 -кадам: тартиби

Процедура
Процедура

Мурунку кадамда айтылгандай бардык бөлүктөрдү туташтырыңыз, муну менен биз максатыбызга жетүү үчүн Arduino Ideде код жаза алабыз.

Биздин долбоордун экинчи бөлүгү - бул Android колдонмосу сенсордун маанилерин алуу, баалуулуктарды көрсөтүү жана аны мобилдик телефондо сактоо. Мен Android тиркемесин жасоо үчүн Thunkable колдондум, ошондой эле ал үчүн apk жана aia менен камсыз кылдым.

4 -кадам: Arduino коду:

Arduino коду төмөндө берилген жана түшүндүрүлгөн.

Arduino коду негизинен SD карталар китепканасы жана DHT11 китепканасы менен түшүндүрүлөт. Bluetooth аппараттык серияны колдонот, бул pin0 жана pin1 arduino, андыктан Bluetooth өткөрүп берүү I2C протоколун колдонгон Serial print () функциялары менен болот жана SD карт модулу аны менен байланышуу үчүн SPI протоколун колдонот.

/*

* SD карта SPI автобусуна тиркелет:

** MOSI - пин 11 ** MISO - пин 12 ** CLK - пин 13 ** CS - пин 4 (MKRZero SD үчүн: SDCARD_SS_PIN) * * HC 05 модулунун байланышы: ** TX - пин 0 (демейки) [болушу мүмкүн эгер Softwareserial колдонулса өзгөрдү] ** RX - pin 1 (демейки) [эгер Softwareserial колдонулса өзгөртүлүшү мүмкүн]

*/

#кошуу

#кошуу #кошуу

MyFile файлын берүү;

DHT DHT; #аныктоо DHT11_PIN A0

жараксыз орнотуу () {

// Сериялык байланышты ачыңыз жана порттун ачылышын күтүңүз: Serial.begin (9600); Serial.println ("Type, / tStatus, / tHumidity (%), / tTemperature (C)")); while (! Serial) {; // сериялык порттун туташуусун күтө туруңуз. USB порту үчүн гана керек} DHTAcq (); sdCardWrite ("test3.txt"); sdCardRead ("test3.txt");

}

жараксыз DHTAcq ()

{Serial.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); Serial.print (DHT. Нымдуулук, 1); Serial.print (", / t"); Serial.print (DHT.температурасы, 1); кечигүү (2000); }

жараксыз 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. нымдуулук, 1); myFile.print (", / t"); myFile.print (DHT.температурасы, 1); myFile.close (); Serial.println ("бүттү!"); кечигүү (200); /*Serial.print("Test.txt үчүн жазуу… "); myFile.println ("тестирлөө 1, 2, 3."); // файлды жабуу: myFile.close (); Serial.println ("бүттү."); */} башка {// эгерде файл ачылбаса, катаны басып чыгарыңыз: Serial.println ("test.txt ачуу катасы"); }}

жараксыз sdCardRead (String fileName)

{// файлды окуу үчүн кайра ачыңыз: myFile = SD.open (fileName); if (myFile) {Serial.println ("test.txt:"); // башка эч нерсе жок болгонго чейин файлдан окуңуз: while (myFile.available ()) {Serial.write (myFile.read ()); } // файлды жабуу: myFile.close (); } else {// эгер файл ачылбаса, катаны басып чыгарыңыз: Serial.println ("test.txt ачуу катасы"); }}

void loop () {

// орнотулгандан кийин эч нерсе болбойт //Serial.println("test 1.. 2.. 3 "); // кечиктирүү (1000); }

5 -кадам: Android колдонмосу:

Android колдонмосу
Android колдонмосу
Android колдонмосу
Android колдонмосу

Android колдонмосу Thunkable тиркемеси менен сүйрөө жана түшүрүү программасы менен жасалган. Ал маалыматтарды экрандын этикеткасына киргизет жана кодду берген файлдын аты менен AppInventor/Data дүкөнүнүн баскычы басылганда.

Долбоор каалаган сенсор модулдары менен алмаштыруу аркылуу каалаган сенсордук маалыматтарды оффлайнда сактоо үчүн узартылышы мүмкүн жана колдонмону сактагычтан маалыматтарды алуу жана колдонмого ылайыкташтырып иштетүү үчүн узартууга болот.

Сунушталууда: