Недовго тому я почав програмування мікроконтролерів на основі дощок 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