Мазмұны:

Интерактивті орта жарығы: 8 қадам
Интерактивті орта жарығы: 8 қадам

Бейне: Интерактивті орта жарығы: 8 қадам

Бейне: Интерактивті орта жарығы: 8 қадам
Бейне: Басқа тышты деген осы 😡 2024, Қараша
Anonim
Интерактивті қоршаған орта жарығы
Интерактивті қоршаған орта жарығы
Интерактивті қоршаған орта жарығы
Интерактивті қоршаған орта жарығы
Интерактивті қоршаған орта жарығы
Интерактивті қоршаған орта жарығы

Бұл менің бірінші нұсқаулық! Өтінемін, мен дұрыс ағылшын тілінде жаза алмаймын. Мені түзетуден тартынбаңыз! Мен бұл жобаны 'Жарқылдасын' байқауы басталғаннан кейін бастадым. Мен көп нәрсені жасап, жасағым келген нәрсені аяқтағанымды қалаймын. Бірақ мектеп пен жұмыс арасында мен қалағандай көп уақыт болмады. Соған қарамастан, мен мұнда өз тәжірибемнің есебін нұсқаулық ретінде қалдырамын, сондықтан кез келген адам мен істегенді істей алады. Бұл нұсқаулық нұсқаулық ретінде қызмет етпейді және оны қалай жасау керектігін үйретуге арналмаған. Бұл электроникада жаңадан бастаушыларға арналған нұсқаулық емес. Бұл мен жүзеге асырғым келетін бір идея мен мақсатпен бөлісуге ұқсайды. Егер сіз электрониканы жаңадан бастаған/толық білмейтін болсаңыз және осындай нәрсе жасағыңыз келсе, кешіріңіз! Бірақ біз әрқашан сізге көмектесуге тырысамыз. Соңғы қадамды қараңыз. Біз қазірдің өзінде көптеген жарық жобаларын көрдік. Олардың көпшілігі RGB светодиодтарын пайдаланады: - Бөлмені бір түспен жарықтандыру үшін, көңіл күйіңізге сәйкес атмосфераны орнату - Теледидар/Монитордың түсінен немесе дыбыстан жарық эффектілерін жасау үшін. Instructables.com сайтында бірнешеуі де бар. Қатысты: DIY қоршаған ортаны жарықтандыру жүйесі жарық шамы қоршаған ортаны жарықтандыру Өзіңіздің жеке түсті жарықтандыру жолақтарыңызды құру Бұл жарысты ақтау ретінде пайдаланып, мен біраз уақыттан бері ойымда жүрген жобаны бастадым. Мен әрқашан осы шамдарға ұқсас нәрсе жасап, бөлмемдегі қабырғаларды RGB светодиодтарымен толтыруды қалаймын. Бірақ, бір қадам алға жылжып, олардың барлығын да басқаруға болады. Бұл жоба әуесқойлар мен электронды сауытшыларға арналған ашық бастапқы электронды жинаққа әкеледі, бұл аппараттық/бағдарламалық жасақтаманы бұзуға және сенсорлық интеграцияға мүмкіндік береді. Міне, мен жасаған нәрселердің шағын көрінісі:

1 -қадам: Идеяны зерттеу

Мен өз бөлмемдегі қабырғаларды RGB светодиодтармен толтырғым келеді, әр светодиодтың түсі мен жарықтығын бақылаймын, мен пайдаланудың қарапайымдылығы мен икемділігі үшін микроконтроллерді қолданамын. Өкінішке орай, мен микроконтроллерлерде бар бірнеше түйреуішпен жүздеген жарықдиодты басқара алмаймын. Көптеген светодиоды бақылауды кодтау қиын болар еді, сондықтан мен барлық жарықдиодтарды бірнеше кіші жолақтарға бөлу керек деп шештім және әр жолақ үшін микроконтроллерді қолдануға болады. Содан кейін мен олардың арасында ақпарат алмасу үшін микроконтроллерлердің байланыс мүмкіндіктерін қолданар едім. Бұл ақпарат жарық диодтардың түсі мен жарықтығы, түстердің үлгілері/реттілігі және сенсорлық ақпарат болуы мүмкін. Әр жолақ үшін мен 16 RGB светодиодты қолдануға шешім қабылдадым. Нәтижесінде тым үлкен де, кіші де жолақ болмайды. Осылайша, мен әр жолақ үшін шығындарды азайта отырып, әрбір сым үшін ресурстардың қолайлы санын қолданамын, дегенмен, 16 RGB светодиодтары - 48 светодиод (3*16 = 48), оларды басқару үшін. Мен қолдана алатын ең арзан микроконтроллер. Бұл микроконтроллерде тек 48 енгізу үшін жеткіліксіз 20 енгізу -шығару түйреуіші болады дегенді білдіреді, мен чарлеплексті немесе уақытты бөлетін дискіні пайдаланғым келмейді, өйткені жобаның мақсаты - бөлмені жарықтандыру. Мен ойлайтын балама- бұл ауыспалы регистрдің қандай да бір түрін пайдалану! Жалғастыру:- қоршаған ортаның интерактивті жарығы- басқарылатын светодиодтардың стандартты жолағын жасау- бөлмені толтыру үшін бірнеше жолақты қосу мүмкіндігі- пайдаланушының бейімделуіне/конфигурациясына және сенсорлық интеграцияға рұқсат ету.

2 -қадам: Жабдық

Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал

Алдыңғы қадамда айтылғандай, мен бір бөлмені жарықтандыру үшін бірнеше жолақ жасағым келеді. Бұл шығын мәселесін еске түсіреді. Мен әр жолақты мүмкіндігінше үнемді етуге тырысамын. Мен қолданған микроконтроллер AVR ATtiny2313 болды. Бұлар өте арзан, менде біраз жатып қалды. ATtiny2313 -те келесі әмбебап сериялық интерфейс пен бір USART интерфейсі бар. Менде үш MCP23016 - I2C 16 биттік енгізу -шығару порт кеңейткіші болды, дәл санау! Мен 16 жарықдиодты бір түсті басқару үшін әр порт кеңейткішті қолдандым. Жарық диодтары … Өкінішке орай, мен таба алатын ең арзан болды. Олар 48 қызыл, жасыл және көк ~ 10000mcd 5 мм, 20 градус бұрышпен. Бұл әзірше маңызды емес, өйткені бұл тек бір прототип. Осыған қарамастан, нәтиже өте жақсы! Мен микроконтроллерді 8 МГц жиілікте жұмыс істеймін. I2C шинасы 400 кГц жиілікте жұмыс істейді. Жарық диодты қосқыш жиілігі шамамен 400 Гц құрайды. Осылайша, егер мен 48 жарықдиодты шамадан тыс жүргізе алсам, мен кейінірек көбірек орын беремін!

3 -қадам: құрастыру

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

Схеманы жобалағаннан кейін мен оны прототиптік мақсатта бірнеше тақтаға салдым. Бірнеше сағаттан кейін сымдарды кесіп, схеманы құрастырғаннан кейін мен келесі нәтижеге қол жеткіздім: 48 жарықдиодты және тонна сымды бір алып нан тақтасы!

4 -қадам: Бақылау?

Бақылау?
Бақылау?

Бұл жобаның ең қиын бөлігі. Мен бір басқару алгоритмін үлгілермен/реттілікпен жұмыс істеуге, сондай -ақ әр жарық диодты жарықтылық пен түске басқаруға жеткілікті етіп жасағым келді. Жарық диодтарын басқару үшін мен MCP23016 -ға 4 биттік бір кадрды жіберуім керек. (1 байт = 8 бит). Түс бойынша IC корреспондентінің адресі көрсетілген бір байт, «жазу» пәрмені бар 1 байт және 16 бит (СИД) мәні бар 2 байт. IC светодиодтарға «раковина» ретінде қосылған, демек, түйреуіште 0 логикалық мән жарық диодты жарықтандырады, ал енді қиын бөлігі, 48 жарықдиодты басқару үшін PWM басқаруды қалай жасауға болады? PWM @ Wikipedia түсіндірді. Егер жарық диодты жарықтылық 50%болса, менің PWM мәні 50%құрайды. Бұл дегеніміз, жарық диоды бір уақытта өшірулі уақытпен бірдей болуы керек. 1 секундтық кезеңді алайық. PWM 50% - бұл 1 секунд ішінде қосылу уақыты 0,5 секунд, ал өшіру уақыты - 0,5 секунд. PWM 80%? 0,2 секунд өшірулі, 0,8 секунд қосулы! Сандық әлемде: 10 сағаттық циклдің 50% -ы 5 циклде жарық диоды қосылады, ал тағы 5 циклде жарық диоды өшеді. 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; Светодиодты басқару үшін: 1, 2, 0, 0, 0, 0, 0, 0, 0, 0; LED0 нәтижесі +LED0: 3, 3, 1, 1, 1, 0, 0, 0, 0, 0; СК порт кеңейткішінде осы сандар тізбегін шығарсақ, біз 50% жарықтығы бар LED0 және 20% жарық диодты аламыз !! 2 светодиод үшін қарапайым, дұрыс? Енді біз мұны 16 жарықдиодты, әр түс үшін жасауымыз керек! Осы массивтердің әрқайсысы үшін бізде әр түс үшін жарықтық комбинациясы бар (16 светодиоды) Түстердің басқа комбинациясын қалаған сайын осы жиымды өзгертуге тура келеді.

5 -қадам: Оңай ету

Оңай ету!
Оңай ету!
Оңай ету!
Оңай ету!

Алдыңғы қадам - қарапайым дәйектілікті жасау үшін тым көп жұмыс … Сондықтан мен бағдарлама құруды шештім, онда біз әр жарық диодты түстерді бірізділікпен айтамыз және біз қадамның үш жиымын аламыз. Мен бұл бағдарламаны LabView бағдарламасында уақыт шектеулеріне байланысты жасадым.

6 -қадам: Алғашқы эксперименттер

Алғашқы эксперименттер
Алғашқы эксперименттер

Микроконтроллерге бірнеше қадамдар жүктелсе, біз келесідей нәрсені аламыз: Бейнелердің сапасыздығы үшін кешірім сұраймын! Мен реттілік кезеңдерінің максималды санын 8 -ге дейін анықтадым, ал PWM -ді 20% секірумен шектедім. Бұл шешім мен қолданатын бақылау түріне және ATtiny2313 -тің EEPROM -ға қаншалықты негізделгеніне байланысты. Бұл эксперименттерде мен қандай әсерлер жасауға болатынын көруге тырыстым. Мен нәтижеге риза екенімді айтуым керек!

7-қадам: Нақты уақыттағы басқару

Нақты уақыттағы бақылау
Нақты уақыттағы бақылау
Нақты уақыттағы бақылау
Нақты уақыттағы бақылау
Нақты уақыттағы бақылау
Нақты уақыттағы бақылау

Алдыңғы қадамдарда айтылғандай, мен өз бөлмемдегі светодиодты басқаратын барлық микроконтроллерлермен сөйлескім келеді. Мен ATtiny2313 -те қол жетімді USART интерфейсін қолдандым және оны компьютеріме қостым. Мен сонымен қатар LabView бағдарламасында жарық диодты жолақты басқаруға арналған бағдарлама жасадым. Бұл бағдарламада мен микроконтроллерге реттілік қанша уақытты, әр жарық диодты түсі мен бірізділік кезеңдерінің арасындағы уақытты айта аламын. светодиодтардың түсін қалай өзгерту керектігін көрсетіңіз және реттілікті анықтаңыз.

8 -қадам: Қорытынды

Қорытынды
Қорытынды
Қорытынды
Қорытынды
Қорытынды
Қорытынды
Қорытынды
Қорытынды

Менің ойымша, мен бұл жобаның бірінші тәсілінде сәтті болдым. Мен ресурстар мен шектеулері аз 16 RGB жарықдиодты басқара аламын. Кез келген қалаған реттілікті құра отырып, әрбір жарықдиодты бөлек басқаруға болады.

Болашақ жұмыс:

Егер мен адамдардан оң пікір алсам, мен бұл идеяны одан әрі дамытып, баспа тақталары мен құрастыру нұсқаулары бар DIY электроникасының толық жиынтығын жасай аламын.

Келесі нұсқада мен: -Микроконтроллерді ADC -мен ауыстырамын -MCP23016 -ді светодиодтардан көбірек ток түсіретін басқа сериялы параллель шығуға ауыстырамын -Микроконтроллермен байланысу үшін ашық көзі бар бағдарламалық жасақтама жасаңыз және жарықдиодты басқару -бірнеше микроконтроллерлер арасындағы байланысты дамыту.

Сізде қандай да бір ұсыныс немесе сұрақ бар ма? Немесе пікір қалдырыңыз!

Let the Glow жарысының финалисті!

Ұсынылған: