Mündəricat:

EAL- Daxili iqlim: 5 addım
EAL- Daxili iqlim: 5 addım

Video: EAL- Daxili iqlim: 5 addım

Video: EAL- Daxili iqlim: 5 addım
Video: Байкальский заповедник. Хамар-Дабан. Дельта Селенги. Алтачейский заказник. Nature of Russia. 2024, Noyabr
Anonim
EAL- Daxili iqlim
EAL- Daxili iqlim

Məktəb layihəmiz üçün bizə bir arduino avtomatlaşdırılmış sistemə inteqrasiya etmək tapşırıldı. İçəridə temperatur, rütubət və desibel səviyyəsini hiss edə bilən qapalı iqlim sensoru hazırlamağı seçdik.

Kabinetdə bir neçə deşik açdıq və yapışqan və lentlə komponentləri arxadan bərkidik. LCD ekran, LED şeridi olduğu kimi, ön tərəfə də yapışdırılmışdı. Şkafı sabitləşdirmək üçün taxta parçanın üstünə qoyduq və daha da sabitləşdirmək üçün Arduino, çörək taxtası və xarici güc mənbəyi üçün bir taxta taxtanın uzunluğunu arxa tərəfə qoyduq.

Cib telefonu və QR skanerindən istifadə edərək bu sayta dərhal daxil olmaq üçün kabinetə QR kodları qoyduq.

Addım 1: Bu layihəni həyata keçirmək üçün lazım olan şeylər

Bu layihəni həyata keçirmək üçün lazım olan şeylər
Bu layihəni həyata keçirmək üçün lazım olan şeylər
Bu layihəni həyata keçirmək üçün lazım olan şeylər
Bu layihəni həyata keçirmək üçün lazım olan şeylər
Bu layihəni həyata keçirmək üçün lazım olan şeylər
Bu layihəni həyata keçirmək üçün lazım olan şeylər
Bu layihəni həyata keçirmək üçün lazım olan şeylər
Bu layihəni həyata keçirmək üçün lazım olan şeylər

1: İqlim sensörünün qabığı köhnə bir kompüter şkafı tərəfindən hazırlanmışdır

2: Rütubət və temperatur üçün: 1 rütubət/temperatur sensoru və 2 RGB LED pin

3: VU sayğacı üçün: 1 mikrofon və 1 WS2812B 8 çipli LED STRIP

4: 1 LCD ekran və ekran çözünürlüğü üçün 1 potansiyometr

5: 1 Arduino Mega 2560, 1 çörək taxtası, 12V xarici enerji mənbəyi, tellər və rezistorlar

Addım 2: Dondurma

Darıxdırıcı
Darıxdırıcı

Komponentlərin necə bağlandığını göstərmək üçün Fritzing proqramından istifadə etdik. Kabellərin sxematik istifadəsi üçün əla bir proqram. Burada komponentləri hansı sancaqlar ilə bağlamalı olduğunuzu görə bilərsiniz.

Addım 3: Kod

Kod pulsuz Arduino proqramında yazılmışdır və bütün məqsədlər üçün hərəkət edən hissələrimiz yoxdur, buna görə də arduino və proqram tərəfindən idarə olunur.

Kod: Birinci hissə, hansı pinlərin istifadə edildiyini və hansı Kitabxanalardan istifadə etdiyimizi təyin etdiyimiz yerdir

// RBG Temperaturu və Nəmliyi redPintemp = 47 görselleştirmek üçün istifadə olunan RBG-ledləri üçün pinləri təyin etmək;

int greenPintemp = 45;

int bluePintemp = 46;

int redPinHumi = 53;

int greenPinHumi = 51;

int bluePinHumi = 21;

// İstilik və Rütubəti oxumaq üçün sensor.

#daxil et -

DHT ilə;

#DHT11_PIN A0 təyin edin

// LCD Temperatur və Rütubətin görünə biləcəyi ekran

#<LiquidCrystal.h> daxil edin

// lazım olan LCD interfeys pinini əlaqələndirərək kitabxananı işə salın

// arduino pin nömrəsi ilə const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);

// Səs səviyyəsini görüntüləmək üçün LED şeridi

#daxil edin <Adafruit_NeoPixel.h>

#math.h> daxil edin

#define N_PIXELS 8 // Stranddakı piksellərin sayı

#define MIC_PIN A9 // Mikrofon bu analog pinə əlavə edilmişdir

#define LED_PIN 6 // NeoPixel LED şeridi bu pinə bağlıdır

#define SAMPLE_WINDOW 10 // Orta səviyyə üçün nümunə pəncərə

#define PEAK_HANG 24 // Pik nöqtənin düşməsindən əvvəl fasilə vaxtı

#define PEAK_FALL 4 // Düşən pik nöqtənin dərəcəsi

#define INPUT_FLOOR 10 // Daha aşağı analogRead giriş aralığı

#define INPUT_CEILING 300 // Maksimum analogRead giriş aralığı, dəyər nə qədər aşağı olarsa daha həssasdır (1023 = max)

bayt zirvəsi = 16; // Sütunun pik səviyyəsi; düşməyən nöqtələr üçün işarəsiz int nümunəsi;

bayt dotCount = 0; // Pik nöqtə üçün çərçivə sayğacı

bayt dotHangCount = 0; // Pik nöqtəni tutmaq üçün çərçivə sayğacı

Adafruit_NeoPixel şeridi = Adafruit_NeoPixel (N_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);

Tam kod həm arduino üçün.ino, həm də.docx faylı olaraq endirilə bilər

Addım 4: Video və Şəkillər

Image
Image
Video və Şəkillər
Video və Şəkillər

Addım 5: Uzaqlaşın

Away Build!
Away Build!

Layihə və komanda işimiz üzərində düşünərək, məktəbdə və sosial olaraq birlikdə yaxşı işləyirik. Layihədə planlaşdırdığımız və daha da təkmilləşdirilməsi üçün yer olan hissələr var. Kod işləyir, amma mükəmməl deyil. LED şeridimizin/VU sayğacımızın LCD ekranın gecikməsinə müdaxilə etmədən mükəmməl işləyə bilməsi üçün bir kod parçasını harada tətbiq edəcəyimizi tam başa düşə bilmirik, çünki düzgün oxumaq üçün 2 saniyə gecikdirilməlidir. temperatur/rütubət sensorundan alınan məlumatlar. Bu, LED zolağının mükəmməl işləməməsinə səbəb olur, çünki gecikməyə ehtiyac yoxdur, amma həlli kodda harada tətbiq edəcəyimizi bilmirik. Hələlik ən böyük təəssüfümüz budur, amma təkliflərə açıqıq və özümüzü kodlaşdırmanı daha da təkmilləşdirməyə çalışacağıq. Daha çox vaxtımız olsaydı, çünki bu layihə zaman bazasına malik idi və kodlaşdırma hissəsini daha yaxşı başa düşsəydik, kodlaşdırma üzərində işləyə bilərdik və indi də inkişaf etdirəcəyik.

İndi bu mərhələyə gələn bütün addımları bitirdikdən sonra, qapalı iqlim qurğusu üçün daha çox xüsusiyyət və zəhmli əşyalar araşdırmağa hazırsınız. Bu cihazı təkmilləşdirməyin bir yolu, temperatur və ya rütubətin müəyyən bir eşikdən aşağı və ya aşması halında bir fanı işə salacaq bir funksiya hazırlamaq ola bilər. Buna görə də çox soyuq olsaydı, otaqdakı istiliyi bir qədər artıra bilərdi və çox isti olsaydı aşağı endirərdi. Rütubət çox yüksək olsaydı, aşağı salmaq üçün pəncərələri aça bilər və ya heç olmasa təklif edə bilər. Mikrofon, smartfonunuzda və ya digər cihazınızda bluetooth moduluna yüksəldilə bilər. Bu yolla, hazırda otaqda olan desibelin səviyyəsini izləyə bilərsiniz. Həm də bu, çox yüksək olduqda səsin ya artırıla, ya da azaldılacağı bir funksiyaya yüksəldilə bilər.

İndi qurun və düşüncələrimizdən ilham alın və ya öz fikirlərinizi həyata keçirin.

Səhifəmizi ziyarət etdiyiniz üçün və onu yaratmağa çalışdığınız üçün təşəkkür edirik!

Tövsiyə: