Përmbajtje:
- Hapi 1: Hapësira e ngjyrave RGB
- Hapi 2: Anija e Mirë Lissajous
- Hapi 3: Prisni - Si mund të drejtojmë një LED me një valë sinusoidale?
- Hapi 4: Le të Ndërtojmë një Model 3D Lisassous
- Hapi 5: Vendosja e të gjithave së bashku në Arduino
- Hapi 6: Çfarë vjen më pas?
Video: Eksplorimi i hapësirës me ngjyra: 6 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:25
Sytë tanë perceptojnë dritën përmes receptorëve që janë të ndjeshëm ndaj ngjyrave të kuqe, jeshile dhe blu në spektrin vizual. Njerëzit e kanë përdorur këtë fakt për të siguruar imazhe me ngjyra përmes filmit, televizorit, kompjuterëve dhe pajisjeve të tjera gjatë njëqind viteve të fundit.
Në ekranin e një kompjuteri ose telefoni, imazhet shfaqen me shumë ngjyra duke ndryshuar intensitetin e LED -ve të vogla të kuqe, jeshile dhe blu që janë pranë njëri -tjetrit në ekran. Miliona ngjyra të ndryshme mund të shfaqen duke ndryshuar intensitetin e dritës nga LED -të e kuqe, jeshile ose blu.
Ky projekt do t'ju ndihmojë të eksploroni hapësirën e ngjyrave të kuqe, jeshile dhe blu (RGB) duke përdorur një Arduino, një LED RGB dhe pak matematikë.
Ju mund të mendoni për intensitetet e tre ngjyrave, të kuqe, jeshile dhe blu, si koordinata në një kub, ku secila ngjyrë është përgjatë një aksi, dhe të tre akset janë pingul me njëri -tjetrin. Sa më afër pikës zero, ose origjinës, të boshtit, aq më pak nga ajo ngjyrë tregohet. Kur vlerat për të tre ngjyrat janë në pikën zero, ose origjinën, atëherë ngjyra është e zezë dhe LED RGB është plotësisht i fikur. Kur vlerat për të tre ngjyrat janë aq të larta sa mund të shkojnë (në rastin tonë, 255 për secilën nga tre ngjyrat), LED RGB është plotësisht i ndezur dhe syri e percepton këtë kombinim të ngjyrave si të bardhë.
Hapi 1: Hapësira e ngjyrave RGB
Faleminderit Kenneth Moreland për lejen për të përdorur imazhin e tij të bukur.
Ne do të donim të eksploronim cepat e kubit të hapësirës me ngjyra 3D duke përdorur një LED RGB të lidhur me një Arduino, por gjithashtu duam ta bëjmë këtë në një mënyrë interesante. Ne mund ta bëjmë atë duke futur tre sythe (njëra për të kuqe, për të gjelbër dhe për blu), dhe duke kaluar nëpër çdo kombinim të mundshëm të ngjyrave, por kjo do të ishte vërtet e mërzitshme. A keni parë ndonjëherë një model Lissajous 2D në një oshiloskop ose një shfaqje me dritë lazer? Në varësi të cilësimeve, një model Lissajous mund të duket si një vijë diagonale, një rreth, një figurë 8, ose një model flutur-fluturues i ngadalshëm. Modelet lissajous krijohen duke ndjekur sinjalet sinusoidale të dy (ose më shumë) oshilatorëve të vizatuar në akset x-y (ose, për rastin tonë, x-y-z ose R-G-B).
Hapi 2: Anija e Mirë Lissajous
Modelet më interesante Lissajous shfaqen kur frekuencat e sinjaleve sinusoidale ndryshojnë me një sasi të vogël. Në foton e oshiloskopit këtu, frekuencat ndryshojnë me një raport prej 5 me 2 (të dyja janë numra të thjeshtë). Ky model mbulon katrorin e tij mjaft mirë dhe futet bukur në qoshet. Numrat kryesorë më të lartë do të bënin një punë edhe më të mirë për të mbuluar katrorin dhe për të futur edhe më tej në qoshe.
Hapi 3: Prisni - Si mund të drejtojmë një LED me një valë sinusoidale?
Më kapët! Ne duam të eksplorojmë hapësirën e ngjyrave 3D që shkon nga off (0) në të plotë në (255) për secilën nga tre ngjyrat, por valët sinusoidale ndryshojnë nga -1 në +1. Ne do të bëjmë pak matematikë dhe programim këtu për të marrë atë që duam.
- Shumëzoni secilën vlerë me 127 për të marrë vlera që variojnë nga -127 në +127
- Shtoni 127 dhe rrumbullakosni secilën vlerë për të marrë vlera që variojnë nga 0 në 255 (mjaft afër 255 për ne)
Vlerat që variojnë nga 0 në 255 mund të përfaqësohen me numra me një bajt (lloji i të dhënave "char" në gjuhën e programimit Arduino të ngjashme me C), kështu që ne do të kursejmë kujtesën duke përdorur përfaqësimin me një bajt.
Por si për këndet? Nëse jeni duke përdorur gradë, këndet në një sinusoid shkojnë nga 0 në 360. Nëse përdorni radianë, këndet variojnë nga 0 në 2 herë π ("pi"). Ne do të bëjmë diçka që ruan përsëri kujtesën në Arduino -n tonë, dhe mendojmë për një rreth të ndarë në 256 pjesë, dhe kemi "kënde binare" që variojnë nga 0 në 255, kështu që "këndet" për secilën prej ngjyrave mund të jenë të përfaqësuar me numra një-bajtësh, ose shenja, edhe këtu.
Arduino është shumë e mahnitshme ashtu siç është, dhe megjithëse mund të llogarisë vlerat sinusoidale, ne kemi nevojë për diçka më të shpejtë. Ne do të llogaritim paraprakisht vlerat dhe do t'i vendosim ato në një grup të gjatë prej 256 hyrjesh të vlerave të një-bajtësh, ose char në programin tonë (shih deklaratën SineTable […] në programin Arduino).
Hapi 4: Le të Ndërtojmë një Model 3D Lisassous
Për të kaluar nëpër tabelë me një frekuencë të ndryshme për secilën prej tre ngjyrave, ne do të mbajmë një indeks për ngjyrë dhe do të shtojmë kompensime relativisht kryesore në secilin indeks ndërsa kalojmë ngjyrat. Ne do të zgjedhim 2, 5 dhe 11 si kompensime relativisht kryesore për vlerat e indeksit të Kuq, të Gjelbër dhe Blu. Aftësitë e brendshme matematikore të Arduino do të na ndihmojnë duke u mbështjellë automatikisht kur shtojmë vlerën e kompensuar në secilin indeks.
Hapi 5: Vendosja e të gjithave së bashku në Arduino
Shumica e Arduinos kanë një numër kanalesh PWM (ose modulim të gjerësisë së impulsit). Do të na duhen tre këtu. Një Arduino UNO është e shkëlqyeshme për këtë. Edhe një mikrokontrollues i vogël 8-bitësh Atmel (ATTiny85) funksionon për mrekulli.
Secili nga kanalet PWM do të drejtojë një ngjyrë të RGB LED duke përdorur funksionin Arduino "AnalogWrite", ku intensiteti i ngjyrës në secilën pikë rreth ciklit sinusoidal përfaqësohet nga një gjerësi pulsi, ose cikël detyre, nga 0 (të gjitha të fikura) në 255 (të gjitha aktive). Sytë tanë i perceptojnë këto gjerësi të ndryshme të pulsit, të përsëritura mjaft shpejt, si intensitete ose ndriçime të ndryshme të LED. Duke kombinuar të tre kanalet PWM që drejtojnë secilën nga tre ngjyrat në një LED RGB, ne marrim aftësinë për të shfaqur 256*256*256, ose mbi gjashtëmbëdhjetë milion ngjyra!
Ju do të duhet të konfiguroni Arduino IDE (Mjedisi i Zhvillimit Interaktiv) dhe ta lidhni atë me bordin tuaj Arduino duke përdorur kabllon e tij USB. Drejtoni kërcyesit nga daljet PWM 3, 5 dhe 6 (kunjat e procesorit 5, 11 dhe 12) në tre rezistorë 1 KΩ (një mijë ohm) në pllakën tuaj proto ose proto mburojën, dhe nga rezistorët në LED R, G, dhe kunjat B.
- Nëse LED RGB është një katodë e zakonshme (terminal negativ), atëherë drejtoni një tel nga katoda përsëri në kunjin GND në Arduino.
- Nëse LED RGB është një anodë e zakonshme (terminal pozitiv), atëherë drejtoni një tel nga anoda përsëri në kunjin +5V në Arduino.
Skica Arduino do të funksionojë në çdo mënyrë. Më rastisi të përdor një LED të katodës së zakonshme SparkFun Electronics / COM-11120 RGB (e fotografuar më sipër, nga uebfaqja e SparkFun). Kunja më e gjatë është katoda e zakonshme.
Shkarkoni skicën RGB-Instructable.ino, hapeni atë me Arduino IDE dhe testojeni përpilimin e tij. Sigurohuni që të specifikoni tabelën ose çipin Arduino të synuar, pastaj ngarkoni programin në Arduino. Duhet të fillojë menjëherë.
Ju do të shihni ciklin LED RGB përmes sa më shumë ngjyrave që mund të emërtoni, dhe miliona që nuk mundeni!
Hapi 6: Çfarë vjen më pas?
Ne sapo kemi filluar të eksplorojmë RGB Color Space me Arduino -n tonë. Disa gjëra të tjera që kam bërë me këtë koncept përfshijnë:
Shkrimi direkt në regjistrat në çip, në vend që të përdorni AnalogWrite, për të shpejtuar vërtet gjërat
- Ndryshimi i qarkut në mënyrë që një sensor afërsie IR të përshpejtojë ose ngadalësojë ciklin në varësi të afrimit tuaj
- Programimi i një mikrokontrolluesi Atmel ATTiny85 8-pin me ngarkuesin Arduino dhe këtë skicë
Recommended:
Si të bëni pushtues të hapësirës në mikro bit .: 4 hapa
Si të bëni pushtues hapësinorë në mikro bit .: Pra, hapi i parë është të krijojmë anijen tonë. Ju shkoni te " Themelore " dhe shtoni një " Në fillim " bllokoj. Pastaj shkoni te " Variablat " dhe ju krijoni një ndryshore të quajtur " SHIP " dhe zgjidhni një bllok nga " Variablat " skeda t
Përmirësoni nisjen tuaj të hapësirës me një buton të stërvitjes fizike për programin hapësinor Kerbal: 6 hapa
Përmirësoni nisjen tuaj të hapësirës me një buton të stërvitjes fizike për programin hapësinor Kerbal: Kohët e fundit mora versionin demo të Kerbal Space Program. Kerbal Space Program është një lojë imituese që ju lejon të krijoni dhe lëshoni raketa dhe t'i lundroni ato në hënat dhe planetët e largët. Unë jam ende duke u përpjekur të ulem me sukses në Hënë (o
Mini dritë paralajmëruese rrotulluese me dy ngjyra me ngjyra: 6 hapa
Mini Dritë Paralajmëruese e Fenerit Rrotullues me Ngjyra të Dyfishta: Në këtë Udhëzues, ne do të krijojmë një dritë mini fener. E dini, një nga ato dritat rrotulluese të modës së vjetër që ata përdorën për të vënë në pajisjet e ndërtimit para se LED-et të bëheshin të mëdha? Po Nje nga ato. Ky do të jetë relativisht i thjeshtë dhe i vogël
Eksplorimi i Windows 8.1 !!: 12 hapa
Eksplorimi i Windows 8.1 !!: Ky Instructable do t'ju japë një pasqyrë të shpejtë të Windows 8.1, të gjitha veçoritë dhe programet e tij Ju lutemi regjistrohuni në kanalin tim Faleminderit
Skulpturë LED me ngjyra të ndezura me shumë ngjyra: 4 hapa
Skulpturë me ngjyra të lehta LED që vezullon: Ky udhëzues përdor një shandan Ikea dhe LED me shumë ngjyra që shfaqen në mermerë të mëdhenj. E gjithë kjo është e fiksuar në një bazë pishe të punuar me dorë. Kështu e bëra