Satura rādītājs:
- 1. darbība: RGB krāsu telpa
- 2. solis: labais kuģis Lissajous
- 3. solis: pagaidiet - kā mēs varam vadīt LED ar sinusoidālu viļņu?
- 4. solis: izveidosim 3D LIsajous modeli
- 5. solis: ievietojiet to visu kopā Arduino
- 6. darbība: kas tālāk?
Video: Krāsu telpas izpēte: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Mūsu acis uztver gaismu caur receptoriem, kas ir jutīgi pret sarkanu, zaļu un zilu krāsu redzes spektrā. Apmēram pēdējo simts gadu laikā cilvēki ir izmantojuši šo faktu, lai nodrošinātu krāsainus attēlus, izmantojot filmu, televīziju, datorus un citas ierīces.
Datora vai tālruņa displejā attēli tiek parādīti daudzās krāsās, mainot sīko sarkano, zaļo un zilo gaismas diožu intensitāti, kas ekrānā atrodas blakus. Miljoniem dažādu krāsu var parādīt, mainot gaismas intensitāti no sarkanām, zaļām vai zilām gaismas diodēm.
Šis projekts palīdzēs jums izpētīt sarkano, zaļo un zilo (RGB) krāsu telpu, izmantojot Arduino, RGB LED un nedaudz matemātikas.
Jūs varat iedomāties trīs krāsu - sarkanās, zaļās un zilās - intensitāti kā koordinātas kubā, kur katra krāsa atrodas gar vienu asi un visas trīs asis ir perpendikulāras viena otrai. Jo tuvāk esat ass nulles punktam vai izcelsmei, jo mazāk tiek parādīta šī krāsa. Ja visu trīs krāsu vērtības ir nulles punktā vai izcelsmē, tad krāsa ir melna un RGB gaismas diode ir pilnībā izslēgta. Kad visu trīs krāsu vērtības ir pēc iespējas augstākas (mūsu gadījumā 255 katrai no trim krāsām), RGB gaismas diode ir pilnībā ieslēgta, un acs šo krāsu kombināciju uztver kā baltu.
1. darbība: RGB krāsu telpa
Paldies Kenetam Morelandam par atļauju izmantot savu jauko tēlu.
Mēs vēlētos izpētīt 3D krāsu telpas kuba stūrus, izmantojot RGB LED, kas savienots ar Arduino, bet arī vēlamies to darīt interesantā veidā. Mēs to varētu izdarīt, ligzdojot trīs cilpas (pa vienai sarkanai, zaļai un zilai) un izmantojot visas iespējamās krāsu kombinācijas, taču tas būtu patiešām garlaicīgi. Vai esat kādreiz redzējis 2D Lissajous modeli osciloskopā vai lāzera gaismas šovs? Atkarībā no iestatījumiem Lissajous raksts var izskatīties kā diagonāla līnija, aplis, skaitlis 8 vai lēni rotējošs smails tauriņam līdzīgs raksts. Lissajous modeļi tiek veidoti, izsekojot divu (vai vairāku) oscilatoru sinusoidālos signālus, kas uzzīmēti uz x-y (vai, mūsu gadījumā, x-y-z vai R-G-B) asīm.
2. solis: labais kuģis Lissajous
Interesantākie Lissajous modeļi parādās tad, kad sinusoidālo signālu frekvences nedaudz atšķiras. Šeit esošajā osciloskopa fotoattēlā frekvences atšķiras par attiecību no 5 līdz 2 (abi ir pirmskaitļi). Šis modelis diezgan labi pārklāj savu kvadrātu un lieliski iekļūst stūros. Lielāki pirmskaitļi darītu vēl labāku darbu, aptverot laukumu un iedurot vēl tālāk stūros.
3. solis: pagaidiet - kā mēs varam vadīt LED ar sinusoidālu viļņu?
Tu mani pieķēri! Mēs vēlamies izpētīt 3D krāsu telpu, kas svārstās no izslēgtas (0) līdz pilnībā ieslēgtai (255) katrai no trim krāsām, bet sinusoidālie viļņi svārstās no -1 līdz +1. Mēs šeit veiksim nelielu matemātiku un programmēšanu, lai iegūtu to, ko vēlamies.
- Reiziniet katru vērtību ar 127, lai iegūtu vērtības diapazonā no -127 līdz +127
- Pievienojiet 127 un noapaļojiet katru vērtību, lai iegūtu vērtības diapazonā no 0 līdz 255 (pietiekami tuvu līdz 255 mums)
Vērtības, kas svārstās no 0 līdz 255, var attēlot ar viena baita skaitļiem ("char" datu tips C līdzīgajā Arduino programmēšanas valodā), tāpēc mēs ietaupīsim atmiņu, izmantojot viena baita attēlojumu.
Bet kā ar leņķiem? Ja izmantojat grādus, leņķi sinusoidālā diapazonā ir no 0 līdz 360. Ja izmantojat radiānus, leņķi svārstās no 0 līdz 2 reizēm π ("pi"). Mēs darīsim kaut ko tādu, kas atkal saglabā atmiņu mūsu Arduino, un domāsim par apli, kas sadalīts 256 daļās, un “binārie leņķi” būs robežās no 0 līdz 255, tāpēc katras krāsas “leņķi” var būt arī šeit tiek attēloti viena baita skaitļi vai rakstzīmes.
Arduino ir diezgan pārsteidzošs tieši tāds, kāds tas ir, un, lai gan tas var aprēķināt sinusoidālās vērtības, mums ir nepieciešams kaut kas ātrāk. Mēs iepriekš aprēķināsim vērtības un ievietosim tās 256 ierakstu garā viena baita vai char vērtību masīvā mūsu programmā (skatiet SineTable […] deklarāciju Arduino programmā).
4. solis: izveidosim 3D LIsajous modeli
Lai pārvietotos pa tabulu ar atšķirīgu frekvenci katrai no trim krāsām, mēs saglabāsim vienu indeksu katrai krāsai un katram indeksam pievienosim salīdzinoši lielākus nobīdes, ejot cauri krāsām. Mēs izvēlēsimies 2, 5 un 11 kā salīdzinoši galvenās sarkanā, zaļā un zilā indeksa vērtību kompensācijas. Arduino pašas iekšējās matemātiskās iespējas mums palīdzēs, automātiski iesaiņojoties, pievienojot nobīdes vērtību katram indeksam.
5. solis: ievietojiet to visu kopā Arduino
Lielākajai daļai Arduinos ir vairāki PWM (vai impulsa platuma modulācijas) kanāli. Šeit mums vajadzēs trīs. Arduino UNO tam ir lieliski piemērots. Pat neliels 8 bitu Atmel mikrokontrolleris (ATTiny85) darbojas pasakaini.
Katrs PWM kanāls vadīs vienu RGB gaismas diodes krāsu, izmantojot Arduino funkciju “AnalogWrite”, kur krāsas intensitāti katrā sinusoidālā cikla punktā attēlo impulsa platums jeb darba cikls no 0 (viss izslēgts) līdz 255 (visi ieslēgti). Mūsu acis uztver šos dažādos impulsa platumus, kas tiek pietiekami ātri atkārtoti, kā dažādu gaismas diodes intensitāti vai spilgtumu. Apvienojot visus trīs PWM kanālus, kas virza katru no trim krāsām RGB gaismas diodē, mēs iegūstam iespēju attēlot 256*256*256 jeb vairāk nekā sešpadsmit miljonus krāsu!
Jums būs jāiestata Arduino IDE (interaktīvā izstrādes vide) un jāpievieno tā pie Arduino plates, izmantojot USB kabeli. Palaidiet džemperus no PWM izejām 3, 5 un 6 (procesora tapas 5, 11 un 12) līdz trim 1 KΩ (viena tūkstoša omu) rezistoriem uz jūsu proto plates vai proto vairoga, un no rezistoriem līdz LED R, G un B tapas.
- Ja RGB gaismas diode ir parasts katods (negatīvs terminālis), tad vadiet vadu no katoda atpakaļ uz GND tapu Arduino.
- Ja RGB gaismas diode ir parasts anods (pozitīvs terminālis), tad vadiet vadu no anoda atpakaļ uz +5V tapu Arduino.
Arduino skice darbosies jebkurā veidā. Man gadījās izmantot SparkFun Electronics / COM-11120 RGB kopējā katoda LED (attēlā iepriekš, no SparkFun tīmekļa vietnes). Garākā tapa ir parastais katods.
Lejupielādējiet RGB-Instructable.ino skici, atveriet to, izmantojot Arduino IDE, un pārbaudiet, kā to apkopot. Noteikti norādiet pareizo mērķa Arduino plāksni vai mikroshēmu, pēc tam ielādējiet programmu Arduino. Tam vajadzētu sākt nekavējoties.
Jūs redzēsiet RGB LED ciklu, izmantojot tik daudz krāsu, cik varat nosaukt, un miljoniem jūs to nevarat!
6. darbība: kas tālāk?
Mēs tikko esam sākuši izpētīt RGB krāsu telpu ar mūsu Arduino. Dažas citas lietas, ko esmu darījis ar šo koncepciju, ir šādas:
Tieša rakstīšana mikroshēmu reģistros, nevis AnalogWrite izmantošana, lai patiešām paātrinātu lietas
- Ķēdes pārveidošana tā, lai IR tuvuma sensors paātrinātu vai palēninātu ciklu atkarībā no tā, cik tuvu esat
- Atmel ATTiny85 8 kontaktu mikrokontrollera programmēšana ar Arduino sāknēšanas ielādētāju un šo skici
Ieteicams:
Automātiskais telpas gaismas un ventilatora kontrolieris ar divvirzienu apmeklētāju skaitītāju: 3 soļi
Automātiskais telpas apgaismojums un ventilatora kontrolieris ar divvirzienu apmeklētāju skaitītāju: Bieži vien mēs redzam apmeklētāju skaitītājus stadionā, tirdzniecības centrā, birojos, klases telpās utt. Kā viņi skaita cilvēkus un ieslēdz vai izslēdz gaismu, kad neviens nav iekšā? Šodien mēs esam šeit ar automātisko telpas gaismas kontroliera projektu ar divvirzienu apmeklētāju skaitītāju
Telpas apgaismojuma vadība, izmantojot PIR sensoru un Arduino: 6 soļi
Telpas gaismu kontrolē, izmantojot PIR sensoru un Arduino: Šodien mēs kontrolēsim jūsu istabas apgaismojumu, atklājot kustību, izmantojot Arduino PIR kustības sensoru. Šo projektu ir ļoti jautri īstenot, un tas ir ļoti praktiski izmantojams jūsu mājā, un, veicot šo projektu, jūs varat ietaupīt naudu. Jū
Krāsu noteikšanas krāsu iekārta: 4 soļi
Krāsu noteikšanas krāsu iekārta: Krāsu noteikšanas krāsu iekārta kopē krāsas ap jums un ļauj zīmēt ar tām. Ja jums ir primāro krāsu krāsa, varat izmantot RGB krāsu sensoru, lai saprastu vēlamo krāsu un to sajauktu. Bet atcerieties, izmantojiet spilgtas krāsas objektu
Orientēšanās izpēte ar Raspberry Pi un MXC6226XU, izmantojot Python: 6 soļi
Orientēšanās izpēte ar Raspberry Pi un MXC6226XU, izmantojot Python: trokšņi ir tikai daļa no transportlīdzekļa darba. Ļoti noregulēta transportlīdzekļa motora dārdoņa ir lieliska skaņa. Riepu protektori murrā pret ceļu, vējš kliedz, apejot spoguļus, plastmasas gabaliņus un gabalus instrumentu panelī
Rezonanses struktūras efektu izpēte ar papīra šūnveida šūnām: 6 soļi
Rezonanses struktūras efektu izpēte ar papīra šūnveida šūnām: Es domāju, ka tiem, kam patīk ļauties alternatīvās enerģijas tēmām, varētu patikt to izmēģināt. Tā pamatā ir Viktora Grebennkova atklājums. Stāstu var atrast daudzās vietās, taču šo es atradu vietnē keelynet http://www.keelynet.com/gr