L5: RGB LEDa
Kategoriak:
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.
Kanal bat behar denean pizten ez bada, ez du esan nahi programa gaizki dagoenik. RGB LED batean oso garrantzitsua da ondo identifikatzea zein den hanka komuna eta zein dagokion kolore bakoitzari.
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:
| Gorria | Berdea | Urdina | Gutxi gorabeherako kolorea |
|---|---|---|---|
| ON | OFF | OFF | Gorria |
| OFF | ON | OFF | Berdea |
| OFF | OFF | ON | Urdina |
| ON | ON | OFF | Horia |
| ON | OFF | ON | Magenta |
| OFF | ON | ON | Ziana |
| ON | ON | ON | Zuria |
| OFF | OFF | OFF | Itzalita |
Praktikan, azken kolorea RGB LEDaren, kanal bakoitzaren intentsitatearen eta gelako argiaren araberakoa da. Ez da ezer gertatzen kolorea taulakoaren berdin-berdina ikusten ez bada. Garrantzitsuena kanalak konbinatzean nola aldatzen den behatzea da.
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:
| Kanala | GPIO pina |
|---|---|
| Gorria | GPIO4 |
| Berdea | GPIO16 |
| Urdina | GPIO17 |
| Komuna | GND |

Eskema elektronikoa

Osagaien konexioa prototipo-plakan
Pausoz pauso
- Jarri ESP32 garapen-plaka BatSTEM hedapen-plakaren gainean.
- Konekta ezazu kable beltz bat hedapen-plakaren GND konektorearen eta prototipo-plakaren lerro urdinaren artean.
- Jarri RGB LEDa prototipo-plakan, bere hanka guztiak lerro elektriko berean gera ez daitezen.
- Identifikatu RGB LEDaren hanka komuna. RGB LED askotan hanka luzeena da, baina komeni da osagaiaren diagraman egiaztatzea.
- Konekta ezazu hanka komuna GND lerro urdinera.
- Konekta ezazu kanal gorria GPIO4 pinera, 100 Ohm-eko erresistentzia bat seriean erabiliz.
- Konekta ezazu kanal berdea GPIO16 pinera, 100 Ohm-eko erresistentzia bat seriean erabiliz.
- Konekta ezazu kanal urdina GPIO17 pinera, 100 Ohm-eko erresistentzia bat seriean erabiliz.
- Egiaztatu kanal bakoitzak bere erresistentzia duela.
- Konektatu garapen-plaka ordenagailura USB kablearekin.
Ez konektatu kanal gorria, berdea eta urdina zuzenean erresistentziarik gabe plakara. RGB LEDaren kanal bakoitzak LED independente baten moduan jokatzen du eta bere babes-erresistentzia behar du.
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:

- Gorria segundo batez.
- Berdea segundo batez.
- Urdina segundo batez.
- Itzalita segundo batez.
Pausoz pauso
- Klikatu Gailuak eta arrastatu “izena duen LED RGBa” bloke bat konfigurazioa blokera.
- Idatzi NireLEDRGB izen gisa.
- Hautatu GPIO4, R kanalerako.
- Hautatu GPIO16, G kanalerako.
- Hautatu GPIO17, B kanalerako.
- Arrastatu “jarri LED RGB” bloke bat begizta nagusira.
- Hautatu NireLEDRGB eta aukeratu gorria kolore-hautatzailean.
- Gehitu 1 segundo ko itxaronaldia.
- Gehitu beste “jarri LED RGB” bloke bat kolore berdearekin eta beste 1 segundo ko itxaronaldia.
- Gehitu beste “jarri LED RGB” bloke bat kolore urdinarekin eta beste 1 segundo ko itxaronaldia.
- Azkenik, gehitu “jarri LED RGB” bloke bat kolore beltzarekin eta 1 segundo ko itxaronaldia. Kolore beltzak hiru kanalak itzalita daudela esan nahi du.
- Exekutatu sketch-a eta ikusi nola aldatzen den RGB LEDaren kolorea.
Kolore-hautatzailea da hasteko modurik errazena. Barruan, blokeak kolore hori kanal gorri, berde eta urdinerako balio bihurtzen du.
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 kolorea | Gorria | Berdea | Urdina |
|---|---|---|---|
| Horia | 100 | 100 | 0 |
| Magenta | 100 | 0 | 100 |
| Ziana | 0 | 100 | 100 |
| Zuria | 100 | 100 | 100 |
Pausoz pauso
- Mantendu “izena duen LED RGBa” blokea konfigurazioan.
- Begizta nagusian, gehitu kolore horirako sekuentzia bat. R/G/B balioak dituen blokea erabiltzen baduzu, idatzi R 100, G 100, B 0.
- Gehitu segundo bateko itxaronaldia.
- Gehitu kolore magentarako sekuentzia bat: R 100, G 0, B 100.
- Gehitu 1 segundo ko itxaronaldia.
- Gehitu kolore zianerako sekuentzia bat: R 0, G 100, B 100.
- Gehitu 1 segundo ko itxaronaldia.
- Gehitu kolore zurirako sekuentzia bat: R 100, G 100, B 100.
- Gehitu 1 segundo ko itxaronaldia.
- 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:
| Gorria | Berdea | Urdina | Espero den emaitza |
|---|---|---|---|
| 100 | 40 | 0 | Laranja |
| 20 | 0 | 100 | Urdin morexka |
| 100 | 20 | 60 | Arrosa |
| 20 | 100 | 20 | Berde leuna |
Ez da beharrezkoa kolore guztiak perfektuak izatea. Kanal bakoitzaren intentsitatea aldatzeak emaitza aldatzen duela egiaztatzea da helburua.
Ariketa gehigarriak edo erronkak
- Sortu kolore hauek erakusten dituen sekuentzia bat: gorria, horia, berdea, ziana, urdina, magenta eta zuria.
Azalpen teorikoaren nahasketa-taula erabil dezakezu laguntza gisa.
Sortu asmatutako kolore berri bat gorriaren, berdearen eta urdinaren balioak doituz. Jarri izen bat.
Egin ezazu egin beharrekoa kolore gorria pixkanaka berde bihur dadin.
Hori egiteko modu erraz bat gorria pausoz pauso jaistea da, berdea igotzen duzun bitartean: gorria 100/berdea 0, gorria 80/berdea 20, gorria 60/berdea 40…
- 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:
| Kolorea | Gorria | Berdea | Urdina |
|---|---|---|---|
| Gorria | 100 | 0 | 0 |
| Horia | 100 | 100 | 0 |
| Berdea | 0 | 100 | 0 |
| Ziana | 0 | 100 | 100 |
| Urdina | 0 | 0 | 100 |
| Magenta | 100 | 0 | 100 |
| Zuria | 100 | 100 | 100 |
Kolore bakoitzaren ondoren segundo bateko itxaronaldia gehi dezakegu.
Gorria berde bihurtu
Gorritik berdera pixkanaka pasatzeko, taula hau erabil dezakegu:
| Pausoa | Gorria | Berdea | Urdina |
|---|---|---|---|
| 1 | 100 | 0 | 0 |
| 2 | 80 | 20 | 0 |
| 3 | 60 | 40 | 0 |
| 4 | 40 | 60 | 0 |
| 5 | 20 | 80 | 0 |
| 6 | 0 | 100 | 0 |
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.