Мазмұны:
- 1 -қадам: Идеяны зерттеу
- 2 -қадам: Жабдық
- 3 -қадам: құрастыру
- 4 -қадам: Бақылау?
- 5 -қадам: Оңай ету
- 6 -қадам: Алғашқы эксперименттер
- 7-қадам: Нақты уақыттағы басқару
- 8 -қадам: Қорытынды
Бейне: Интерактивті орта жарығы: 8 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:28
Бұл менің бірінші нұсқаулық! Өтінемін, мен дұрыс ағылшын тілінде жаза алмаймын. Мені түзетуден тартынбаңыз! Мен бұл жобаны 'Жарқылдасын' байқауы басталғаннан кейін бастадым. Мен көп нәрсені жасап, жасағым келген нәрсені аяқтағанымды қалаймын. Бірақ мектеп пен жұмыс арасында мен қалағандай көп уақыт болмады. Соған қарамастан, мен мұнда өз тәжірибемнің есебін нұсқаулық ретінде қалдырамын, сондықтан кез келген адам мен істегенді істей алады. Бұл нұсқаулық нұсқаулық ретінде қызмет етпейді және оны қалай жасау керектігін үйретуге арналмаған. Бұл электроникада жаңадан бастаушыларға арналған нұсқаулық емес. Бұл мен жүзеге асырғым келетін бір идея мен мақсатпен бөлісуге ұқсайды. Егер сіз электрониканы жаңадан бастаған/толық білмейтін болсаңыз және осындай нәрсе жасағыңыз келсе, кешіріңіз! Бірақ біз әрқашан сізге көмектесуге тырысамыз. Соңғы қадамды қараңыз. Біз қазірдің өзінде көптеген жарық жобаларын көрдік. Олардың көпшілігі 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 жарысының финалисті!
Ұсынылған:
Көңіл-күй динамигі- қоршаған орта температурасына негізделген көңіл-күйге арналған күшті динамик: 9 қадам
Көңіл-күй динамигі- қоршаған орта температурасына негізделген көңіл-күй музыкасын ойнайтын күшті динамик: Сәлеметсіз бе! Мен MCT Howest Kortrijk мектебіндегі жобам үшін көңіл-күй динамигін жасадым, бұл әр түрлі сенсорлары бар Bluetooth динамикалық динамигі, СКД және WS2812b динамик температураға негізделген фондық музыканы ойнайды, бірақ
Pixel Cloud қоршаған орта жарығы: 6 қадам (суреттермен)
Pixel Cloud Ambient Wall Light: Ikea шамының тағы бір модификациясы, бірегей нәрсе жасау үшін адрестік жарықдиодты шамдар мен контроллер қосылды. Балалар бөлмесінде жұмсақ қоршаған ортаға және түнгі жарық ретінде қолдануға арналған. Бұл жобада 56x APA102 адрестік пиксельдер, NLE пайдаланылады
Lotus LED шамы (Тұрақты табиғи орта): 4 қадам
Lotus LED шамы (Тұрақты табиғи орта): Аннотация: Танымал Lotus гүліне ұқсас пішіні бар шам. Шамның идеясы оны соңғы пайдаланушылардың қалауына байланысты әр түрлі конфигурацияларда қолдануға болады, себебі оған (Lotus flo
Жақын бейне жарығы/ қолмен түсірілетін фотосурет жарығы: 7 қадам (суреттермен)
Жақын бейне жарығы/ қолмен түсірілетін фотосурет жарығы: Мен сенің не ойлағаныңды білемін. &Quot; жақын, " арқылы Мен қиын жарық жағдайларында жақыннан жарықтандыруды айттым-бұл міндетті түрде " жақын жағдайлар " үшін емес. (Алайда, бұл үшін де қолдануға болады …) Нью-Йорктегі бейнекамер ретінде-немесе
Интерактивті, ашық бастапқы көңіл -күй жарығы: 9 қадам (суреттермен)
Интерактивті, ашық коды бар көңіл-күй жарығы: Бұл нұсқаулық интерактивті, көп функциялы көңіл-күй жарығын қалай жасауға болатынын көрсетеді. Бұл жобаның негізгісі - BlinkM I2C RGB жарықдиодты шамы. Бір күні мен интернетті шолып жүргенде, BlinkM назарымды аударды, мен бұл өте керемет деп ойладым