Mündəricat:

Arduino və Python Arduino Master Kitabxanasından İstifadə Edilən İşıq İntensivliyi: 5 addım
Arduino və Python Arduino Master Kitabxanasından İstifadə Edilən İşıq İntensivliyi: 5 addım

Video: Arduino və Python Arduino Master Kitabxanasından İstifadə Edilən İşıq İntensivliyi: 5 addım

Video: Arduino və Python Arduino Master Kitabxanasından İstifadə Edilən İşıq İntensivliyi: 5 addım
Video: Using Micro SD Card and Data logging with Arduino | Arduino Step by Step Course Lesson 106 2024, Noyabr
Anonim
Arduino və Python Arduino Master Kitabxanasından istifadə edərək İşıq İntensivliyi Planı
Arduino və Python Arduino Master Kitabxanasından istifadə edərək İşıq İntensivliyi Planı

Arduino, iqtisadi cəhətdən yüksək səmərəli və funksional bir vasitə olduğundan, onu C -də proqramlaşdırmaq, layihələri yorucu hala gətirir! Python'un Arduino_Master modulu bunu asanlaşdırır və hesablamalar aparmağımıza, zibil dəyərlərini çıxarmağımıza və məlumatların vizual şəkildə təqdim edilməsi üçün bir qrafik qurmağımıza imkan verir.

Bu modulu hələ bilmirsinizsə, Arduino_Master pip install əmrindən istifadə edərək qurun

Bu modulu necə istifadə edəcəyinizi bilmirsinizsə narahat olmayın, bu linki ziyarət edin => Arduino_Master

Bununla birlikdə, bu layihənin kodu həmişə bu təlimatda mövcud olacaq.

Təchizat

Bu layihə üçün aşağıdakılara ehtiyacınız olacaq:

  1. Bir Arduino
  2. İşıqdan asılı bir rezistor (LDR) və
  3. Python 3 kompüterinizə quraşdırılmışdır.

Addım 1: Dövrünüzü qurun:

Dövrünüzü qurmaq
Dövrünüzü qurmaq

Giriş məlumatlarını əldə etmək üçün Arduino pin A1 istifadə edəcəyik. Batareya yerinə Arduinonun 5V və GND pinlərindən də istifadə edə bilərsiniz. Bağlantıyı aşağıdakı kimi qurun:

  1. LDR -nin bir ucunu 5V batareyanın müsbət terminalına və ya Arduinonun 5V pininə qoşun.
  2. LDR -nin digər ucunu A1 pininə və batareyanın mənfi terminalına və ya Arduinonun GND pininə paralel olaraq bağlayın.
  3. Bütün cərəyanın GND -yə axmadığından əmin olmaq üçün bir rezistor istifadə edin ki, bu da Arduinonun A1 terminalında hiss etmək üçün kifayət qədər güclü siqnal almamağınıza səbəb olacaq. (10k ohm rezistor istifadə edirəm).

Addım 2: Arduino proqramlaşdırma:

Arduino_Master modulu məlumat göndərmək və almaq üçün Arduino Serial Monitorundan istifadə edir. Bu moduldan istifadə etmənin üstünlüyü ondan ibarətdir ki, Arduino proqramlaşdırdıqdan sonra, python proqramlaşdırması nisbətən asan olduğundan fərqli layihələr üçün tək python proqramını dəyişə bilərsiniz!

Kod:

// LDR_1 dəyişən Arduino A1 pinini ifadə etmək üçün istifadə olunur.

int LDR_1 = A1;

// A1 -dən alınan məlumatlar LDR_Value_1 -də saxlanılacaq.

float LDR_Value_1;

String girişi;

boş quraşdırma ()

{pinMode (LDR_1, GİRİŞ); // LDR_1 INPUT pin kimi təyin edilmişdir. Serial.begin (9600); // Əlaqə ötürmə dərəcəsi 9600 olaraq təyin edilmişdir.}

boşluq döngəsi ()

{if (Serial.available ()> 0) // serial monitorda hər hansı bir giriş varsa, davam edin. {giriş = Serial.readString (); // Girişi simli olaraq oxuyun. əgər (giriş == "VERİ") {LDR_Value_1 = analogRead (LDR_1) * (5.0 / 1023.0); // (5 /1023) Voltda dəyər əldə etmək üçün dönüşüm faktorudur. Serial.println (LDR_Value_1); // Giriş "DATA" ya bərabərdirsə, LDR_1 -dən daxil olan məlumatları oxuyun və Serial Monitorda çap edin. } başqa int i = 0; // əgər giriş "DATA" ya bərabər deyilsə, heç nə etməyin! }

}

Addım 3: Arduinodan məlumatları qrafikləşdirmək üçün Python proqramlaşdırma:

Hər bir LDR -nin öz müqavimət dəyərləri olardı və yadda saxlamalıyıq ki, heç bir elektron komponent heç bir zaman tam eyni deyil. Beləliklə, əvvəlcə işığın müxtəlif intensivliyindəki gərginliyi tapmalıyıq.

Aşağıdakı proqramı python IDE -yə yükləyin və işə salın:

Bunu müxtəlif işığın intensivliyi üçün edin və qrafikdən istifadə edərək bir nəticə çıxarın, məsələn, intensivlik 1 -dən azdırsa, otaq çox qaranlıqdır. 1 ilə 2 arasındakı intensivlik üçün otaq xeyli qaranlıqdır. 2 -dən çox intensivlik üçün işıq yandırılır.

# Arduino_Master modulu idxal olunur

Arduino_Master idxalından *

# məlumat toplamaq

data = filter (ardata (8, squeeze = Yanlış, dinamik = Doğru, msg = "VERİLƏR", sətirlər = 30), gözlənilən_tip = 'num', limit = [0, 5])

5V batareya istifadə etdiyimiz üçün # limit 5 olaraq təyin edilmişdir.

# Dəyərlərin qurulması

Qrafik (data, stl = 'dark_background', label = 'İşıq intensivliyi')

Addım 4: Otaqda İşığın Yoğunluğunu Yoxlamaq üçün Son Proqram

Əldə etdiyiniz məlumatlardan bir nəticəyə gəldikdən sonra, aşağıdakı proqramı yükləyin və nəticəyə görə məhdudiyyətləri dəyişdirdiyinizə əmin olun.

# Arduino_Master modulu idxal olunur

from Arduino_Master import # data data toplama = filter (ardata (8, squeeze = False, dynamic = True, msg = "DATA", xətlər = 50), gözlənilən_tip = 'num', limit = [0, 5]) # təsnifat məlumatları nəticəyə əsaslanaraq info = i aralığında (len (data)): intensivlik = data intensivlik 1 və intensivlik = 2 olduqda: info.append ('İşıq AÇIK') # Qrafiki Çizmək. compGraph (data, info, stl = 'dark_background', label1 = 'Light Intensity', label2 = 'State')

Addım 5: Nəticə:

Nəticə
Nəticə

Arduinodan 50 ani dəyər oxuduğunuz üçün proqramın işləməsi bir -iki dəqiqə çəkəcək.

Prosesi sürətləndirmək istəyirsinizsə ardata funksiyasının xətlər parametrini dəyişməyə çalışın. Ancaq unutmayın ki, müşahidələr nə qədər az olarsa, məlumatların keyfiyyəti də o qədər aşağı olar.

Qeyd: Yuxarıdakı şəkildəki tam qrafika görünmürsə, Giriş bölməsinin üstündəki qrafikə baxın.

Tövsiyə: