Mündəricat:

Tinkercad -da Arduino ilə İşıq Sensoru (Fotoresistor): 5 addım (şəkillərlə)
Tinkercad -da Arduino ilə İşıq Sensoru (Fotoresistor): 5 addım (şəkillərlə)

Video: Tinkercad -da Arduino ilə İşıq Sensoru (Fotoresistor): 5 addım (şəkillərlə)

Video: Tinkercad -da Arduino ilə İşıq Sensoru (Fotoresistor): 5 addım (şəkillərlə)
Video: Light Up Your Street: Smart Street Light with LDR and Transistor | Tinkercad | 60 second Design Prep 2024, Iyul
Anonim
Tinkercad -da Arduino ilə İşıq Sensoru (Fotoresistor)
Tinkercad -da Arduino ilə İşıq Sensoru (Fotoresistor)

Tinkercad Layihələri »

Arduinonun Analog Girişindən istifadə edərək işığa həssas bir dəyişən rezistor olan bir fotorezistorun necə oxunacağını öyrənək. Buna LDR (işığa bağlı rezistor) da deyilir.

İndiyə qədər LED -ləri Arduinonun analoq çıxışı ilə idarə etməyi və başqa bir dəyişən müqavimət növü olan potansiyometr oxumağı öyrənmisiniz, ona görə də bu dərsdə bu bacarıqlara əsaslanacağıq. Unutmayın ki, Arduino analoq girişləri (pinlər A0-A6) tədricən dəyişən elektrik siqnalını aşkar edə bilər və bu siqnalı 0 ilə 1023 arasında bir rəqəmə çevirir.

Şəkil
Şəkil

Simulyasiyanı Başlat və fotorezistoru (ortasında aşağıya doğru qıvrımlı bir xətt olan qəhvəyi oval) tıklayaraq iş planına daxil edilmiş nümunə sxemini araşdırın, sonra simulyasiya edilmiş işıq girişini tənzimləmək üçün parlaqlıq sürüşdürücüsünü sürükləyin.

Bu dərsdə, nümunənin yanında bu simulyasiya edilmiş dövrə özünüzü quracaqsınız. İsteğe bağlı olaraq fiziki dövrə qurmaq üçün Arduino Uno lövhənizi, USB kabelinizi, lehimsiz çörək taxtasını, LED -i, rezistorları (220 ohm və 4.7k ohm), fotorezistoru və çörək taxtası tellərini yığın.

Tinkercad Circuits istifadə edərək, faktiki olaraq izləyə bilərsiniz. Hətta bu dərsə Tinkercad -dan baxa bilərsiniz (pulsuz giriş tələb olunur)! Nümunə sxemini araşdırın və yanınızda özünüz qurun. Tinkercad Circuits, sxemləri qurmağa və simulyasiya etməyə imkan verən pulsuz bir brauzer əsaslı bir proqramdır. Öyrənmək, öyrətmək və prototip hazırlamaq üçün idealdır.

Addım 1: Dövrə qurun

Dövrə qurun
Dövrə qurun
Dövrə qurun
Dövrə qurun

Şəkildəki çörək taxtası sxeminə baxın. Şəkildəki müqayisə üçün bu nümunə sxeminin pulsuz simli bir versiyasına baxmaq faydalı ola bilər. Bu addımda, iş planında nümunə boyunca bu dövrənin öz versiyasını quracaqsınız.

Davam etmək üçün yeni bir Tinkercad Circuits pəncərəsini yükləyin və nümunənin yanında bu dövrənin öz versiyasını qurun.

Tinkercad Circuits iş planında Arduino ilə əlaqəli olan fotorezistor, LED, rezistorlar və telləri müəyyənləşdirin.

Arduino Uno və çörək taxtasını komponentlər panelindən mövcud sxemin yanındakı iş planına sürükləyin.

Tel yaratmaq üçün tıklayarak çörək taxtası gücünü (+) və torpaq (-) raylarını sırasıyla Arduino 5V və toprağa (GND) qoşun.

Çörək taxtasının əks kənarındakı müvafiq avtobuslarına güc və yer relslərini genişləndirin (bu sxem üçün isteğe bağlıdır, amma yaxşı tətbiq olunur).

LED-i iki fərqli çörək taxtası sırasına qoşun ki, katod (mənfi, daha qısa ayaq) bir rezistorun bir ayağına bağlansın (100-1K ohmdan başqa heç bir yerdə yaxşıdır). Rezistorlar işləmək üçün müəyyən bir şəkildə bağlanmalı olan LED -lərdən fərqli olaraq qütbləşmədikləri üçün hər iki istiqamətdə gedə bilərlər.

Digər rezistor ayağını yerə bağlayın.

LED anodunu (pozitiv, daha uzun ayaqlı) Arduino pin 9 -a bağlayın.

Bir fotorezistoru komponentlər panelindən çörək taxtanıza sürükləyin ki, ayaqları iki fərqli cərgəyə bağlansın.

Bir fotorezistor ayağını gücə bağlayan bir tel yaratmaq üçün vurun.

Digər ayağı Arduino analog pin A0 ilə bağlayın.

A0 -a qoşulmuş fotorezistor ayağını yerə bağlamaq üçün komponentlər panelindən bir rezistoru çəkin və dəyərini 4.7k ohm -a ayarlayın.

Addım 2: Bloklarla Kodlaşdırın

Bloklarla Kod
Bloklarla Kod

Fotorezistorun vəziyyətini dinləmək üçün kod blokları redaktorundan istifadə edək, sonra sensorun nə qədər işıq gördüyünə görə bir LED -i nisbi parlaqlığa qoyaq. Fading LED dərsində LED analog çıxış yaddaşınızı yeniləmək istəyə bilərsiniz.

Kod redaktorunu açmaq üçün "Kod" düyməsini basın. Boz Notation blokları, kodunuzu nə etmək istədiyinizi qeyd etmək üçün şərhlərdir, lakin bu mətn proqramın bir hissəsi olaraq icra edilmir.

Kod redaktorunda Dəyişənlər kateqoriyasına vurun.

Fotorezistorun müqavimət dəyərini saxlamaq üçün "sensorValue" adlı bir dəyişən yaradın.

"Set" blokunu çıxarın. Fotorezistorumuzun vəziyyətini dəyişəndə saxlayacağıq

sensorValue

Giriş kateqoriyasına vurun və "analog ox pin" blokunu çıxarın və "to" sözündən sonra "set" blokuna yerləşdirin.

Potansiyometrimiz A0 pinindəki Arduino -ya qoşulduğundan açılan menyunu A0 olaraq dəyişdirin.

Çıxış kateqoriyasına vurun və "serial monitora çap et" blokunu sürükləyin.

Dəyişənlər kateqoriyasına gedin və dəyişən sensorValue -nu "seriyalı monitora çap et" blokuna sürükləyin və açılan siyahının yeni bir sətirlə çap olunacağına əmin olun. İsteğe bağlı olaraq simulyasiyanı başladın və sensoru tənzimlədiyiniz zaman oxunuşların gəldiyini və dəyişdiyini yoxlamaq üçün serial monitoru açın. Analog giriş dəyərləri 0-1023 arasında dəyişir.

LED-ə 0 (söndürmə) və 255 (tam parlaqlıq) arasında bir rəqəm yazmaq istədiyimiz üçün "xəritə" blokundan istifadə edərək bizim üçün çarpaz çarpımlar edəcəyik. Riyaziyyat kateqoriyasına gedin və "xəritə" blokunu çıxarın.

Birinci yuvada bir sensorValue dəyişən blokuna sürükləyin, sonra aralığı 0 ilə 255 arasında təyin edin.

Çıxış kateqoriyasına qayıdın, standart olaraq "pin 3 -ü 0 -a qoyun" deyən analoq "pin pin" blokunu çıxarın. Pin 9 -u təyin etmək üçün tənzimləyin.

PWM istifadə edərək düzəldilmiş nömrəni LED pininə yazmaq üçün əvvəllər hazırladığınız xəritə blokunu "pin pin" blokunun "to" sahəsinə sürükləyin.

Control kateqoriyasına klikləyin və gözləmə blokunu sürükləyin və proqramı 1 saniyə gecikdirmək üçün tənzimləyin.

Addım 3: Fotoresistor Arduino Kodu Açıqlandı

Kod redaktoru açıq olduqda, soldakı açılan menyunu tıklayaraq kod blokları tərəfindən yaradılan Arduino kodunu ortaya çıxarmaq üçün "Bloklar + Mətn" seçə bilərsiniz. Kodu daha ətraflı araşdırdıqca davam edin.

int sensorValue = 0;

Əvvəl

qurmaq()

potansiyometrdən oxunan cari dəyəri saxlamaq üçün bir dəyişən yaradırıq. Adlanır

int

çünki bu tam ədəd və ya hər hansı bir tam ədəddir.

boş quraşdırma ()

{pinMode (A0, GİRİŞ); pinMode (9, Çıxış); Serial.begin (9600); }

Quraşdırmanın içərisində sancaqlar

pinMode ()

funksiyası. Pin A0 giriş olaraq konfiqurasiya edilmişdir, buna görə də potensiometrin elektrik vəziyyətini "dinləyə" bilərik. Pin 9, LED -i idarə etmək üçün bir çıxış olaraq konfiqurasiya edilmişdir. Mesaj göndərmək üçün Arduino ilə yeni bir serial ünsiyyət kanalı açılır

Serial.begin ()

bir baud dərəcəsi arqumenti (hansı sürətlə ünsiyyət qurmaq lazımdır), bu vəziyyətdə saniyədə 9600 bit.

boşluq döngəsi ()

{// sensordan alınan dəyəri oxuyun sensorValue = analogRead (A0); // sensorun oxunmasını çap edin, beləliklə Serial.println (sensorValue) aralığını bilirsiniz;

Bir dəstə kəsikdən sonra hər şey

//

Proqramın nəyi nəzərdə tutduğunu, ancaq Arduino -nun işlədiyi proqrama daxil edilmədiyini sadə dildə başa düşməyə kömək edən bir şərhdir. Əsas döngədə bir funksiya adlanır

analogRead ();

A0 pininin vəziyyətini yoxlayır (0-1023 arasında bir tam ədəd olacaq) və bu dəyəri dəyişəndə saxlayır

sensorValue

// sensorun oxunmasını LED üçün bir aralığa çıxarın

analogWrite (9, xəritə (sensorValue, 0, 1023, 0, 255)); gecikmə (100); // 100 milisaniyə gözləyin}

Növbəti şərhdən sonra gələn xətt bir anda çox şey edir. Yadda saxla

analogWrite ()

iki arqument alır, pin nömrəsi (bizim vəziyyətimizdə 9) və 0 ilə 255 arasında olmalı olan yazılacaq dəyər. Daxili funksiya

xəritə ()

beş arqument götürür: qiymətləndiriləcək rəqəm (daim dəyişən sensor dəyişən), gözlənilən minimum və gözlənilən maksimum, istədiyiniz min və maksimum. Belə ki

xəritə ()

Bizim vəziyyətimizdəki funksiya, gələn sensorValue-u qiymətləndirir və çıxışı 0-1023-dən 0-255-ə endirmək üçün çarpaz vurma edir. Nəticə ikinci arqumentə qaytarılır

analogWrite ();

pin 9 -a qoşulmuş LED -in parlaqlığını təyin etmək.

Addım 4: Fiziki Arduino Dövrü qurun (isteğe bağlı)

Fiziki Arduino Dövrü qurun (isteğe bağlı)
Fiziki Arduino Dövrü qurun (isteğe bağlı)

Fiziki Arduino Uno proqramlaşdırmaq üçün pulsuz proqramı (və ya veb redaktoru üçün plagini) qurmalı və sonra açmalısınız. Müxtəlif fotosellərin fərqli dəyərləri var, buna görə də fiziki dövrəniz işləmirsə, onunla əlaqəli olan rezistoru dəyişdirməyiniz lazım ola bilər. Rezistorlar haqqında Instructables Electronics Class dərsində gərginlik bölücülər haqqında daha çox məlumat əldə edin.

Tinkercad sxemlərində burada göstərilən əlaqələrə uyğun olaraq komponentləri və telləri bağlayaraq Arduino Uno sxemini bağlayın. Fiziki Arduino Uno lövhənizlə işləmək üçün daha dərindən öyrənmək üçün pulsuz Instructables Arduino sinifinə baxın.

Kodu Tinkercad Circuits kod pəncərəsindən kopyalayın və Arduino proqramınızda boş bir eskizə yapışdırın və ya yükləmə düyməsini (aşağıya baxan ox) basın və açın

Bu faylı Arduino proqramında Fayl -> Nümunələr -> 03. Analog -> AnalogInOutSerial -a gedərək tapa bilərsiniz.

USB kabelinizi qoşun və proqramın Alətlər menyusundan lövhənizi və portunuzu seçin.

Kodu yükləyin və əlinizi istifadə edərək sensoru işıqdan qoruyun və/və ya sensorunuza işıq yandırın!

Sensor dəyərlərinizi müşahidə etmək üçün serial monitoru açın. Çox güman ki, real dünya dəyərləri, işıqlandırma şəraitinizə görə 0 -a və ya 1023 -ə qədər uzanmayacaq. LED-də maksimum parlaqlıq ifadə aralığını əldə etmək üçün 0-1023 aralığını müşahidə etdiyiniz minimuma və müşahidə olunan maksimuma uyğunlaşdırmaqdan çekinmeyin.

Addım 5: Sonra, cəhd edin …

Bir LED -in parlaqlığını idarə etmək üçün bir fotorezistor oxumağı və onun çıxışını xəritələməyi öyrəndiyinizə görə, indiyə qədər öyrəndiyiniz bu və digər bacarıqları tətbiq etməyə hazırsınız.

LED -i servo mühərrik kimi başqa bir çıxış növü ilə əvəz edə və sensorun indiki işıq səviyyəsini ölçü boyunca müəyyən bir mövqe kimi əks etdirmək üçün bir kod yarada bilərsinizmi?

Fotorezistorunuzu ultrasəs məsafə sensoru və ya potensiometr kimi digər analoq girişlərlə dəyişdirməyə çalışın.

Arduino -nun rəqəmsal və analoq girişlərini kompüter vasitəsilə Serial Monitordan istifadə edərək izləmək haqqında daha çox məlumat əldə edin.

Tövsiyə: