Mündəricat:

Parlaqlıq Nəzarəti, Arduino (Animasiyalarla): 7 addım
Parlaqlıq Nəzarəti, Arduino (Animasiyalarla): 7 addım

Video: Parlaqlıq Nəzarəti, Arduino (Animasiyalarla): 7 addım

Video: Parlaqlıq Nəzarəti, Arduino (Animasiyalarla): 7 addım
Video: Бюджетная Zigbee LED лента с питанием по USB, для декоративного и аварийного освещения 2024, Iyul
Anonim
Image
Image

Son bir neçə il ərzində hər biri Arduinos tərəfindən idarə olunan iki langırt maşın (pinballdesign.com) və iki robot başı (grahamasker.com) qurdum. Mexanika mühəndisi kimi bir karyera qurduqdan sonra mexanizmlərin dizaynı ilə yaxından tanışam, amma proqramlaşdırma ilə mübarizə aparıram. Arduinonun bəzi əsas anlayışlarını göstərmək üçün animasiyalar yaratmağa qərar verdim. Düşündüm ki, mənə və başqalarına onları başa düşməyimə kömək edəcək. Bir şəkil min sözə dəyər və bir animasiya min şəkil ola bilər!

Beləliklə, burada Parlaqlıq Nəzarəti mövzusunda cizgi bir şərh var. Yuxarıdakı animasiya bir Arduino ilə əlaqəli bir potansiyometrenin sxemini göstərir. Potansiyometrin mövqeyinin tənzimlənməsinin bir ledin parlaqlığını necə dəyişə biləcəyini göstərir. Bu prosesin bütün elementlərini izah edəcəyəm. Potensiometr və ledləri bilməyənlər üçün bunlardan başlayacağam. Ledin bir PWM effektiv Arduino pininə niyə bağlanması lazım olduğunu və potensialiometrdən girişi bir led idarə etmək üçün uyğun bir çıxışa çevirmək üçün Arduino eskizində MAP funksiyasının necə istifadə edildiyini izah edəcəyəm.

Led və potensiometrləri bilirsinizsə, 1 və 2 -ci hissələri atlaya bilərsiniz.

Addım 1: LEDlər haqqında

LEDlər haqqında
LEDlər haqqında

Yuxarıdakı sol şəkil, bir ledin dövrə simvolunu və led ayaqların polaritesini göstərir. Cərəyan yalnız bir LEDdən axacaq, buna görə polarite vacibdir. Uzun ayaq müsbətdir. Flanşın düz tərəfi də var, bu mənfi tərəfidir.

GERİLİM və CARİ

Bir LED üçün lazım olan gərginlik, rəngindən asılı olaraq təxminən 2.2v ilə 3.2 volt arasında dəyişir. Onların indiki reytinqi ümumiyyətlə 20mA -dır. Cərəyanı məhdudlaşdırmaq və LED -in həddindən artıq istiləşməsinin qarşısını almaq üçün hər bir LED ilə ardıcıl olaraq bir rezistor istifadə etmək lazımdır. Təxminən 300 ohm tövsiyə edirəm.

Yuxarıdakı şəkil, rezistoru bir ledin ayağına lehimləmək və istilik daralması ilə izolyasiya etmək yolunu göstərir.

Addım 2: POTANSİYOMETR

POTANSİYOMETR
POTANSİYOMETR

Arduino baxımından potensiometr sensordur. "Sensor", giriş pinlərinə qoşulduqda Arduino tərəfindən hiss edilə bilən hər hansı bir xarici qurğuya aiddir. Bir LED -in parlaqlığını idarə etmək üçün Arduino ilə əlaqəli bir potansiyometrdən istifadə edəcəyik. Potensiometr bəzən gərginlik bölücü adlanır və məncə daha yaxşı bir təsvirdir. Yuxarıdakı soldakı diaqram bir gərginlik bölücüsünün prinsipini göstərir. Bu nümunədə, bir rezistor bir ucunda yerə bağlanır və digər ucunda 5v -ə qədər bir enerji mənbəyi ilə tutulur. Rezistor boyunca bir sürgü hərəkət edərsə, sol ucunda 0v, sağ ucunda 5v gərginlikdə olacaq. Başqa bir mövqedə 0v ilə 5v arasında bir dəyərdə olacaq. Yarım yolda, məsələn, 2,5 V olacaq. Aranjımanı yuxarıdakı sağda göstərildiyi kimi dəyişdirsək, bu, fırlanan potensiometrin hərəkətini əks etdirir.

Addım 3: DÖVR

DÖVR
DÖVR

Yuxarıdakı şəkil potensialiometr və ledin Arduino -ya necə bağlanmalı olduğumuzu göstərir.

Ardunio, potensiometr tərəfindən ona verilən gərginliyi hiss etməlidir. Potansiyometr döndükcə gərginlik hamar bir şəkildə dəyişir, buna görə də analoq siqnaldır və buna görə də Arduino -dakı analoq giriş pininə qoşulmaq lazımdır. Bu pindəki gərginlik, proqram hər dəfə "analogRead" funksiyası ilə istədikdə Arduino tərəfindən oxunacaq.

Arduino yalnız rəqəmsal çıxış pinlərinə malikdir. Ancaq yanlarında tilde (~) olan pinlər, Ledin parlaqlığını idarə etmək üçün uyğun bir analoq çıxışı simulyasiya edir. Bu proses Pulse Width Modulation (PWM) adlanır və növbəti animasiya Addım 4 ilə izah olunur.

Addım 4: PWM

PWM, Pulse Genişlik Modulyasiyası

Daha əvvəl də qeyd edildiyi kimi, yanında bir "~" işarəsi olan pinlər PWM pinləridir. Sancaqlar rəqəmsal olduğundan, yalnız 0v və ya 5v ola bilər, lakin PWM ilə bir LED -i söndürmək və ya motorun sürətini idarə etmək üçün istifadə edilə bilər. Bunu bir LED -ə 5v verərək 500 Hz -də (saniyədə 500 dəfə) 0v ilə 5v arasında pulsasiya edərək və hər 0v və 5v nəbz elementinin müddətini uzadaraq və ya kiçiltməklə edirlər. LED, 0v -dən daha uzun 5v pulse gördükdə daha parlaq olur. Proqramımızda, PWM "kvadrat dalğası" çıxarmaq üçün analogueWrite () funksiyasından istifadə edirik. 256 artım var, sıfır 0% iş dövrü verir və 255 100% "iş dövrü" verir, yəni davamlı 5 volt. Beləliklə 127, 50% vəzifə dövrü verir, yarısı 0v -də, yarısı 5v -də. Yuxarıdakı animasiya, bu vəzifə dövrünün 100% -ə qədər uzandığını, sonra ledin daha parlaq olacağını göstərir.

Addım 5: PROGRAM (ARDUINO SKETCH)

Image
Image

Yuxarıdakı video, potensiometrdən istifadə edərək bir ledin parlaqlığını idarə etmək üçün istifadə edilə bilən bir proqram (eskiz) vasitəsilə addımlar atır. Dövrə 3 -cü addımda göstərildiyi kimidir.

Bu videonun rahat oxumaq üçün sürətli (və ya yavaş) olduğunu görürsünüzsə, sürətini tənzimləyə bilərsiniz Aşağı idarəetmə çubuğunun sağ tərəfində dişli təkər kimi bir simvol (bəzən qırmızı 'HD' etiketi ilə).) Tıklandığında "oynatma sürəti" olan bir menyu açılacaq.

Əlbəttə ki, proqramın hər bir sətrini öz sürətinizlə keçmək üçün bir düyməni basa bilsəniz daha yaxşı olardı, amma təəssüf ki, burada interaktiv metodu təmin etmək mümkün deyil. Bu mövzuda və bir çox Arduino mövzusunda bu metoddan istifadə etmək istəsəniz, animatedarduino.com saytında mövcud olan interaktiv/cizgi kitabının pulsuz önizləmə versiyası mövcuddur.

Proqramda daha çox izahata ehtiyac duyduğum bir xüsusiyyət var: line14 -də "map" funksiyası istifadə olunur. Növbəti mərhələdə, 6 -cı addımda məqsədinin izahı var

Addım 6: MAP

Potensialiometrimiz analoq pinlə bağlıdır. Potansiometr gərginliyi 0 ilə 5 v arasında dəyişir. Bu sıra prosessorda 1024 artımla qeydə alınmışdır. Dəyər girişi, PWM effektiv rəqəmsal pin vasitəsilə bir çıxış yaratmaq üçün istifadə edildikdə, bu aralığın rəqəmsal pinin çıxış aralığına uyğunlaşdırılması lazımdır. Bunun 255 artımı var. Xəritə funksiyası bu məqsədlə istifadə olunur və girişlə mütənasib bir çıxış təmin edir.

Yuxarıdakı video bunu göstərir.

Addım 7: Cizgi Arduino

Bu Təlimat kitabındakı şəkillər www.animatedarduino.com saytında mövcud olan Animated Arduino elektron kitabımdan götürülmüşdür ki, burada Arduino'yu proqramlaşdırmağı öyrənərkən qarşılaşdığım bəzi anlayışları daha yaxşı başa düşməyi hədəfləyirəm.

Kitabın interaktiv təbiətini yaşamağa imkan verən e -kitabın pulsuz bir önizləmə nüsxəsi veb saytında mövcuddur. Əsasən nümunə səhifələr toplusudur və buna görə bir çox izahı buraxır. Proqramın hər bir sətrində sizi addımlayan düymələri tıklamağa və əlaqədar şərhlərə baxmağa imkan verən nümunə səhifələr daxildir. Digər səhifələrdə idarə edə biləcəyiniz video animasiyalar və audio məzmun var. Tam nəşrin nə olduğunu görmək üçün məzmun səhifəsi daxil edilmişdir.

Tövsiyə: