DIY термометр для «Instagram» на arduino nano

Продовжуємо робити корисні і не дуже смарт/розумні/bluetooth девайси на ардуїнов. У попередніх статтях я розповідав як зробити bluetooth машинку, bluetooth вольтметр і bluetooth пульт для телевізора, а сьогодні мова піде про створення більш модного, але менш корисного девайса. Цей давайс дозволяє постити в instagram показання термометра із зазначенням точного часу і місця вироблених вимірів температури. Спочатку покажу як це виглядає і працює на відео, а докладний опис буде вже під катом.

А ось так будуть виглядати результати вимірювань в «Instagram»:

Тепер коротко кажучи розповім про конструкції і схемі підключення. Мій bluetooth/instagram термометр складається з:
Ардуїнов Нано
Bluetooth модуль HC06
Датчик температури і вологості DHT11
Взагалі, датчик температури можна використовувати будь-який з тих, які можливо підключити до ардуїнов. Я, наприклад, пробував ще використовувати DS18B20. Головне, щоб під цей датчик існувала бібліотека для ардуїнов. І зовсім вже ідеальний випадок, якщо в бібліотеці є готовий скетч, який відправляє значення температури в serial port. Тоді можна використовувати саме цей скетч для передачі даних через bluetooth модуль. Тут все дуже просто, але на всяк випадок залишу схему підключення та скетч для датчика DHT11, якщо хтось захоче використовувати саме його. Бібліотека для dht 11
скетч#include «DHT.h»
#define DHTPIN 2
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
unsigned long a;
void setup() {
Serial.begin(9600);
Serial.setTimeout(4);
dht.begin();
}

void loop() {
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
float f = dht.readTemperature(true);
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(«Failed to read from DHT sensor!»);
return;
}
if (Serial.available())
{ a = Serial.parseInt();
if (a==1) {
float hi = dht.computeHeatIndex(f, h);

Serial.print(«Humidity: „);
Serial.print(h);
Serial.print(“ %\t»);
Serial.print(«Temperature: „);
Serial.print(t);
Serial.print (“C „);
}
}
}



З “залізною» частиною розібралися, тепер можна приступати до написання android-додатки. Найпростіше його зробити використовуючи середовище візуальної розробки android-додатків App Inventor 2. Працює вона з браузера, встановлювати нічого не потрібно. Розбереться будь ардуинщик. На скріншоті список елементів, що використовуються в програмі, їх рассположение і деякі характеристики

Сам додаток теж досить просте і виглядає так:

Складається додаток всього з 5 блоків, два з яких (Listpicker) відповідають за підключення до одного з парних пристроїв bluetooth. Screen1 виконується тільки при запуску програми, дістаючи з пам'яті телефону мак-адресу останнього підключеного пристрою, а також запускаючи визначення адреси розташування смартфона. Clock1 відповідає за зміну виміри часу і перевіряє, поступилп нова інформація про температуру. Button1 відправляє запит на ардуїнов для оновлення інформації, якщо знадобиться.
Ну й у висновку про зовнішній вигляд bluetooth/instagram термометра. Працює цей девайс у мене на балконі, тому воздейстрию природних явищ не схильний, а отже і корпус йому не до чого.Можливо, якщо знайдеться якесь просте рішення для корпусу, коли-небудь встановлю його за вікном, А поки виглядає bluetooth/instagram термометр так:

Ну а android-додаток вийшло таким:

P.s. Для тих, хто взагалі ніколи не стикався з створенням додатків в App Inventor 2, я зробив відео з трохи більш докладним описом процесу створення цього додатка.


Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.