Мазмуну:
- 1 -кадам: Идеяны изилдөө
- 2 -кадам: Аппараттык
- 3 -кадам: Ассамблея
- 4 -кадам: Башкаруу?
- 5 -кадам: Оңой кылуу
- 6 -кадам: Биринчи эксперименттер
- 7-кадам: Реалдуу убакыт көзөмөлү
- 8 -кадам: Жыйынтыктар
Video: Интерактивдүү чөйрө жарыгы: 8 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:43
Бул менин биринчи насаатым! Сураныч, мен туура англисче жаза албай кыйналып жатам. Мени оңдоодон тартынба! Мен бул долбоорду 'Жаркырай берсин' сынагы башталгандан кийин эле баштадым. Мен дагы көп нерселерди жасап, каалаганымды бүтүрсөм дейм. Бирок мектеп менен жумуштун ортосунда мен каалагандай көп убакыт калган жок. Ошентсе да, мен бул жерде тажрыйбаларымдын отчетун көрсөтмө катары калтырам, андыктан ким болбосун менин кылганымды жасап, жасай алат. Бул көрсөтмө жетекчилик катары кызмат кылуу жана бул карама -каршылыкты кантип жасоону үйрөтүү үчүн арналган эмес. Бул электрониканы жаңы баштагандар үчүн колдонмо эмес. Бул мен ишке ашыргым келген бир идеяны жана максатты бөлүшүү сыяктуу. Эгерде сиз электроникада башталгыч/толугу менен сабатсыз болсоңуз жана ушул сыяктуу нерселерди жасоону кааласаңыз, кечирим сурайм! Бирок биз ар дайым сизге жардам берүүгө аракет кыла алабыз. Акыркы кадамды караңыз. Биз буга чейин көптөгөн жарык долбоорлорун көрдүк. Алардын көпчүлүгү RGB светодиоддорун колдонушат: - Бөлмөнү бир түс менен жарыктандыруу үчүн, маанайыңызга ылайыктуу атмосфера түзүү үчүн - ТВ/Монитордун түсүнөн же аудиодон жарык эффекттерин түзүү. Instructables.com сайтында бир нече эле бар Тектештер: DIY Ambient Light SystemsLight Bar Ambient Lighting Өзүңүздүн чөйрөңүздүн түстүү жарык берүү тилкелерин куруңуз Бул конкурсту шылтоо катары колдонуп, мен бир аздан бери оюма келген долбоорду баштадым. Мен ар дайым ушул чөйрө жарыктарына окшош нерсени жасап, бөлмөмдүн дубалдарын RGB светодиоддору менен толтургум келет. Бирок, алдыга бир кадам таштап, алардын бардыгын жана алардын ар бирин башкарууга болот. Бул долбоор хоббичилер жана электрондук шылуундар үчүн ачык булактан турган электроникалык комплектке алып келет деп үмүттөнөбүз, бул аппараттык/программалык камсыздоону бузууга жана сенсордук интеграцияга мүмкүндүк берет. Бул жерде мен жасаган нерселердин кичинекей көрүнүшү:
1 -кадам: Идеяны изилдөө
Мен бөлмөмдүн дубалдарын RGB светодиоддору менен толтургум келет, ар бир LEDдин түсүн жана жарыктыгын көзөмөлдөйм. Мен микроконтроллерди колдонуунун оңойлугу жана ийкемдүүлүгү үчүн колдоном. Тилекке каршы, мен микроконтроллерлерде жеткиликтүү болгон бир нече төөнөгүчтөр менен жүздөгөн светодиоддорду башкара албайм. Ошентип, көптөгөн LED диоддорун көзөмөлдөө кыйын болмок. Ошентип, мен бардык диоддорду бир нече кичинекей тилкелерге бөлүп, ар бир тилке үчүн микроконтроллерди колдоно алам деп чечтим. Анан мен микроконтроллерлердин байланыш мүмкүнчүлүктөрүн алардын ортосундагы маалыматты бөлүшүү үчүн колдонмокмун. Бул маалымат светодиоддордун түсү жана жарыктыгы, түстөрдүн үлгүлөрү/ырааттуулугу жана сезүү маалыматы болушу мүмкүн. Ар бир тилке үчүн мен 16 RGB LEDди колдонууну чечтим. Бул өтө чоң да, кичине да тилкени пайда кылат. Ошентип, мен ар бир бар үчүн чыгымдарды кыскартуу менен ресурстардын алгылыктуу санын колдонуп жатам. Ошентсе да, 16 RGB LEDлери микроконтроллер үчүн 48 LED (3*16 = 48) болуп саналат. Чыгымдарды эске алуу менен мен колдонууну чечтим мен колдоно турган эң арзан микроконтроллер. Бул микроконтроллерде 48 LED үчүн жетишсиз болгон 20 I/O төөнөгүчтөрү гана болот дегенди билдирет, мен charlieplexing же кандайдыр бир убакыт бөлүүчү дискти колдонууну каалабайм, анткени долбоордун максаты бөлмөнү жарыктандырат. Мен ойлогон альтернатива кандайдыр бир иштебеген нөөмөт регистрин колдонуп жатат! Калыбына келтирүү:- Чөйрөнүн интерактивдүү жарыгы- Башкарылуучу светодиоддордун стандарттуу тилкесин жасоо- Бөлмөнү толтуруу үчүн бир нече тилкени туташтыруу мүмкүнчүлүгү- Колдонуучунун адаптациясына/конфигурациясына жана сезүү интеграциясына уруксат берүү
2 -кадам: Аппараттык
Мурунку кадамда айтылгандай, мен бир бөлмөнү жарыктандыруу үчүн бир нече тилкелерди жасагым келет. Бул нарк маселесин эске салат. Мен ар бир тилкени мүмкүн болушунча экономикалык жактан үнөмдүү кылууга аракет кылам. Мен колдонгон микроконтроллер AVR ATtiny2313 болчу. Булар арзаныраак жана менде бир аз жатып калды. ATtiny2313 дагы бир универсалдуу сериялык интерфейске жана бир USART интерфейсине ээ, алар кийинки кадамдарда жакшы колдонулат. Менде үч MCP23016 - I2C 16bit I/O порт экспантери бар эле, туура сан! Мен 16 светодиоддун бир түсүн көзөмөлдөө үчүн ар бир порт экспантерин колдондум. Светодиоддор … Тилекке каршы, мен тапкан эң арзан болчу. Алар 48 кызыл, жашыл жана көк ~ 10000mcd 5mm, 20 градустук бурчта. Бул азырынча маанилүү эмес, анткени бул бир гана прототип. Бул чындыкка карабастан, натыйжа абдан жакшы! Мен 8 МГцте микроконтроллерди иштетип жатам. I2C шинасы 400 кГцте иштейт. LED которуштуруу жыштыгы болжол менен 400 Гц. Ошентип, эгерде мен 48 чыракты чегине жеткирбестен айдай алсам, кийинчерээк көбүрөөк орунга ээ болом!
3 -кадам: Ассамблея
Райондун дизайнын иштеп чыккандан кийин, мен аны прототиптештирүү үчүн бир нече нан тактасына курдум. Бир нече сааттан кийин зымдарды кесип, схеманы чогулткандан кийин, мен мындай жыйынтыкка келдим: 48 LED жана тонна зым менен бир алп нан!
4 -кадам: Башкаруу?
Бул проекттин эң татаал бөлүгү. Мен бир башкаруу алгоритмин үлгүлөрдү/ырааттуулукту иштетүү үчүн, ошондой эле ар бир LEDдин жарыктыгын жана түсүн көзөмөлдөө үчүн жетиштүү кылгым келди. (1 байт = 8 бит). Түскө IC кабарчысынын дареги жазылган бир байт, "жазу" командасы менен 1 байт жана 16 байт (LED) мааниси менен 2 байт. IC светодиоддорго "чөгүп кетүү" катары туташкан, башкача айтканда, пиндин бир логикалык мааниси 0. LEDди күйгүзөт. Эми кыйын бөлүгү, 48 LED үчүн PWM көзөмөлүн кантип жасоо керек? Келгиле, бир LED үчүн PWMди үйрөнөлү! PWM @ Wikipedia түшүндүрдү. Эгер мен LEDдин жарыктыгын 50%кааласам, менин PWM мааниси 50%. Бул LED бир убакта, өчүрүү менен бирдей убакытта болушу керек дегенди билдирет. Келгиле, 1 секунд убактысын алалы. 50% PWM бул 1 секундада иштөө убактысы 0,5 секунд жана өчүрүү убактысы 0,5 секунд дегенди билдирет. PWM 80%? 0,2 секунд өчүк, 0,8 секунд күйүк! Санариптик дүйнөдө: 10 сааттык циклдин ичинде, 50% 5 цикл үчүн LED күйүп турат, жана дагы 5 цикл үчүн LED өчөт дегенди билдирет. 20%? 2 цикл күйүк, 8 цикл өчүк. 45%? Ооба, биз чындап эле 45%ала албайбыз… Мезгил циклде болгондуктан жана бизде 10 гана цикл бар, биз PWMди 10%га гана бөлө алабыз. Бул пиндин эволюциясы 50%болушу керек: 1, 1, 1, 1, 1, 0, 0, 0, 0, 0; Же ал тургай 1, 0, 1, 0, 1, 0, 1, 0, 1, 0; Программалоодо биз массивди күйгүзүү жана өчүрүү ыраатын түзө алабыз. Ар бир цикл үчүн биз индекстин маанисин циклге чыгарабыз. Мен азырынча мааниси бар беле? Эгерде биз LED0 50%жана LED1 20%кылгыбыз келсе, биз эки массивди кошо алабыз.: 1, 1, 1, 1, 1, 0, 0, 0, 0, 0; LED1 пинди башкаруу үчүн: 2, 2, 0, 0, 0, 0, 0, 0, 0, 0; LED0до жыйынтык +LED0: 3, 3, 1, 1, 1, 0, 0, 0, 0, 0; Порт экспантер ICдеги бул сандардын ырааттуулугун чыгаруу, биз LED0ду 50% жарыктыкта жана LED1ди 20% менен алмакпыз !! 2 LED үчүн жөнөкөй, туурабы? Эми биз муну 16 LED үчүн, ар бир түс үчүн жасашыбыз керек! Бул массивдердин ар бири үчүн бизде ар бир түстүн жарыктыгынын айкалышы бар (16 светодиод) Түстөрдүн башка айкалышын каалаган сайын, биз бул массивди алмаштырышыбыз керек.
5 -кадам: Оңой кылуу
Мурунку кадам жөнөкөй ырааттуулукту түзүү үчүн өтө көп жумуш … Ошентип, мен программа түзүүнү чечтим, анда биз ар бир LEDдин түстөрүн ырааттуулуктун бир баскычында айтып, кадамдын үч массивин алабыз. Мен бул программаны LabViewде убакыттын тардыгына байланыштуу жасадым.
6 -кадам: Биринчи эксперименттер
Микроконтроллерге бир нече кадам жүктөлүп, биз мындай нерсеге ээ болобуз: Видеолордун сапатынын начардыгы үчүн кечирим сурайм! Мен ырааттуулуктун максималдуу санын 8ге чейин аныктадым жана PWMди 20% секирүү менен чектедим. Бул чечим мен колдонгон көзөмөлдүн түрүнө жана ATtiny2313 канчалык EEPROMга негизделгенине байланыштуу. Бул эксперименттерде мен кандай эффекттерди жасоого болорун көрүүгө аракет кылдым. Мен жыйынтыкка ыраазы экенимди айтышым керек!
7-кадам: Реалдуу убакыт көзөмөлү
Мурунку кадамдарда айтылгандай, мен бөлмөмдөгү светодиоддорду башкарган бардык микроконтроллерлер менен баарлашкым келет. Ошентип, мен ATtiny2313те жеткиликтүү USART интерфейсин колдонуп, аны компьютериме туташтырдым. Мен ошондой эле LED тилкесин көзөмөлдөө үчүн LabView программасын түздүм. Бул программада мен микроконтроллерге ырааттуулукту, ар бир LEDдин түсүн жана ырааттуулуктун кадамдарынын ортосундагы убакытты айта алам. Кийинки видеодо мен Мен кантип LEDдин түсүн өзгөртүп, ырааттуулукту аныктай алаарымды көрсөтөм.
8 -кадам: Жыйынтыктар
Мен долбоорумдун бул биринчи ыкмасында ийгиликтүү болдум деп ойлойм. Мен аз ресурстар жана чектөөлөр менен 16 RGB LEDди башкара алам. Ар бир LEDди өзүнчө көзөмөлдөп, каалаган ырааттуулукту түзсө болот.
Келечектеги иш:
Эгерде мен адамдардан оң пикирлерди алсам, мен бул идеяны андан ары өркүндөтүп, басылган райондук такталар жана монтаждоо көрсөтмөлөрү менен толук DIY Электроника комплектин жасай алам.
Кийинки версиям үчүн мен: -Микроконтроллерди ADC менен бирөөнө алмаштырам -MCP23016ды сериалдын башка түрүнө параллелдик түрдө алмаштырам, ал LEDден көбүрөөк ток кетире алат -Микроконтроллер менен баарлашуу үчүн ачык булак программасын жаса жана LED диоддорун башкаруу -бир нече микроконтроллердин ортосундагы байланышты өнүктүрүү.
Сизде кандайдыр бир сунуш же суроо барбы? Же комментарий калтырыңыз!
Let It Glowдо финалист!
Сунушталууда:
Тышкы дисплей үчүн программалоочу чөйрө жарыгы: 4 кадам
Тышкы дисплей үчүн программалоочу чөйрө жарыгы: Бул долбоор тышкы мониторго же сыналгыңызга тышкы жарыкты орнотууга жардам берет, бул веб -браузери бар жана роутериңизге туташкан каалаган түзмөктүн ыңгайлуулугунан төмөнкүлөрдү башкарууга мүмкүндүк берет. LED Colour DJ эффектин берүүчү ирмелүүнүн жыштыгы Ар түрдүү
Айнек идиште тынымсыз айлануучу чөйрө: 4 кадам (сүрөттөр менен)
Айнек идиште үзгүлтүксүз айлануучу чөйрө: Күндүн энергиясы менен шартталган айлануучу чөйрө үчүн эң жакшы жер айнек идиште. Кыймылдуу нерселер мышыктар же башка үй жаныбарлары үчүн идеалдуу оюнчук жана кумура кандайдыр бир коргоону берет, же жокпу? Долбоор жөнөкөй көрүнөт, бирок туура д -ды табуу үчүн мага бир нече жума керек болду
Pixel Cloud чөйрө дубалы жарыгы: 6 кадам (сүрөттөр менен)
Pixel Cloud Ambient Wall Light: Ikea жарыгынын дагы бир өзгөртүүсү, уникалдуу нерсени жаратуу үчүн даректүү LED жана контроллер кошулду. Балдар бөлмөсүндө жумшак чөйрө жарыгы үчүн жана түнкү жарык катары колдонуу үчүн иштелип чыккан. Бул долбоор 56x APA102 даректүү пикселди, NLEди колдонот
Батареясыз Күн Жарыгы, же Күндүн Жарыгы Эмнеге ?: 3 кадам
Батареясыз Күн Жарыгы, же Күндүн Жарыгы … Эмне үчүн ?: Кош келиңиз. EnglishDaylight үчүн кечиресизби? Күн? Неге? Менде күндүз бир аз караңгы бөлмө бар, жана мен аны колдонгондо жарыкты күйгүзүүм керек.Күндү күндүз жана түнкүсүн орнотуу (1 бөлмө): (Чилиде) -Күн панели 20w: АКШ доллары 42-Батарея: 15 АКШ доллары айып акы
Интимдик видео жарыгы/ портативдүү фотография жарыгы: 7 кадам (сүрөттөр менен)
Интимдик видео жарыгы/ портативдүү фотография жарыгы: мен эмнени ойлоп жатканыңды билем. By " интимдик " Мен кыйын жарык шарттарда жакынкы жарыктандырууну айткам-бул сөзсүз түрдө " интимдик жагдайлар " үчүн эмес. (Бирок, бул үчүн да колдонсо болот …) Нью-Йорктун видеографы катары-же