Мазмуну:

Christmas Lights Atmega328 менен: 6 кадам
Christmas Lights Atmega328 менен: 6 кадам

Video: Christmas Lights Atmega328 менен: 6 кадам

Video: Christmas Lights Atmega328 менен: 6 кадам
Video: coding Christmas lights 2024, Июль
Anonim
Image
Image
Электр өткөргүчтөрү
Электр өткөргүчтөрү

Рождество келе жатат жана бул жөнүндө бир нерсе кыла баштоого убакыт келди. Менин учурда - акыры менин Christmas дарактардын чырактары жөнүндө көрсөтмөлөрдү аяктоо.

Бул жердеги идея жөнөкөй: бир нече түстүү LED диапазонун кармап, аларды LED драйверине параллель туташтырыңыз (ар бирин өзүнчө башкарылуучу кылып), көңүл ачыңыз. Бардык керектүү зымдарды эске алганда, бул кызыктай көрүнүшү мүмкүн, бирок практика көрсөткөндөй, бул сиздин дүкөндөн тышкары жарыктарыңызга караганда жакшыраак иштейт. Электр өткөргүчтөрү көрүнбөйт, светодиоддор арча ийнелеринде катылган, бардыгы IR пульту менен башкарылат, балдар жана чоңдор бактылуу.

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

Долбоор орто деңгээлде тажрыйбалуу адамдарга багытталган, анткени сиз аны жабдыкка ылайыкташтырышыңыз керек. Мен буга чейин атайын такта жасадым, аны өзүңүз ойлоп табышыңыз керек. Же сиз менден бирөөнү ала аласыз, бирок ошентсе да, кээ бир ширетүү жөндөмдөрү керек болот.

Эмне керек:

- Контроллер тактасы (Arduino же башка)

- LED айдоо схемасы. LED драйверлери сунушталат, бирок муну нөөмөт регистрлери жана ShiftPWM китепканасы менен жасаса болот

- Ар кандай түстөгү жок дегенде 48 светодиод

- 30AWG зым оролуучу зым, жок дегенде 100 метр

- ширетүү жана программалоо көндүмдөрү

- Бир аз убакыт жана сабыр

Мен эскизимди берем, бирок сиз аны түзмөгүңүзгө ылайыкташтырышыңыз керек болот. АПОЛОГИЯ: Сүрөттөрдүн жана видеолордун сапаты үчүн, ошондой эле макаланын өзү үчүн кечирим сурайм. Алар мен каалагандай жылтыратылган эмес. Бирок үй -бүлөнүн ичинде жумуш жана хобби мурунку экөөнү тандашым керек. Мен бул Нускаманы азыр жарыялашым керек болчу, ал эми майрамдарга чейин убакыт бар.

1 -кадам: Кабелдөө

Image
Image
Электр өткөргүчтөрү
Электр өткөргүчтөрү

Зымдар мен үчүн негизги көйгөй болчу. Негизги кытай жарыгыңыз менен кочкул жашыл зым аласыз. Мен интернеттен ушундай эле зымдарды табам деп үмүттөнгөм - эч кандай майнап чыккан эмес. Чынында, мен бир жыл бою тырышып, ондогон түрлөрүнө заказ берип, акыры алардын мааниси жок экенин түшүндүм.

Эң негизгиси, сиздин негизги өндүрүлгөн гирляндияңыз катар туташтырылган. Ушундан улам, эки көйгөй келип чыгат:

а) Зымдар абдан калың, анткени алар бардык Светодиоддордун кубаттуулугун серия менен алып жүрүшү керек

б) Бул зымдар жаңы жылдык балатынын бир бутагынан экинчи бутагына ачык көрүнөт, бутактарга перпендикуляр.

Бул эки көйгөй зымдардын дарактын жалбырактары менен (арча ийнелери) аралашып кетишин талап кылат. Жана бул иште такыр ийгиликке жете элек.

Мен ойлогондон кийин (башкача айтканда, ар бир жеке LED өзүнүн зымдары бар, параллель туташкан) нерселер өзгөрөт:

а) Сиз чындап жука зымдарды колдоно аласыз, жана

б) Алар дарактын сабагына чейин LED диодунун артына түшүп, көрүүчүлөрдүн көз карашынан алыстап, натыйжада көрүнбөйт.

Bingo! Сизге кочкул жашыл түстүн кереги жок, сиз бутактар менен аралаштыруу үчүн күрөң түстө болушуңуз мүмкүн, ал тургай, мен өңдөгү циан-иш, ал дагы деле көрүнбөй калат.

Бул чынында гирляндия орун алганда билдим. Ал иштейт.

Ошентип, сизге жашыл (түсү бир аз көк-көк) же күрөң 30AWG зым оролуучу зым керек (ушундай).

2 -кадам: LED

Интернетте "10 түстүү LED" топтому бар. Түстөр: кызыл, кызгылт сары, сары, саз жашыл, жашыл, көк, кызгылт, кызгылт, муздак ак жана жылуу ак. Акыркы экөө кызыктуу, анткени алар менен күмүш/алтын эффекттерин жасай аласыз, бирок бул башка окуя. Калган сегиздери жакшы, жана саны абдан ыңгайлуу, LED драйверлери 16 чыгууга ээ. Мен 3мм диоддорду сунуштайм: алар кичинекей болгондуктан ийнелерге жашынууга жаркырашат.

Менин коңгуроолорумду ээрчигендер менин спектрге бир аз эле берилип кеткенимди билишет жана түстөр топтому так спектрге шайкеш келбегенин көрө аласыз. Эң көрүнүктүүсү жашыл жана көк түстөрдүн ортосундагы ажырым.

Ооба, биринчиден, адамдын көзү бул түстөрдү айырмалоодо анча жакшы эмес; бизде жок дегенде бир кыпкызыл бар нерселер менен жакшыраак. Экинчиден, боштукту толтурууга жеткиликтүү светодиод жок. Ырас, Aliexpressте көгүш диоддордун бир жеткирүүчүсү бар, бирок алар кымбат (жана мен аларды өтө кеч таптым). Негизги жашыл диоддорду "изумруд" катары саткан шылуундар да бар; буга түшпө. Мен 10 түстүү топтомдун абдан жакшы экенин байкадым; светодиоддор көрүнөө башка түстөрдү чыгарышат.

Эгерде сиз бул көгүлтүр диоддорду ылайыктуу баада таба алсаңыз, кызгылт көк түстөрдү аларга алмаштырууну сунуштайм (жашыл менен көк түстүн ортосуна цианин коюу). Күлгүн түстөр ультракызгыл түскө окшош, алар анча жарык эмес, бирок караңгыда кээ бир кызыктуу нерселерди жасай алышат, эгер аларга жакын нерсе болсо. Ошентип, сиз сыйкырчылык менен сырды камсыз кылуу үчүн гирляндияңызга өзүнчө бутак жасай аласыз.

3 -кадам: Ассамблея

Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея

Диоддорду зымдарга ширетүү убакытты талап кылат; кичинекей 48-светодиоддук гирлянда үчүн муну бир күнгө бошотуңуз. Сизге (LED жана зымдардан тышкары) керек болот:

- 1,5 мм жылуулукту кысуучу түтүк;

- 2,5 мм жылуулукту кысуучу түтүк;

- мейиздин көп эритмеси;

жана ширетүүчү темир, албетте.

Зымдын учун тазалаңыз, аны LED буту менен ороп, мейиздин эритмесин тамчылатыңыз. Экинчи бут үчүн кайталаңыз. Биринчи ширетүүчү түйүнгө 1,5 мм түтүктү түртүп, экинчисине кайталаңыз. 2.5мм түтүктү эки бутуңузга түртүңүз жана кичирейтыңыз. Кыскартуунун алдын алуу үчүн ички кичирейүү керек, сырткы көрүнүшү үчүн. Эч кандай кармаштын кереги жок, анткени пайда болгон контрацепция жеңил болгондуктан, арча ийнелери аны жакшы кармап калат. (Эгерде сиздин дарак жасалма болсо, анда сизге светодиоддорду жабыш үчүн бир нерсе керек болушу мүмкүн)

Алты кишиден турган топторду түзүңүз, спектрди ээрчиңиз, LED иштээрин текшерүүнү унутпаңыз, анткени ал ширетүү учурунда бузулуп калышы мүмкүн жана анод зымын белгилөөнү унутпаңыз.

Зымдардын узундугуна келсек, мен аларды 50 см кылып койгом, бул кичинекей дарак үчүн да бир аз кыска. Зымдарды бутактарга ороонун ордуна сунууга туура келди. Кечирип койгула, мен 96-светодиоддук гирлянд жасоону көздөдүм (дагы эле btw), бул анын жогорку жарымы болчу. Кандай болбосун, жөн эле зымдын сабакты ээрчип, анан бутактын контроллерден чыгып кетишин каалаарыңызды эске алыңыз жана ошого жараша узундугун тандаңыз.

4 -кадам: Контроллер туташуусу

Контроллер туташуусу
Контроллер туташуусу

Мен бул тапшырманы эске алуу менен иштелип чыккан UltiBlink SL тактамды колдондум. Эгер сизде/заказ болбосо, өзүңүз жасашыңыз керек болот. Нан тактасы бул жерде иштебейт, андыктан прототипдөөчү тактага бир нерсе ойлоп табууга жана ширетүүгө туура келет. Светодиод драйверлери бул тапшырманы сменалык регистрлерге караганда жакшыраак (ShiftPWM китепканасы менен), анткени драйверлер ар бир светодиод үчүн резисторлорду талап кылбайт, андыктан бош орун, тешик азыраак, ширетүү аз.

Белгилей кетчү нерсе, мен UltiBlink тактайымдын Артуиносу жок, анын артында Extension версиясын колдондум. Мен кеңейтүүгө микроконтроллер тактасын (тегерек BlinkeyCore) тиркедим. Чындык, бул башында ойлонулган эмес; бул 48-LED гирлянды 96-LED гирляндынын үстүңкү бөлүгү катары кызмат кылышы керек эле, астынкы жагында MC бар. Ошентсе да, ал жакшы болуп чыкты: а) Мен тактайды дарактын сабагына жөнөкөй резина менен байлап алгам, б) Эскизди кайра жүктөө үчүн контролердун тактасын оңой эле алып салдым. Мен жаңы жылдык балатынын астына кээ бир акылсыз Аяз атадай блокнот менен отуруунун кажети жок болчу. Ошентип, мен сизге окшош нерсени кылууну сунуштайм, башкача айтканда, Arduino/MC тактаңызды контапиттен ажыратып коюңуз.

Мен LEDлерди ар бирине 8 LEDдан турган 6 партиядагы 48 чыгууга туташтырдым: кызыл, кызгылт сары, сары, саз-жашыл, жашыл, көк, кызгылт, кызгылт; 5 жолу кайталаъыз. Башкача айтканда, чыгаруу 0 = кызыл, чыгаруу 1 = кызгылт сары, чыгаруу 2 = сары ж.б.. Төмөндөгү эскиз улуу адилеттүүлүк үчүн ушул тартипке таянат. Аларды ошол эле тартипте даракка орнотуп, спираль менен өйдө же ылдый түшүрүңүз. Мен дагы бирдей түстүү LEDларды аздыр-көптүр тик сызыктарга (бири-биринин үстүнөн же астынан) коюуну сунуштаар элем-мунун баары эффекттерди бир топ жакшыртат.

Акыр -аягы, сиз электр керектөөнү эске алуу керек. 48 светодиод 5Вда болжол менен 1А талап кылат. Сиз USB кубаттагычты колдонсоңуз болот, бирок бул чындыгында жакшы жана текшерилген болушу керек, eBayден арзан шириндик жетиштүү эмес, бирок ал жетиштүү шире бериши керек (бирок менин сүрөттөрүмдөгү ак сыяктуу, мен аны кийинчерээк алмаштырдым). 96 светодиод менен мен экөөнү, гирлянддын ар бир бөлүгүнө бир нерсени колдонууну көздөп жатам, бардыгы ойлогондой иштээрине ынануу үчүн. Бул көйгөйгө дагы бир мүмкүн болгон мамиле программалык камсыздоодо: эгерде сиз каалаган убакта 25тен ашык Светодиод күйбөсүн текшерип көрсөңүз, сиз муну каалаган USB кубаттагычынан же компьютериңиздин USB портунан иштете аласыз. Менин төмөндөгү эскизим жок.

5 -кадам: IR көзөмөлү

IR сиздин гирляндыңыздагы режимди көзөмөлдөө үчүн абдан жакшы жана кооз. Бактыга жараша, бардык муктаждыктарды камтыган эң сонун IRLib китепканасы бар. Ошондой эле, IR алуучунун абдан жөнөкөй байланышы бар.

IR пульттарын Arduino менен колдонуу боюнча көптөгөн көрсөтмөлөр бар, ошондуктан мен бул жерде майда -чүйдөсүнө чейин токтолбойм. Эгер сиз аны жакшы билбесеңиз, муну жасоо үчүн кечке эле ээлеп коюңуз, бул ракета илими эмес.

Аны жеңилдетүү үчүн кээ бир эскертүүлөр керек:

1 - Ар кандай IR байланыш протоколдору бар, Philips бири кызыктай жана Sony эң логикалуу жана программалоо оңой. Көпчүлүк арзан пульттор Sony бирин ыраазычылык менен колдонушат.

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

3 - Мына, менин эскизим, Sony протоколу менен иштеген жаңы пульттун баскычтарын картага түшүрүү үчүн. Ал коддорду сериялык мониторго төгүп салат, аларды жөн эле көчүрүп чаптап коюуга калтырат. Мен аларды бул файлга көчүрүп чаптайм, ал гирлянданын башкы эскизине кирет (төмөндө). Балким, жалпы пульттун коддору (анын ичинде "CarMP3" деп аталат) ансыз деле бар.

6 -кадам: Эскиз

Макул, бул эскиз менин дизайнымдын тактасы менен иштейт (48 LED). Бул шашылыш түрдө жазгандыктан, аны тазалоого/комментарий берүүгө убактым жок болгондуктан, бул дагы баш аламан. Ошентсе да, бул пайдалуу болушу мүмкүн; андан керектүү бөлүктөрдү алып, каалаган нерсеңизди кыла аласыз. Эң жөнөкөй ыкма - бул DMdriver китепканасынын бардык инстанцияларын сиздикине алмаштыруу. Бардыгы үчөө бар: test.setPoint (int x, int y) #x чыгарылышын Y (Y 16-бит номери) деп коет; test.clearAll () бардык чыгымдарды нөлгө коёт жана test.sendAll () LED драйвериндеги маалыматты жаңыртат (маалыматтарды ошол жерге жөнөтөт, LED абалдарын бир убакта өзгөртөт). Алыстан башкаруу пульту жок болсо дагы, ал иштейт. Бүткөндөн кийин, бул Нускаманын мурунку бөлүгүн текшерип, пультуңуздагы баскычтарды картага салыңыз жана коддорду файлга киргизиңиз.

Эгерде сиз UltiBlinkтин сыймыктуу ээси болсоңуз, анда эскизди кутудан чуркай аласыз (сизде DMdriver китепканасы бар, туурабы?); бир нерсе туура эмес болуп калса, мени менен байланышуудан тартынба, дарегин билесиң.

Ийгилик, көңүл ачуу, суроолорду берүү - Мен аларга жооп берүүгө аракет кылам, келе жаткан Рождество майрамы менен жана жакында жаңы нерсе жазам деп үмүттөнөм!

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