Моя погода

Недовго тому я почав програмування мікроконтролерів на основі дощок arduino. Дуже цікавим і практичним. На основі Arduino можна створити безліч корисних пристроїв для себе і не тільки. Наприклад, можна зробити автоматичне освітлення в квартирі, різні роботи або квадрокоптери.

Я не збираюсь, щоб список всіх пристроїв, які роблять ці друковані плати, і я буду говорити сьогодні переважно про те, що я побудував. Якщо ви хочете дізнатися більше про Arduino, попросіть Google або Yandex.





Погодна станція складається з дошки arduino і прикріпленого тиску, датчиків вологості і двох датчиків температури. Другий пристрій - мобільний телефон або планшет Android.

Принцип роботи простий - дошка читає читання датчиків, і коли ви починаєте додаток на телефоні, команда надсилається через bluetooth на дошку і плата надсилає читання на телефон. Після цього ми бачимо температуру, тиск або вологість.



Температура зовні



Тиск в ммГг



і відсоток вологості



Спочатку з'єднайте 2 датчики температури DS18B20 до arduino, як показано на малюнку. Датчики підключені до 4 цифрового штифта на arduino.



Потім з'єднайте датчик атмосферного тиску VMP085 як на малюнку.



Далі модуль bluetuz NS-05, може і NS-07. Так само як картина.



після того, як все зібрано, напишіть програмну частину для роботи дошки з датчиками

#включити

#включити



#define One_WIRE_BUS 4 000 р.

OneWire OneWire (ONE_WIRE_BUS)

DallasTemperature сенсори (&oneWire)

ПристроїДодати термометр1 = {
0кс28, 0кс00, 0кс54, 0ксБ6, 0кс04, 0кс00, 0кс00, 0кс92;
ПристроїДодати термометр3 = {
0x28, 0x94, 0xAC, 0xDF, 0x02, 0x00, 0x00, 0xB5;

BMP085 dps = BMP085();
Довга температура = 0, Тиск = 0, Висота = 0

DHT dht(8, DHT11);

Шар вхід Біте;

int x = 0;

void налаштування() З

датчики.begin();
Датчики.setResolution(Термометр1, 10)
Датчики.setResolution(Термометр3, 10)

Дріт.бегін();
dps.init(MODE_ULTRA_HIGHRES, 21000, true)
dht.begin();

Послідовний.begin(9600);
Про нас

void printTemperature(DeviceAddress deviceAddress)
float tempC = датчики.getTempC(deviceAddress)
Послідовність.println(tempC,1);
Про нас

недійсна петля()

датчики.requestTemperatures();

JavaScript licenses API Веб-сайт Go1.13.8

int h = dht.readHumidity();
float t = dht.readTemperature();

якщо (Серіал.КСНУМКС) > 0 товар(ов)
incomingByte = Серіал.чит();
if(incomingByte = '1')
х = 2;
Про нас
якщо(incomingByte = '2') {
x=1;
Про нас
if(incomingByte = '3')
x=3;
Про нас
якщо(incomingByte = '4') {
x=4;
Про нас
Про нас
затримка(100);
вимикач (х) {
випадок 1:
друкТемператур(Термометр1);
лаціна
випадок 2:
друкТемператур(Термометр3);
лаціна
випадок 3:
Послідовний.println (Pressure/133.3.1)
лаціна
випадок 4:
Послідовність.println(h);
лаціна
Про нас
Про нас Відкрийте серію портів на комп'ютері з підключеною дошкою і перевірте продуктивність комп'ютера. Або точно, відправте 1, потім 2, 3 і 4. В результаті ми повинні отримати зовнішні значення температури – при надсиланні 1, кімнатної температури – при надсиланні 2, тиску – при надсиланні 3 і вологості – при надсиланні 4.

Додано до [mergetime]1405694477[/mergetime]
Якщо все працює, ви можете завантажити додаток для телефону, встановити і використовувати його.

arduino-project.net/download/arduino-android/WSAB.apk

Додано до [mergetime]1405694560[/mergetime]
На відео можна подивитися відео метеорологічної станції в роботі

JavaScript licenses API Веб-сайт Go1.13.8

Категории

Смотрите также

Новое и интересное