Мазмуну:
- 1 -кадам: Кээ бир маалымат жана теория
- 2 -кадам: Пландоо
- 3 -кадам: Кодекс
- 4 -кадам: Эң оор бөлүгү
- 5 -кадам: Глут. Absolutely Gloat
Video: 42 RGB LED пикселдик көркөм сүрөт: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Эй, Ошентип, "эгерде ушундай болсо" деп аталган мектеп тапшырмасы үчүн мен Arduino Uno стартеркитинин жардамы менен интерактивдүү // бир нерсе // жасоого туура келди (жана башка нерселер өздөрүн сатып алууга даяр болчу). Мен Искусство/Технологияны изилдеп жатканымды көрүп, экөөнүн тең айкалышын жасагым келди (искусство жана технология). Мен өзүмдүн Arduinoго туура келгендей көп RGB LEDлеринен турган сүрөт тартып, оюнчуга/сүрөтчүгө ошол RGB LEDлерин кол менен айланып, түсүн тандап алам деп ойлодум. Ошентип алар өздөрүнүн "пикселдик искусствосун" жасай алышат!
1 -кадам: Кээ бир маалымат жана теория
Макул, бадалдын айланасында урбайлы. Эгерде сиз бул долбоорду ишке ашыргыңыз келсе: Бул кыйын. Эмне кылыш керек экенин билүү/үйрөнүү үчүн, жана андан да көбүрөөк иш жүзүнө ашыруу үчүн мага көп саат керек болду, бирок эгер сиз чындап эле кичинекей "сүрөттөрдү" түзө турган зым менен толтурулган кутуну кааласаңыз, мен сизге кантип үйрөтөм.
Ошентип, биринчи кезекте биринчи нерсе. Биз мүмкүн болушунча көбүрөөк Arduinoбузда LED/RGB LEDлерин каалайбыз. Канчалык көп (RGB) светодиодду туташтырсаңыз, ошончолук "сүрөтүңүздү" жасай аласыз (10х10 пиксель сизге 2х2 оңго караганда көбүрөөк кыймыл бөлмө берет). Менимче, 13 санарип казыгыңызда (RGB) көп светодиоддорду алуунун башка жолдору бар деп ойлойм (нөөмөт реестри сыяктуу нерселер), бирок мен "Charlieplexing" деп аталган ыкманы колдондум. Мен бул түшүнүктү түшүнүүгө жардам берген нускоочуга шилтеме кылам (олуттуу түрдө алар муну абдан жакшы түшүндүрүшөт), бирок мен дагы бул жерде тез версиясын берем. Charlieplexing төмөнкүдөй жүрөт:
Сиз 1 -пин менен 2 -пин ортосуна LED коёсуз, эгер сиз 1 -пинди ЖОГОРКУга жана 2 -ТӨМӨН кылып койсоңуз, тегерек тегиз иштейт жана LED күйөт. Негиздери. Мейли, эми сиз башка LEDди тиркеңиз, бирок айланып кетти. Узун учу 2де, кыска учу pin1де. Эми эгер сиз 2 -пинди ЖОКко жана 1 -пин ТӨМӨНГӨ айландырсаңыз, 2 -светодиод күйөт жана биринчиси өчүп калат, анткени агым туура эмес болот. Эми сиз 2 казыкка 2 светодиодду тиркей аласыз. Эгерде биз 3 -пинди аралаштырып алсак, анда бул трюкту 1 менен 2, 1 жана 3 жана 2 жана 3 ортосунда жасай аласыз. Бул 6 LED. Бул улана берет, 5 пин бизге (2 + 4 + 6 + 8) 20 светодиод берет. Бардык 13 санарип казыкты колдонуу бизге 156 вариантты берет. Thats 156 LEDs сиз жеке күйгүзүп жана өчүрө аласыз.
(макул, сиз ойлогондор үчүн. Ооба, эгер сизде көп нерселер бар болсо, аларды бир убакта күйгүзүү мүмкүн эмес, бирок тынчсызданбаңыз, arduino сиздин диоддоруңуздун ортосуна тез которула алат, адамдын көзү чыракты көрө албайт)
(Сүрөттөр менен жакшыраак жана кеңири түшүндүрмө)
Макул, электр өткөргүчтөрүнө келгенде көп күч -аракет жумшоо менен (бул жөнүндө кийинчерээк сөз кылам), биз диоддук диоддорду түзө алабыз, бирок буга жол берели. Светодиоддор абдан кызыксыз. Кантип бир гана 2 түстүү сүрөт тартууга болот? Менимче, сиз кыла аласыз, бирок оңураак тандоо үчүн дагы түстөр болсо, анын жолу салкыныраакпы? туура Ошентип, RGB светодиодуна кайрылабыз!
RGB светодиоддору негизинен 3 светодиоддордо 1. Алар жалпы катод же анодду бөлүшөт (бул жерде электр энергиясы кирип же чыгып турат), ал эми башка 3 "буту" - бул сиздин кызыл жашыл жана көк LED. Муну эске алып, ооба, биз аларды да charlieplex кыла алабыз! Ар бир RGB LED 3 кадимки LEDди эсептейт. Ушундай жол менен сиз алардын бардыгын жекече күйгүзүп жана өчүрүп, тандоо үчүн муздак түстөрдү түзө аласыз! Бир гана жетишпеген жагы, бул нерсени бир топ татаалдаштырат, анткени сиз картага/пландаштырууга жана светодиоддорго караганда 3 эсе көп керек.
Мен 13 казыкта 42 RGB светодиодуна бардым. Бул 126 кадимки светодиод ….. бул абдан көп. Мен муну кантип кылганымды айтып берейин.
2 -кадам: Пландоо
Ооба, сиз эмне кылып жатканыңыздын теориясын түшүнгөндөн кийин, бул кадам оңой болот. Сиз негизинен бардык светодиоддоруңузду жазасыз жана RGB LEDинин кайсы "бутуна" өтүү керектигин пландаштырасыз, ошондо сиз бардык варианттарыңызды камтыйсыз. Мен пландаштырып жатканымдын сүрөтүн тиркеп койдум, аны да колдонууга тартынбагыла (мен колдо болгон бардык варианттарды колдонгон жокмун, анткени мен "болгону" 156дан 126 байланышка муктаж болчумун. Мен муну структуралаштырдым, анткени ал курулушту бир аз оңоюраак кылат.).
Муну кагазга түшүрүү маанилүү, сизге кийинчерээк код керек болот. Эгерде сиз муну жазып, 1 туташууну бузбасаңыз, анда бул LED үчүн код иштебейт.
3 -кадам: Кодекс
Макул, эгерде сизде буга чейин 2 RGB LEDди 2 казыкка кантип туташтыруу керектиги жөнүндө идея болсо: Алга! Кодду текшерүү жагымдуу, бирок мен ишенем, ал иштейт! Мен мүмкүн болушунча "таза" коддоого аракет кылдым (Сиз муну өчүргүчтөрдүн жардамы менен да башкара аласыз, бирок бул x42 кодуңуздун бардыгын жазып койгон коркунучтуу түйшүк, бул мага жакшыраак экенин түшүнүүгө жардам берди жол).
Коддун максаты төмөндөгүдөй. Сиз LED1ден баштайсыз. 1 -баскыч кийинки LEDга өтүүгө мүмкүндүк берет, бирок мурунку LED күйүп турат. Button2 мурунку LEDге кайтууга, 3 -баскыч түсүн өзгөртүүгө мүмкүндүк берет. Учурдагы тандалган LED жаркырайт, андыктан кайсы LED "тандалганын" көрө аласыз.
Бул үчүн мен массивдер менен иштедим. Мен пландаштыруу стадиясында сиз жазган маалыматты колдонуп, кайсы түстү түзүү керек экенин билүү үчүн LED классын түздүм. Мен алардын бардыгын массивге койдум жана arduino циклине LEDarray аркылуу кайсынысы кошулганын жана colorarray аркылуу кайсы түс тандалганын аныктоого уруксат берем (түс 7 түстү тандоого мүмкүндүк берген которгуч менен аныкталат). Жаркыроо if-билдирүү менен жөнгө салынат.
Код тиркелет, жүктөп алуудан жана колдонуудан тартынбаңыз. Комментарий бөлүмү, эгер сиз түшүнбөгөн нерсе болсо, суроолор үчүн ачык, бирок негизинен пастаны көчүрүп алсаңыз болот!
4 -кадам: Эң оор бөлүгү
Эми сизде идея бар, иштөө коду …..тек продукт эмес. Бул бул долбоордун эң коркунучтуу бөлүгү жана мен муну жеңил кабыл албоого кеңеш берер элем. Баары бир эле төөнөгүч менен бүткөн ар кандай буттар эсиңиздеби? ооба … сиз светодиоддордун торун жасашыңыз керек, андан кийин ар бир бутуңузду башка бир бутуңузга туташтырыңыз, анан ошол пинге туташтырыңыз. Бул эң татаал бөлүгү жана меники 100% идеалдуу чыккан жок, эгер сиз ширетүүдө жакшы болсоңуз, анда мүмкүнчүлүгүңүз болушу мүмкүн.
Мен бир убакта RGB светодиоддорун коюп, ар бир бутума жез зымын туташтырдым (мен корпус менен оролгон жез зымды сунуштайм. Меники өтө калың болчу жана ал мага көп кайгы алып келди). Этият болуңуз, эки бут же зым бири -бирине тийбесин! анда "жөн эле" бир зымга өтүү керек болгон бардык зымдарды туташтырып, анан аларды резисторго туташтырып, тигил пинге туташтырыңыз. Муну жасоонун "коопсуз" жолу бар экенине ишенем, бирок аракет кылып жатканда чындап эле чөгүп кетерине ишенем …
(Мен бул кадамды жөнөкөйлөтө турган чийме коштум. Бул менин кодумду так аткаруу үчүн кайсы бутка кайсы пинге баруу керектигин айтат.)
Бул мага 4 күндүк жумушту талап кылды, бирок азыр ар бир светодиод (минус 3-4) мен жекече күйгүзөм!
анда сиз кээ бир баскычтарды жана престону зым менен жабышыңыз керек! Өз пиксел сүрөтүңүз!
Бул адам зымдардын мисалын да көрсөттү, бул абдан пайдалуу
5 -кадам: Глут. Absolutely Gloat
Эгерде сиз башталгыч болсоңуз (мен сыяктуу) жана сиз бул келемиштердин уясына окшош бир нерсе жасай алсаңыз, ал күйгүзүлөт; көңүлсүз. Сиз чындыгында жакшылык кылдыңыз!
Эгерде сизде кандайдыр бир суроолор/комментарийлер болсо, аларды төмөндө калтырыңыз, мен колумдан келсе жардам берүүгө аракет кылам!
Сунушталууда:
Өзүңүздү куруңуз "" Бэнкси өзүн-өзү жок кылуучу көркөм сүрөт алкагы ": 4 кадам
"Banksy's Self-Destroy Artwork Frame" дегенди өзүңүз түзүңүз: Balloon Girl 1.4 миллион долларга жеткенден кийин өзүн өзү майдалап кеткенде, биздин ички жаратуучуларыбыз анын кантип жасалганын анализдей башташты. бычактар раманын негизине жана эки дөңгөлөккө бекитилген
500 LED-пикселдик RGB-кыш: 9 кадам (сүрөттөр менен)
500 LED-пикселдик RGB-кыш: Бир аз мурун мен бул WS2812 светодиоддору менен 10x10 LED-Coffetable кургам, бирок ага туташкан смартфон менен эски мектептеги Snake оюнун ойноо мүмкүн болсо дагы, мен дагы бир нерсени каалайм өзгөчө. Ошентип, мен дагы бир нече лед койууну чечтим, arra
Айнек алты бурчтуу LED пикселдик арматура: 8 кадам (сүрөттөр менен)
Glass Hexagon LED Пикселдик Арматура: NLED контроллерлеринин жана программалык камсыздоонун мүмкүнчүлүгүн көрсөтүү үчүн иштелип чыккан LED пикселге негизделген чыгарма. Балким, 70 -жылдарга таандык, жезден жана айнектен жасалган тазаланган жарыктандыргычтын айланасына курулган. APA102 стандарттык пикселдик тилкеси менен айкалышкан
Secret Spy Сүрөт Сүрөт Көчүрүү Топтом File: 5 кадам
Secret Spy Сүрөт Сүрөт Көчүрүү Топтомдук Файл: Ошентип, биринчи кезекте, бул көрсөтмө берүүчү эмне жана эмне үчүн.Бул көрсөтмө сизге компьютердеги бардык сүрөттөрдү эстутум таякчаңызга көчүрө турган пакет файлын түзүүгө мүмкүндүк берет. ал муну башка программа катары көрсөтүп, дискреттик түрдө жасайт
64 пикселдик RGB LED дисплей - дагы бир Arduino клону: 12 кадам (сүрөттөр менен)
64 пикселдик RGB LED дисплейи - Башка Arduino клону: Бул дисплей 8x8 RGB LED матрицасына негизделген. Тестирлөө максатында 4 сменалык регистрди колдонуу менен стандарттык Arduino тактасына (Diecimila) туташтырылган. Жумушка орношкондон кийин, мен аны жасалма ПКБга толтурдум. Сменалык регистрлердин туурасы 8-бит жана