Mündəricat:
- Addım 1: Dövrə qurun
- Addım 2: Bloklarla Kodlaşdırın
- Addım 3: Fotoresistor Arduino Kodu Açıqlandı
- Addım 4: Fiziki Arduino Dövrü qurun (isteğe bağlı)
- Addım 5: Sonra, cəhd edin …
Video: Tinkercad -da Arduino ilə İşıq Sensoru (Fotoresistor): 5 addım (şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
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.
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
Şə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
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 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ə:
Arduino ilə DIY Nəfəs Sensoru (İletken Örgü Uzanma Sensoru): 7 addım (şəkillərlə)
Arduino ilə DIY Nəfəs Sensoru (İletken Örgü Stretch Sensor): Bu DIY sensoru, keçirici trikotaj uzanma sensoru şəklində olacaq. Göğsünüzü/mədənizi əhatə edəcək və sinə/mədə genişləndikdə və daralanda sensoru və nəticədə Arduino -ya verilən qidalanma məlumatlarını genişləndirəcək. Belə ki
Bluetooth Uzaqdan İdarə Edilən İşıq Açarı - Gücləndirmə. İşıq Açarı Hələ İşləyir, Əlavə Yazı yoxdur.: 9 Addım (Şəkillərlə)
Bluetooth Uzaqdan İdarə Edilən İşıq Açarı - Gücləndirmə. İşıq Açarı Hələ İşləyir, Əlavə Yazı yoxdur .: 25 Noyabr 2017 -ni yeniləyin - Yükün kilovatını idarə edə bilən bu layihənin Yüksək Güclü bir versiyası üçün BLE Nəzarətini Yüksək Güclü Yüklərə Baxın - Əlavə Kablolama Lazım deyil Yeniləmə 15 Noyabr 2017 - Bəzi BLE lövhələri / proqram yığınları
Masa İşıq Süs və Qapı İşıq İşarəsi: 8 Addım (Şəkillərlə)
Masa İşıq Süslənməsi və Qapı İşıq İşarəsi: Bu dərslik, işıq saçan bir masa bəzəyini necə proqramlaşdıracağınızı və quracağınızı göstərəcək. Bu işıqlar bir saat ərzində rənglərini dəyişir. Proqramlaşdırmağı və yanan qapı işarəsini necə quracağınızı da öyrənəcəksiniz. Qapıdan istifadə edə bilərsiniz
Musiqi Reaktiv İşıq -- Masaüstünü Möhtəşəm etmək üçün Super Sadə Musiqi Reaktiv İşıq Necə Hazırlanır: 5 Addım (Şəkillərlə)
Musiqi Reaktiv İşıq || Masaüstü Awsome etmək üçün Super Sadə Musiqi Reaktiv İşıq Necə Hazırlanır: Salam uşaqlar, bu gün çox maraqlı bir layihə hazırlayacağıq.Bu gün biz reaktiv musiqi yaradacağıq. Led parlaqlığını dəyişəcək. əslində aşağı tezlikli səs siqnalı olan bas. Qurmaq çox sadədir, biz
LED İşıq Çəkmə Qələmləri: İşıq Doodle çəkmək üçün Alətlər: 6 Addım (Şəkillərlə)
LED İşıq Çəkmə Qələmləri: İşıq Doodle Çəkmək üçün Alətlər: Həyat yoldaşım Lori fasiləsiz bir karandaşdır və illərdir uzun pozlama fotoqrafiyası ilə oynamışam. PikaPika yüngül sənət qrupundan və rəqəmsal kameraların asanlığından ilhamlanaraq, nə edə biləcəyimizi görmək üçün yüngül rəsm sənəti formasına keçdik