Мазмуну:

Жарыктыкты көзөмөлдөө, Arduino (Анимациялар менен): 7 кадам
Жарыктыкты көзөмөлдөө, Arduino (Анимациялар менен): 7 кадам

Video: Жарыктыкты көзөмөлдөө, Arduino (Анимациялар менен): 7 кадам

Video: Жарыктыкты көзөмөлдөө, Arduino (Анимациялар менен): 7 кадам
Video: Контрольная лампа переменного тока с диммером Arduino AC 2024, Июль
Anonim
Image
Image

Акыркы бир нече жылдын ичинде мен эки пинбол машинасын (pinballdesign.com) жана эки роботтун башын (grahamasker.com) ар бири Arduinos тарабынан башкарылды. Механик -инженер кесибине ээ болгондон кийин мен механизмдердин дизайнын жакшы билем, бирок программалоо менен күрөшөм. Мен Arduino кээ бир негизги түшүнүктөрдү көрсөтүү үчүн анимация түзүүнү чечтим. Бул мага жана башкаларга аларды түшүнүүгө жардам берет деп ойлогом. Сүрөт миң сөзгө татыктуу жана анимация миң сүрөт болушу мүмкүн!

Ошентип, бул жерде Brightness Control темасында анимацияланган түшүндүрмө бар. Жогорудагы анимация Arduino менен туташкан потенциометрдин схемасын көрсөтөт. Бул потенциометрдин позициясын тууралоо LEDдин жарыгын кандайча өзгөртө аларын көрсөтөт. Мен бул процесстин бардык элементтерин түшүндүрөм. Потенциометрлерди жана ледтерди жакшы билбегендер үчүн мен ошолордон баштайм. Мен анда эмне үчүн LED PWM иштетилген Arduino төөнөгүчүнө туташтырылышы керектигин жана картаны потенциометрден потенциометрден жетектөөнү башкарууга ылайыктуу чыгарууга айландыруу үчүн MAP функциясы Arduino эскизинде кантип колдонуларын түшүндүрөм.

Эгерде сиз леддерди жана потенциометрлерди жакшы билсеңиз, анда 1 жана 2 -бөлүмдөрдү өткөрүп жибере аласыз.

1 -кадам: LED жөнүндө

LED жөнүндө
LED жөнүндө

Жогорудагы сол сүрөттө светодиоддун символу жана буттарынын полярдуулугу көрсөтүлгөн. Жарык диод аркылуу бир багытта гана агат, андыктан полярдуулук маанилүү. Узун бут оң. Ошондой эле фланецтин жалпак жагы бар, бул терс жагы.

Чыңалуу жана учурдагы

LED талап кылган чыңалуу анын түсүнө жараша болжол менен 2,2 - 3,2 вольтту түзөт. Алардын учурдагы рейтинги адатта 20 мА. Учурдагы токту чектөө жана LEDдин ысып кетишине жол бербөө үчүн, ар бир светодиод менен бир катарда резисторду колдонуу зарыл. Мен болжол менен 300 ом сунуштайм.

Жогорудагы оң жактагы иллюстрация резисторду светодиоддун бутуна туташтырып, жылуулукту азайтуучу жылуулоо менен жылуулоо ыкмасын көрсөтөт.

2 -кадам: ПОТЕНТИОМЕТР

Потенциометр
Потенциометр

Ардуино тилинде потенциометр - бул сенсор. "Сенсор" ар кандай тышкы түзмөктү билдирет, ал кирүү казыктарына туташканда Arduino тарабынан сезилет. Биз LED жарыгын контролдоо үчүн Arduino менен байланышкан потенциометрди колдонобуз. Потенциометрди кээде чыңалуу бөлүштүрүүчү деп аташат, менимче, бул жакшыраак сүрөттөө. Жогорудагы диаграмма чыңалуу бөлүштүргүчүнүн принципин көрсөтөт. Бул мисалда, резистор бир четине жерге туташтырылган жана кээ бир кубат булагы тарабынан экинчи учунда 5в. Эгерде слайдер резистор боюнча жылдырылса, анда ал сол жагында 0в, оң жагында 5в чыңалууда болот. Башка позицияда 0v менен 5v ортосундагы мааниге ээ болот. Жарым жолдо, мисалы, 2,5В болот. Эгерде биз аранжировканы жогорудагы оңдо көрсөтүлгөндөй өзгөртсөк, анда бул айлануучу потенциометрдин аракетин билдирет.

3 -кадам: ЦИРКУТ

ЦИРКУТ
ЦИРКУТ

Жогорудагы сүрөттө потенциометрди жана LEDди Arduinoго кантип туташтыруу керектиги көрсөтүлгөн.

Ардунио потенциометрдин ага чыңалуусун сезиши керек. Потенциометр бурулганда чыңалуу бир калыпта өзгөрөт, бул аналогдук сигнал, демек, Arduinoдогу аналогдук кирүү пинине туташуу керек. Бул пиндеги чыңалуу Arduino тарабынан программа тарабынан "analogRead" функциясы аркылуу суралган сайын окулат.

Arduino бир гана санарип чыгуучу казыктарга ээ. Бирок алардын жанында тильда (~) бар казыктар Led жарыгын контролдоо үчүн ылайыктуу аналогдук чыгарууну симуляциялайт. Бул процесс Pulse Width Modulation (PWM) деп аталат жана кийинки анимация 4 -кадам аркылуу түшүндүрүлөт.

4 -кадам: PWM

PWM, Pulse Width Modulation

Мурда да айтылгандай, тилдасы бар казыктар, “~” жанында PWM казыктары бар. Пиндер санарип болгондуктан, алар 0v же 5v режиминде гана болушу мүмкүн, бирок PWM менен аларды светодиодду өчүрүү же мотордун ылдамдыгын көзөмөлдөө үчүн колдонсо болот. Алар муну 5В диоддуу LEDге берүү менен, бирок аны 500 Гцте 0в менен 5В ортосунда (секундасына 500 жолу) жана импульстун ар бир 0v жана 5v элементинин узактыгын созуу же кыскартуу аркылуу жасашат. Светодиод 0v импульсуна караганда узунураак 5в импульсти көргөндө, ал жарык боло баштайт. Биздин программада биз analogeWrite () функциясын колдонобуз, PWM "чарчы толкунду" чыгаруу үчүн. Анын 256 кадамы бар, Zero 0% кызмат циклин жана 255 100% "милдет циклин" берет, башкача айтканда үзгүлтүксүз 5 вольт. Ошентип, 127 50% милдеттүү циклди берет, жарымы 0v жана жарымы 5v. Жогорудагы анимацияда, бул цикл 100% га чейин созулганда, LED кантип жарык боло турганын көрсөтөт.

5 -кадам: ПРОГРАММА (ARDUINO SKETCH)

Image
Image

Жогорудагы видео потенциометрди колдонуп, жарыктын жарыгын көзөмөлдөө үчүн колдонула турган программа (эскиз) аркылуу өтөт. Район 3 -кадамда көрсөтүлгөндөй.

Эгерде сиз бул видеону ыңгайлуу окуу үчүн тез (же жай) таба турган болсоңуз, анда анын ылдамдыгын жөндөй аласыз Төмөнкү башкаруу тилкесинин оң жагында редукторго окшош символ бар (кээде кызыл "HD" энбелгиси менен).) Чыкылдаса, ал "ойнотуу ылдамдыгын" камтыган менюну алып келет.

Албетте, программанын ар бир сабын өз ылдамдыгыңыз менен басуу үчүн баскычты бассаңыз жакшы болмок, бирок тилекке каршы бул интерактивдүү ыкманы бул жерде берүү мүмкүн эмес. Эгерде сиз бул ыкманы ушул темада жана башка көптөгөн Arduino темаларында колдонууну кааласаңыз, анда animatedarduino.com сайтында жеткиликтүү болгон интерактивдүү/анимацияланган электрондук китепти алдын ала көрүү версиясы бар.

Программада дагы бир түшүндүрмө керек деп ойлогон бир өзгөчөлүк бар: 14 -сапта "карта" функциясы колдонулат. Анын максаты тууралуу кийинки 6 -кадамда түшүндүрмө бар

6 -кадам: КАРТА

Бизде аналогдук пинге туташкан потенциометр бар. Потенциометрдин чыңалуусу 0v менен 5v ортосунда өзгөрөт. Бул диапазон процессордо 1024 кадам менен катталган. PWM иштетилген санарип пин аркылуу чыгууну түзүү үчүн маани киргизилгенде, бул диапазонду санариптик пиндин диапазонуна түшүрүү керек. Бул 255 кадамга ээ. Карта функциясы ушул максатта колдонулат жана киргизүүгө пропорционалдуу чыгууну камсыз кылат.

Жогорудагы видео муну көрсөтүп турат.

7 -кадам: Анимацияланган Ардуино

Бул Инструкциядагы сүрөттөр менин www.animatedarduino.com сайтында жеткиликтүү болгон жандуу Arduino электрондук китебимден алынды, анда мен Arduino программасын үйрөнүүдө кездешкен кээ бир түшүнүктөрдү жакшыраак түшүнүүнү максат кылам.

Китептин интерактивдүү мүнөзүн сезүүгө мүмкүндүк берген веб -сайтта жеткиликтүү электрондук китептин акысыз алдын ала көчүрмөсү бар. Бул негизинен үлгүлүү баракчалардын жыйнагы, ошондуктан көптөгөн түшүндүрмөлөрдү калтырат. Ал сизге программанын ар бир сабынан өтүүчү баскычтарды басууга жана байланышкан комментарийлерди кароого мүмкүндүк берген үлгүлүү баракчаларды камтыйт. Башка баракчаларда видео анимациялар жана аудио мазмун бар, аларды сиз көзөмөлдөй аласыз. Мазмун баракчасы толук чыгарылыштын эмнени камтыганын көрүү үчүн киргизилген.

Сунушталууда: