L5: RGB LEDa

RGB LED baten kolorearen eta intentsitatearen kontrola.

RGB LEDa

Zer ikasiko duzu ikasgai honetan

Ikasgai honetan honako hauek landuko ditugu:

  • Zer den RGB LED bat eta nola funtzionatzen duen.
  • Kolorearen sintesi gehigarria.
  • LEDaren kolorea eta intentsitatea kontrolatzea garapen-plakatik.

Aurretiazko baldintzak

Ikasgai hau jarraitu ahal izateko, aldez aurretik 1. ikasgaia: Nire lehen proiektua, 2. ikasgaia: LED diodoa, 3. ikasgaia: LED diodoa (2) eta 4. ikasgaia: Intentsitate aldakorreko LEDa osatu behar dituzu. Ikasgai honetan plakaren hiru irteera erabiliko ditugu osagai beraren hiru koloreak kontrolatzeko.

Azalpen teorikoa

Gehiago jakin nahi dut!

Zer da RGB LED bat?

RGB LED batek oinarrizko hiru argi konbinatuz hainbat kolore sor ditzakeen osagai bat da:

  • R, red: gorria.
  • G, green: berdea.
  • B, blue: urdina.

Kanpotik LED bakarra dirudien arren, barruan hiru LED txiki ditu: gorri bat, berde bat eta urdin bat. Horietako bakoitzari kolore-kanala esaten zaio. Kanal bakoitzaren intentsitatea kontrolatzen badugu, kolore desberdin asko sor ditzakegu.

RGB LEDaren lau hankak

Ohiko RGB LED batek 4 hanka ditu:

  • Hanka bat kanal gorrirako.
  • Hanka bat kanal berderako.
  • Hanka bat kanal urdinerako.
  • Hanka komun bat, hiru kanalek partekatzen dutena.

Hanka komunak bi modutan funtziona dezake, RGB LED motaren arabera:

  • Katodo komuna: hanka komuna GNDra konektatzen da.
  • Anodo komuna: hanka komuna tentsio positibora konektatzen da.

Ikasgai honetan katodo komuneko RGB LED batekin lan egingo dugu. Kiteko edo ikasgelako LEDa anodo komunekoa bada, muntaketa eta balioen portaera alda daitezke. Irakasleek adieraziko dute zer mota erabiltzen ari garen.

Kolorearen sintesi gehigarria

Koloretako argiak nahasten ditugunean, koloreak batu egiten dira. Horri sintesi gehigarria deitzen zaio. Sintesi gehigarrian hiru kolore primario erabiltzen dira: gorria, berdea eta urdina (RGB). Hauek dira gure RGB LEDaren barruko hiru LEDen koloreak. Argia gehitu ahala, emaitza gero eta argiagoa da, eta, hiru koloreak nahasten ditugunean, argi zuria lortzen dugu.


Kolorearen sintesi gehigarria (argia)

Ez du pinturak nahasteak bezala funtzionatzen. Pinturarekin, kolore asko nahasten baditugu, normalean kolore ilun bat lortzen dugu. Koloreak nahasteko modu horri sintesi kengarria esaten zaio, eta haren kolore primarioak ziana, magenta eta horia dira; adibidez, inprimagailuek erabiltzen dituzten koloreak.


Kolorearen sintesi kengarria (pigmentuak)

Konbinazio garrantzitsu batzuk hauek dira:

GorriaBerdeaUrdinaGutxi gorabeherako kolorea
ONOFFOFFGorria
OFFONOFFBerdea
OFFOFFONUrdina
ONONOFFHoria
ONOFFONMagenta
OFFONONZiana
ONONONZuria
OFFOFFOFFItzalita

Kanal bakoitzaren intentsitatea

Aurreko ikasgaian ikasi genuen LED batek tarteko balioak jaso ditzakeela, adibidez 20, 50 edo 80. RGB LED batean gauza bera egin dezakegu kanal bakoitzarekin.

Adibidez:

  • Gorria 100, berdea 0, urdina 0 -> gorri bizia.
  • Gorria 50, berdea 0, urdina 0 -> gorri leunagoa.
  • Gorria 100, berdea 50, urdina 0 -> laranja edo hori epela.
  • Gorria 20, berdea 20, urdina 100 -> urdina, argi zuri pixka batekin.

Kolore bakoitza errezeta bat bezala irudika dezakegu. Irina edo ura bezalako osagaiak erabili beharrean, gorri, berde eta urdin kantitateak erabiltzen ditugu.

Atal praktikoa

Material hauek behar dituzu:

  • ESP32 garapen-plaka.
  • BatSTEM hedapen-plaka.
  • USB konexio-kablea.
  • Prototipo-plaka.
  • 4 hankako RGB LEDa.
  • 100 Ohm-eko 3 erresistentzia.
  • Konexio-kableak.

Eskema elektronikoa eta konexio diagrama

Katodo komuneko RGB LED bat konektatuko dugu. Kolore-kanal bakoitza GPIO pin desberdin batera konektatuko da, bere babes-erresistentziaren bidez. RGB LEDaren hanka komuna GNDra konektatuko da.

Esleipen hau erabiliko dugu:

KanalaGPIO pina
GorriaGPIO4
BerdeaGPIO16
UrdinaGPIO17
KomunaGND


Eskema elektronikoa


Osagaien konexioa prototipo-plakan

Pausoz pauso
  1. Jarri ESP32 garapen-plaka BatSTEM hedapen-plakaren gainean.
  2. Konekta ezazu kable beltz bat hedapen-plakaren GND konektorearen eta prototipo-plakaren lerro urdinaren artean.
  3. Jarri RGB LEDa prototipo-plakan, bere hanka guztiak lerro elektriko berean gera ez daitezen.
  4. Identifikatu RGB LEDaren hanka komuna. RGB LED askotan hanka luzeena da, baina komeni da osagaiaren diagraman egiaztatzea.
  5. Konekta ezazu hanka komuna GND lerro urdinera.
  6. Konekta ezazu kanal gorria GPIO4 pinera, 100 Ohm-eko erresistentzia bat seriean erabiliz.
  7. Konekta ezazu kanal berdea GPIO16 pinera, 100 Ohm-eko erresistentzia bat seriean erabiliz.
  8. Konekta ezazu kanal urdina GPIO17 pinera, 100 Ohm-eko erresistentzia bat seriean erabiliz.
  9. Egiaztatu kanal bakoitzak bere erresistentzia duela.
  10. Konektatu garapen-plaka ordenagailura USB kablearekin.

Kodea

RGB LEDa osagai horretarako bloke espezifikoekin kontrolatuko dugu. Lehenik “izena duen LED RGBa” blokearekin definituko dugu, eta ondoren haren kolorea aldatuko dugu “jarri LED RGB” blokeekin.

Gehiago jakin nahi dut!

RGB LEDa osagai bakarra izan arren, konfigurazio-blokeak jakin behar du zer pinetara konektatuta dauden haren hiru kanalak: R, G eta B. Ondoren, izena duen gailu bakar gisa kontrolatu ahal izango dugu.

Anodo komuneko RGB LED batekin lan egiten baduzu, baliteke balioek alderantziz jokatzea: balio baxu batek gehiago piztu dezake kanala, eta balio altu batek itzali. Ikasgai honetan katodo komuneko kasua jarraituko dugu, azalpen nagusia erraza izan dadin.

Oinarrizko koloreak piztea

Eraiki eta exekutatu sekuentzia hau erakusten duen sketch bat:

  1. Gorria segundo batez.
  2. Berdea segundo batez.
  3. Urdina segundo batez.
  4. Itzalita segundo batez.
Pausoz pauso
  1. Klikatu Gailuak eta arrastatu “izena duen LED RGBa” bloke bat konfigurazioa blokera.
  2. Idatzi NireLEDRGB izen gisa.
  3. Hautatu GPIO4, R kanalerako.
  4. Hautatu GPIO16, G kanalerako.
  5. Hautatu GPIO17, B kanalerako.
  6. Arrastatu “jarri LED RGB” bloke bat begizta nagusira.
  7. Hautatu NireLEDRGB eta aukeratu gorria kolore-hautatzailean.
  8. Gehitu 1 segundo ko itxaronaldia.
  9. Gehitu beste “jarri LED RGB” bloke bat kolore berdearekin eta beste 1 segundo ko itxaronaldia.
  10. Gehitu beste “jarri LED RGB” bloke bat kolore urdinarekin eta beste 1 segundo ko itxaronaldia.
  11. Azkenik, gehitu “jarri LED RGB” bloke bat kolore beltzarekin eta 1 segundo ko itxaronaldia. Kolore beltzak hiru kanalak itzalita daudela esan nahi du.
  12. Exekutatu sketch-a eta ikusi nola aldatzen den RGB LEDaren kolorea.

Koloreak nahastea

Orain aldatu sketch-a, kolore nahasiak ere erakusteko. Kolore-hautatzailearekin edo R, G eta B balioak banaka adierazteko aukera ematen duen blokearekin egin dezakezu

Ikusi nahi dugun koloreaGorriaBerdeaUrdina
Horia1001000
Magenta1000100
Ziana0100100
Zuria100100100
Pausoz pauso
  1. Mantendu “izena duen LED RGBa” blokea konfigurazioan.
  2. Begizta nagusian, gehitu kolore horirako sekuentzia bat. R/G/B balioak dituen blokea erabiltzen baduzu, idatzi R 100, G 100, B 0.
  3. Gehitu segundo bateko itxaronaldia.
  4. Gehitu kolore magentarako sekuentzia bat: R 100, G 0, B 100.
  5. Gehitu 1 segundo ko itxaronaldia.
  6. Gehitu kolore zianerako sekuentzia bat: R 0, G 100, B 100.
  7. Gehitu 1 segundo ko itxaronaldia.
  8. Gehitu kolore zurirako sekuentzia bat: R 100, G 100, B 100.
  9. Gehitu 1 segundo ko itxaronaldia.
  10. Amaitzeko, jarri R 0, G 0, B 0, 1 segundo batez.

Dena ondo badabil, etengabe errepikatzen den kolore-sekuentzia bat ikusiko duzu.

Kolore leunak sortu

Azkenik, probatu tarteko balioak. Adibidez:

GorriaBerdeaUrdinaEspero den emaitza
100400Laranja
200100Urdin morexka
1002060Arrosa
2010020Berde leuna

Ez da beharrezkoa kolore guztiak perfektuak izatea. Kanal bakoitzaren intentsitatea aldatzeak emaitza aldatzen duela egiaztatzea da helburua.

Ariketa gehigarriak edo erronkak

  1. Sortu kolore hauek erakusten dituen sekuentzia bat: gorria, horia, berdea, ziana, urdina, magenta eta zuria.
  1. Sortu asmatutako kolore berri bat gorriaren, berdearen eta urdinaren balioak doituz. Jarri izen bat.

  2. Egin ezazu egin beharrekoa kolore gorria pixkanaka berde bihur dadin.

  1. Bi RGB LED badituzu, konektatu bigarrena beste hiru GPIO pinetara, sortu beste “izena duen LED RGBa” bloke bat eta diseinatu sekuentzia bat, non batek kolore beroak eta besteak kolore hotzak erakusteko.

Ikasitakoaren laburpena

  • Ikasi dugu RGB LED batek hiru kolore-kanal konbinatzen dituela: gorria, berdea eta urdina.
  • 4 hankako RGB LED bat konektatu dugu, kanal bakoitzeko erresistentzia bat erabiliz.
  • Ikusi dugu argia sintesi gehigarriaren bidez nahasten dela.
  • Oinarrizko koloreak eta kolore nahasiak sortu ditugu, aldi berean hainbat kanal piztuz.
  • Tarteko balioak erabili ditugu kolore bakoitzaren intentsitatea doitzeko.

Hurrengo urratsak

  • Ikasi plaka ordenagailuarekin komunikatzen serieko ataka erabiliz 6. ikasgaian.

Ariketa gehigarrien soluzioak

Erakutsi

Zazpi koloretako sekuentzia

Sekuentzia posible bat hau da:

KoloreaGorriaBerdeaUrdina
Gorria10000
Horia1001000
Berdea01000
Ziana0100100
Urdina00100
Magenta1000100
Zuria100100100

Kolore bakoitzaren ondoren segundo bateko itxaronaldia gehi dezakegu.

Gorria berde bihurtu

Gorritik berdera pixkanaka pasatzeko, taula hau erabil dezakegu:

PausoaGorriaBerdeaUrdina
110000
280200
360400
440600
520800
601000

Gehitu itxaronaldi labur bat pausoen artean, aldaketa ikusi ahal izateko.

Bi RGB LED

Bi RGB LED badituzu, muntaketa bera errepikatu dezakezu beste hiru GPIO pinekin. Adibidez:

  • Lehen RGB LEDa: GPIO4, GPIO16 eta GPIO17.
  • Bigarren RGB LEDa: erabilgarri dauden beste hiru GPIO pin.

Kontrastea sortzeko, lehen LEDak gorria, horia eta laranja erakuts ditzake; bigarrenak, berriz, urdina, ziana eta berdea.