P2: Kontrolatu RGB LEDa ordenagailutik
Etiketak:
Kategoriak:
Kontrolatu RGB LEDa ordenagailutik
Zer errepasatuko duzu proiektu honetan
Proiektu honetan aurreko hiru ikasgaietan ikasitakoa konbinatuko dugu:
- RGB LED baten kanal gorria, berdea eta urdina kontrolatzea.
- COM atakatik testua jasotzea eta bidaltzea.
- Aldagai bat erabiltzea mezu bat gordetzeko.
- Jasotako aginduaren arabera zer egin erabakitzeko baldintzen erabilera.
Aurretiazko baldintzak
Proiektu honetan ikasgai hauetan ikasitako kontzeptuak praktikan jarriko ditugu: L4: Intentsitate aldakorreko LEDa, L5: RGB LEDa, L6: Serieko ataka eta L7: Sakagailua.
Erronka
Sor ezazu RGB LEDaren kolorea ordenagailutik kontrolatzeko programa bat. COM monitorean honako agindu hauek idatzi ahal izango dituzu:
| Agindua | Zer egin behar du plakak? |
|---|---|
gorria | LEDa gorriz piztu. |
berdea | LEDa berdez piztu. |
urdina | LEDa urdinez piztu. |
LEDa itzalita hasiko da, eta aukeratutako kolorea mantenduko du baliozko beste agindu bat iritsi arte. Kolorea aldatzen den bakoitzean, plakak baieztapen bat bidaliko du, adibidez: Kolorea aldatu da: gorria.
Agindu ezezagun bat jasotzen badu, kolorea mantenduko du eta hau erantzungo du: Agindu ezezaguna. Erabili: gorria, berdea edo urdina.
Hasi aurretik
L6 ikasgaian eko-programa bat egin genuen: plakak jasotako testua itzultzen zuen. Orain, testu hori ekintza fisiko bat eragiten duen agindua izango da.
Pentsatu agindu baten ibilbidean: ordenagailuan gorria idazten duzu, plakak testua aldagai batean gordetzen du, bidalitako hitza egiaztatzen du, LEDaren kolorea aldatzen du eta COM atakatik erantzuten du.
Prestatu taula bat agindu bakoitzarekin, behar dituen R, G eta B balioekin eta baieztapen-mezuarekin. Erabaki zer gertatu behar den kaixo bezalako hitz bat idazten baduzu ere.
Pistak
Kontsultatu pista hauek behar badituzu bakarrik. Lehenengo, saiatu begiratu gabe!
Ikusi pistak
- Konfiguratu COM ataka 115200 bps-ra: COM monitoreak abiadura horretan funtzionatzen du beti.
- Mantendu L5 ikasgaiko muntaketa: GPIO4 kanal gorrirako, GPIO16 berderako eta GPIO17 urdinerako.
- Sortu Mezua izeneko aldagai bat, hasierako balioa "" izanik (testu hutsa).
- Irakurri aurretik, egiaztatu daturik dagoen. Irakurri testua behin bakarrik eta gorde Mezua aldagaian.
- Erabili Logika kategoriako = konparazio-blokea, Mezua aldagaiaren balioa
gorria,berdeaedourdinatestuaren berdina den egiaztatzeko. - Zabaldu “baldin eta” bloke bat: gehitu “bestela, baldin eta” motako bi adar eta azken “bestela” adar bat agindu ezezagunarentzat.
- Kolore bakoitzerako, jarri dagokion kanala 100 balioan eta beste biak 0 balioan.
- Idatzi aginduak letra xehez, komatxorik gabe eta hasieran edo amaieran zuriunerik jarri gabe.
- Ez duzu itxaronaldirik behar: agindu berririk ez badago, ez aldatu LEDaren kolorea.
Erronkaren soluzioa
Kontsultatu soluzioa proiektua zure kabuz egiten saiatu ondoren. Egiaztatu zure programak hiru aginduak ezagutzen dituela eta kolorea mantentzen duela baliozko agindurik jasotzen ez duenean.
Ikusi soluzioa
Materialak
- ESP32 garapen-plaka.
- BatSTEM hedapen-plaka.
- USB konexio-kablea.
- Prototipo-plaka.
- 4 hankako RGB LEDa, katodo komunekoa.
- 100 Ohm-eko 3 erresistentzia.
- Konexio-kableak.
- BatSTEM Cloud sarbidea duen ordenagailua.
Muntaketa
Erabili L5: RGB LEDa ikasgaiko muntaketa bera:
- Konekta ezazu hedapen-plakaren GND konektorea prototipo-plakaren lerro urdinera.
- Jarri RGB LEDa, hanka bakoitza lerro desberdin batean gera dadin.
- Konekta ezazu hanka komuna GNDra.
- Konekta ezazu kanal gorria GPIO4 pinera, 100 Ohm-eko erresistentzia baten bidez.
- Konekta ezazu kanal berdea GPIO16 pinera, beste 100 Ohm-eko erresistentzia baten bidez.
- Konekta ezazu kanal urdina GPIO17 pinera, beste 100 Ohm-eko erresistentzia baten bidez.
- Konekta ezazu plaka ordenagailura.
Programa
Konfigurazioa blokean:
- Konfiguratu COM ataka 115200 bps-ra.
- Sortu NireLEDRGB izena duen RGB LED bat eta esleitu GPIO4 R kanalari, GPIO16 G kanalari eta GPIO17 B kanalari.
- Sortu Mezua aldagaia, hasierako balioa "" izanik.
- Jarri LEDaren hiru kanalak 0 balioan, hasieran itzalita egon dadin.
Begizta nagusian:
- Gehitu “baldin eta” bloke bat, “datuak daude COM atakan” baldintzarekin.
- Barruan, ezarri Mezua aldagaiaren balioa “irakurri testua COM atakatik” blokearekin.
- Ondoren, gehitu beste “baldin eta” bloke bat. Erabili engranajearen ikonoa “bestela, baldin eta” motako bi adar eta “bestela” adar bat gehitzeko.
- Alderatu Mezua aldagaia
gorria,berdeaetaurdinatestuekin, hiru baldintzetan. Adar bakoitzean, aldatu LEDaren hiru kanalak eta idatzi dagokion baieztapena, lerro-jauzia bidaltzeko aukera aktibatuta. - Azken “bestela” adarrean, idatzi
Agindu ezezaguna. Erabili: gorria, berdea edo urdina. Ez aldatu LEDaren kolorea adar horretan.

| Baldintza | R | G | B | COM atakatik bidalitako erantzuna |
|---|---|---|---|---|
Mezua = gorria | 100 | 0 | 0 | Kolorea aldatu da: gorria |
Mezua = berdea | 0 | 100 | 0 | Kolorea aldatu da: berdea |
Mezua = urdina | 0 | 0 | 100 | Kolorea aldatu da: urdina |
| Beste edozein agindu | Aldaketarik gabe | Aldaketarik gabe | Aldaketarik gabe | Agindu ezezaguna. Erabili: gorria, berdea edo urdina |
= konparazioak bi balio berdinak diren egiaztatzen du; ez du aldagaiaren balioa aldatzen. “Jarri Mezua … (e)n” blokeak, berriz, balio berri bat gordetzen du. “Baldin eta / bestela, baldin eta / bestela” adarrei esker, jasotako aginduari dagokion erantzuna bakarrik exekutatzen da.
Mezuarekin egin beharreko guztia “baldin eta datuak daude COM atakan” blokearen barruan jarri behar da. Horrela, plakak behin erantzungo du agindu bakoitzeko, eta ez du monitorea etengabe mezu berarekin beteko.
Emaitza egiaztatu
- Exekutatu sketch-a eta ireki COM Mon. panela. LEDak itzalita hasi behar du.
- Idatzi
gorriaeta bidali: LEDa gorriz piztu behar da, etaKolorea aldatu da: gorriaagertu behar da. - Itxaron segundo batzuk ezer bidali gabe: kolorea mantendu behar da, eta ez da erantzun berririk agertu behar.
- Bidali
berdeaeta ondorenurdina. Egiaztatu kolorea eta baieztapena kasu bakoitzean. - Bidali
kaixo: baliozko aginduen laguntza-mezua agertu behar da, eta LEDak urdin jarraitu behar du. - Bidali
gorriaberriz, agindu ezezagun baten ondoren programak aginduak onartzen jarraitzen duela egiaztatzeko.
COM monitoreak lerro-jauzi bat gehitzen du automatikoki testua bidaltzean. Irakurketa-blokeak lerro-jauziraino irakurtzen du, eta testua itzultzen du lerro-jauzia sartu gabe. Idatzi hitza bakarrik: gorria, berdea edo urdina. Programa honetan, Gorria eta gorria agindu desberdinak dira.
Aukerako erronkak
- Gehitu
itzaliagindua, hiru kanalak 0 balioan jartzeko. - Gehitu
horia,zianaetamagentaaginduak, bi kanal nahastuz, L5 ikasgaian bezala. - Gehitu
gorri leunaagindua, R 20 balioan, G 0 balioan eta B 0 balioan jartzeko. Alderatu haren intentsitateagorriaaginduarekin lortzen denarekin. - Gehitu
laguntzaagindua, erabil daitezkeen aginduak erakusteko kolorea aldatu gabe. - Zabaldu baieztapen-mezuak, erabilitako R, G eta B balioak ere adierazteko.
Gogoratu baliozko aginduen mezua eguneratu behar duzula agindu berriak gehitzen dituzunean.
Proiektuaren laburpena
- Ordenagailutik aginduak bidali ditugu osagai fisiko bat kontrolatzeko.
- Jasotako testua aldagai batean gorde dugu, eta hainbat hitzekin alderatu dugu.
- Baldintzak erabili ditugu RGB LED baten kolorea hautatzeko.
- Ekintzak baieztatu ditugu eta COM monitorearen bidez agindu ezezagunei erantzun diegu.
- LEDaren egoera mantendu dugu baliozko agindu berri bat jaso arte.