Мазмұны:
- 1 -қадам: RGB түс кеңістігі
- 2 -қадам: Lissajous жақсы кемесі
- 3 -қадам: Күте тұрыңыз - біз синусоидальды толқынмен жарықдиодты қалай жүргізе аламыз?
- 4 -қадам: 3D Lissajous үлгісін құрайық
- 5 -қадам: Осының барлығын Arduino -ға қосыңыз
- 6 -қадам: Әрі қарай не болады?
Бейне: Түс кеңістігін зерттеу: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Біздің көздер сәулені көру спектріндегі қызыл, жасыл және көк түстерге сезімтал рецепторлар арқылы қабылдайды. Адамдар бұл фактіні соңғы жүз жыл ішінде фильм, теледидар, компьютер және басқа құрылғылар арқылы түрлі -түсті суреттермен қамтамасыз ету үшін қолданды.
Компьютерде немесе телефонның дисплейінде суреттер экранда бір -біріне жақын орналасқан кішкентай қызыл, жасыл және көк жарық диодтарының қарқындылығын өзгерту арқылы көптеген түстерде көрсетіледі. Миллиондаған түрлі түстерді қызыл, жасыл немесе көк жарық диодтарынан жарық қарқындылығын өзгерту арқылы көрсетуге болады.
Бұл жоба Arduino, RGB светодиоды мен кішкене математиканы пайдаланып қызыл, жасыл және көк (RGB) түс кеңістігін зерттеуге көмектеседі.
Сіз қызыл, жасыл және көк түстің қарқындылығын текшедегі координаталар деп ойлай аласыз, онда әр түс бір ось бойында, ал үш ось бір -біріне перпендикуляр орналасқан. Осьтің нөлдік нүктесіне немесе шығу тегіне неғұрлым жақын болсаңыз, түс аз болады. Егер барлық үш түстің мәндері нөлдік нүктеде немесе бастапқы нүктеде болса, онда түс қара болады, ал RGB жарық диоды толығымен сөнеді. Барлық үш түстің мәндері мүмкіндігінше жоғары болғанда (біздің жағдайда үш түстің әрқайсысы үшін 255), RGB светодиоды толық қосылады, ал көз түстердің бұл комбинациясын қабылдайды.
1 -қадам: RGB түс кеңістігі
Кеннет Мореландқа өзінің жақсы бейнесін пайдалануға рұқсат бергені үшін рахмет.
Біз Arduino -ға қосылған RGB жарықдиодты көмегімен 3D түсті ғарыштық текшенің бұрыштарын зерттегіміз келеді, сонымен қатар мұны қызықты етіп жасағымыз келеді. Біз мұны үш ілмекті ұяға салу арқылы жасай аламыз (әрқайсысы қызылға, жасылға және көкке), және түстердің барлық мүмкін комбинациясынан өту арқылы, бірақ бұл өте скучно болар еді. Осциллографта 2D Lissajous үлгісін көргенсіз бе? лазерлік жарық шоуы? Параметрлерге байланысты Lissajous үлгісі қиғаш сызыққа, шеңберге, фигураға 8 немесе көбелекке ұқсас баяу айналатын өрнекке ұқсауы мүмкін. Лиссаузды үлгілер x-y (немесе біздің жағдайда x-y-z немесе R-G-B) осьтеріне салынған екі (немесе одан да көп) осциллятордың синусоидальды сигналдарын бақылау арқылы құрылады.
2 -қадам: Lissajous жақсы кемесі
Ең қызықты Lissajous үлгілері синусоидалы сигналдардың жиіліктері аз мөлшерде ерекшеленген кезде пайда болады. Осциллограф фотосуретінде жиіліктер 5 -тен 2 -ге дейінгі арақатынаспен ерекшеленеді (екеуі де жай сандар). Бұл өрнек өз алаңын жақсы жабады және бұрыштарға жақсы енеді. Жоғарғы сандар алаңды жабу және одан әрі бұрыштарға кіргізу үшін жақсы жұмыс жасайды.
3 -қадам: Күте тұрыңыз - біз синусоидальды толқынмен жарықдиодты қалай жүргізе аламыз?
Сіз мені ұстадыңыз! Біз үш түстің әрқайсысы үшін 0 -ден толық қосуға (255) дейінгі 3D түс кеңістігін зерттегіміз келеді, бірақ синусоидальды толқындар -1 -ден +1 -ге дейін өзгереді. Біз мұнда қалаған нәрсеге жету үшін кішкене математика мен бағдарламалауды жүргізбекпіз.
- -127 -ден +127 -ге дейінгі мәндерді алу үшін әр мәнді 127 -ге көбейтіңіз
- 127 қосыңыз және 0 -ден 255 -ке дейінгі мәндерді алу үшін әр мәнді дөңгелектеңіз (біз үшін 255 -ке жақын)
0-ден 255-ке дейінгі мәндер бір байтты сандармен ұсынылуы мүмкін (C түріндегі Arduino бағдарламалау тіліндегі «char» деректер түрі), сондықтан біз бір байтты ұсыну арқылы жадты сақтаймыз.
Бірақ бұрыштар туралы не деуге болады? Егер сіз градус қолдансаңыз, синусоиданың бұрыштары 0 -ден 360 -қа дейін. Егер сіз радианды қолдансаңыз, бұрыштар 0 -ден 2 -ге дейін π («pi») аралығында болады. Біз қайтадан Arduino -да есте сақтайтын нәрсені жасаймыз және 256 бөлікке бөлінген шеңберді ойлап көреміз және 0 -ден 255 -ке дейінгі «екілік бұрыштары» бар, сондықтан түстердің әрқайсысының «бұрыштары» болуы мүмкін. мұнда да бір байтты сандармен немесе таңбалармен ұсынылған.
Arduino өте керемет, және ол синусоидальды мәндерді есептей алатын болса да, бізге тезірек нәрсе қажет. Біз мәндерді алдын ала есептеп шығарамыз және оларды 256 жазбадан тұратын бір байтты немесе char мәндерінің бағдарламасына енгіземіз (Arduino бағдарламасындағы SineTable […] декларациясын қараңыз).
4 -қадам: 3D Lissajous үлгісін құрайық
Үш түстің әрқайсысы үшін әр түрлі жиілікте кестені айналдыру үшін, біз бір түске бір индексті сақтаймыз және түстерді аралаған сайын әр индекске салыстырмалы бастапқы ығысуларды қосамыз. Біз 2, 5 және 11 -ді қызыл, жасыл және көк индекс мәндерінің салыстырмалы негізгі есептері ретінде таңдаймыз. Ардуиноның ішкі математикалық мүмкіндіктері әр индекске ығысу мәнін қосқанда автоматты түрде орау арқылы бізге көмектеседі.
5 -қадам: Осының барлығын Arduino -ға қосыңыз
Көптеген Arduino -да PWM (немесе импульстік ені модуляциясы) арналары бар. Бізге мұнда үшеуі қажет. Бұл үшін Arduino UNO тамаша. Тіпті кішкене 8 биттік Atmel микроконтроллері (ATTiny85) керемет жұмыс істейді.
PWM арналарының әрқайсысы Arduino -ның «AnalogWrite» функциясын қолдана отырып, RGB светодиоды бір түске айналдырады, мұнда синусоидальды циклдің әр нүктесіндегі түс қарқындылығы импульстік ені немесе жұмыс циклімен 0 -ден (барлығы өшірілген)) 255 дейін (барлығы қосылады). Біздің көздер импульстің әр түрлі енін қабылдайды, олар жеткілікті жылдамдықпен жарық диодты әр түрлі қарқындылықта немесе жарықтықта қабылдайды. RGB жарықдиодты үш түстің әрқайсысын басқаратын барлық PWM арналарын біріктіре отырып, біз 256*256*256 немесе он алты миллионнан астам түстерді көрсету мүмкіндігіне ие боламыз!
Сізге Arduino IDE (Interactive Development Environment) орнатып, оны USB кабелі арқылы Arduino тақтасына қосу керек. PWM 3, 5 және 6 шығуларынан (процессорлық түйреуіштер 5, 11 және 12) прото тақтасындағы немесе прото қалқандағы 1 КОм (мың ом) үш резисторға дейін, резистордан LED, R, G дейін және В түйреуіштері.
- Егер RGB светодиод жалпы катод болса (теріс терминал), онда сымды катодтан Arduino -дағы GND түйреуішіне дейін өткізіңіз.
- Егер RGB светодиод жалпы анод болса (оң терминал), онда сымды анодтан +5В түйреуішке дейін Arduino -ға қосыңыз.
Arduino эскизі кез келген жағдайда жұмыс істейді. Мен SparkFun Electronics / COM-11120 RGB жалпы катодты жарықдиодты қолдандым (жоғарыдағы суретте, SparkFun веб-сайтынан). Ең ұзын түйреуіш - жалпы катод.
RGB-Instructable.ino эскизін жүктеп алыңыз, оны Arduino IDE көмегімен ашыңыз және тест құрастырыңыз. Дұрыс Arduino тақтасын немесе чипін көрсетіңіз, содан кейін бағдарламаны Arduino -ға жүктеңіз. Ол бірден іске қосылуы керек.
Сіз RGB жарықдиодты циклды қанша түстер арқылы көре аласыз, ал миллиондаған мүмкін емес!
6 -қадам: Әрі қарай не болады?
Біз Arduino көмегімен RGB түс кеңістігін зерттей бастадық. Мен осы тұжырымдамамен жасаған басқа нәрселерге мыналар жатады:
AnalogWrite бағдарламасын қолданудың орнына, жылдамдықты жоғарылату үшін чиптік регистрлерге тікелей жазу
- IR жақындық сенсоры қаншалықты жақын болғаныңызға байланысты циклды жылдамдатады немесе баяулатады деп тізбекті өзгерту
- Arduino жүктеушісімен Atmel ATTiny85 8 істікшелі микроконтроллерді бағдарламалау және осы эскиз
Ұсынылған:
Тарихты зерттеу жобасы: 7 қадам
Тарихты зерттеу жобасы: Пайдалы, дәл тарихи зерттеулер жүргізуге қалай көмектесу керек
Зерттеу досы: 10 қадам
Зерттеу досы: Бұл нұсқаулықта қалай дос болу керектігін түсіндіреді Бұл оқушының қызметі - 14 пен 18 жас аралығындағы жасөспірімдерге жоспарлау мен оқуды үйренуге көмектесу. Мақсаты - робот оқушылармен бірге үйренуі. Мұқаба бояумен боялған
Симуляциялық зерттеу: 9 қадам
Симуляциялық зерттеу: Бұл нұсқаулықта мен Autodesk 360 фьюжнін қолдандым, бұл модельдеуді зерттеуге арналған, онда мен автоматты үстелдің синтезі 360 моделін және модельдеудің жұмыс кеңістігін қолдандым. Мен 10 Н
Ноутбукті бұзбай Коронаны қалай зерттеу керек (РЕМАК): 8 қадам
Ноутбукті бұзбай Коронаны қалай зерттеу керек (РЕМАК): бұдан былай ұнамсыз скриншоттар болмайды. Енді FabyRM аниме қызы болмайды. Бұл нәрсе қазір оқылады. Әлемді емдеңіз, Коронаны емдеңіз. Қайта құру !? ИӘЕЕ !!!!!!!!!!!!!!!!!!!!!!!!!!!! Симу
3D CAD - жұмыс кеңістігін стандартты орнату және құру: 14 қадам
3D CAD - Жұмыс кеңістігінің стандартты қондырғылары мен жасалуы: - (а) тиімділік үшін стандартты файлдар жасау Бұл оқулық болашақта ашуға болатын әдепкі бөлік файлын жасау туралы - нақты кілт параметрлері қазірдің өзінде бар екенін білу - күнделікте қайталанатын жұмыс көлемін азайту