L3: LED diodoa (2)

Kanpoko LED baten kontrola garapen-plakatik.

LED diodoa (2)

Zer ikasiko duzu ikasgai honetan

Ikasgai honetan honako hauek landuko ditugu:

  • Kanpoko LED bat garapen-plakatik kontrolatzea.
  • GPIO terminalak. Zer diren eta zertarako erabili ditzakegun.

Aurretiazko baldintzak

Ikasgai hau jarraitu ahal izateko, aldez aurretik 1. Ikasgaia: Nire lehen proiektua eta 2. Ikasgaia: LED diodoa, osatu behar dituzu, bietan ikasitakoa konbinatuko baitugu gure garapen-plakari konektatutako kanpoko LED bat kontrolatzen ikasteko.

Azalpen teorikoa

Gehiago jakin nahi dut!

Aurreko ikasgaietan ikusi dugu gure garapen-plakak ESP32 txip bat duela, eta txip bakar batean (SoC) ordenagailu txiki oso bat bezala har dezakegu. Ordenagailu txiki honekin egin dezakegun gauzarik interesgarrienetako bat kanpoko elementuak eta gailuak konektatzea eta gure programetatik haiekin elkarreragitea da.

Hainbat aukera ditugu gailuak gure garapen-plakara konektatzeko, eta ikasgai honetan errazena ezagutuko dugu: GPIO pineak.

Zer da GPIO pin bat?

GPIO pina (general purpose input/output edo sarrera/irteera orokorra) txip baten pin edo kontaktu bat da, eta haren portaera eta funtzioa gure programatik konfigura eta kontrola daitezke. Konfiguratu beharreko parametroen artean, aipagarrienak hauek dira:

  • Norabidea: Pin hori sarrera (kanpoko gailuaren informazioa lortzeko) edo irteera (informazioa bidaltzeko edo kanpoko gailua kontrolatzeko) gisa erabiliko zehazten du. Adibidez, kanpoko LED bat irteera gisa konfiguratutako pin batera konektatu behar da, eta botoi edo etengailu bat sarrera gisa konfiguratutako batera.
  • Irteera en kasuan, ematen duten datu mota: digitala (1 edo 0), analogikoa (V+ eta GND arteko tentsio-balioa) edo PWM (pultsu-sekuentzia bat, zabaleraren eta maiztasunaren arabera konfiguragarria).
  • Sarreren kasuan, datu mota: digitala edo analogikoa.
  • Sarrera digital en kasuan, balioa kudeatzeko modua, pina V+ edo GNDra konektatu gabe dagoenean (pull-up edo pull-down, barnekoa edo kanpokoa).

BatSTEM Cloud garapen-inguruneak behe mailako blokeak ditu parametro guzti horiek konfiguratu eta kontrolatzeko, baina goi mailako beste bloke batzuk ere baditu, LEDak, botoiak eta beste gailu batzuk eskuz hautatu behar izan gabe kontrolatzeko aukera ematen dutenak. Ikasgai honetan biak erabiltzen ikasiko dugu.

Gure garapen-plakak 34 GPIO pin ditu guztira, baina guztiak ezin dira konfiguratu deskribatutako parametroen edozein konbinaziotatik.

Atal praktikoa

Material hauek behar dituzu:

  • ESP32 garapen-plaka.
  • USB konexio-kablea.
  • Prototipo-plaka.
  • LED gorria.
  • 100 Ohm-eko erresistentzia.
  • Konexio-kableak.

Eskema elektronikoa

Konexio diagrama


Osagaien konexioa prototipo-plakan

Pausoz pauso
  1. Konekta ezazu kable beltz bat garapen-plakaren GND konektorearen eta prototipo-plakaren lerro urdinen artean. Lerro urdina gure 0 volteko, erreferentzia edo GND lerroa izango da.
  2. Konekta ezazu kable gorri bat garapen-plakaren D4 konektorearen (GPIO4 pina) eta prototipo-plakaren erdiko blokeetako edozein kontakturen artean.
  3. Konekta ezazu 100 Ohm-eko erresistentzia, bere terminaletako bat jarri berri duzun kable gorriaren lerro berean egon dadin, eta bestea, lerro desberdin batean egon dadin. Horrela, kable gorria eta erresistentziaren lehen terminala elektrikoki konektatuta egongo dira.
  4. Konekta ezazu LED-aren anodoa erresistentziaren bigarren terminalaren lerro berean, eta katodoa beste lerro batean.
  5. Konekta ezazu kable beltz bat LEDaren katodoa konektatu duzun lerroko edozein zuloren eta GNDren lerro urdinaren artean.
  6. Dena prest duzunean, konekta ezazu garapen-plaka ordenagailura USB kablearekin. Zirkuitua prest dugu programazio atala hasteko.

Kodea

Bi sketch garatuko ditugu, kanpoko LEDa segundo erdiko tarteetan dirdiratzeko. Horretarako, erabilgarri dauden bi bloke motak erabiliko ditugu.

Gehiago jakin nahi dut!

Azalpen teorikoan esan dugun bezala, bi bloke mota ditugu GPIO pinetara konektatutako gailuak kontrolatzeko:

  1. Goi mailako blokeak, LEDak edo etengailuak bezalako gailuak irudikatzen dituztenak.
  2. Behe mailako blokeak, GPIO pina zuzenean konfiguratu eta kontrolatzeko aukera ematen digutenak. Bloke horien bidez, edozein gailu mota kontrolatu ahal izango dugu, nahiz eta gailu horretarako bloke espezifikorik ez izan.

Kanpoko LEDa piztu eta itzali. Goi-mailako blokeak.

  1. Ikasgaian ikasi zenuen mekanikari jarraituz, eraiki eta exekutatu honako sketch hau:

Pausoz pauso
  1. Klikatu Gailuak eta arrastatu “NireLED izena duen LEDa” bloke bat lan-eremuko konfigurazioa blokera.
  2. Jarri izen berri bat LEDari . Adibidez, “Kanpoko_LEDa”.
  3. Hautatu LEDa konektatuta dagoen GPIO pina. Konexio-diagrama jarraitu baduzu, pin hau GPIO4 da.
  4. Klikatu berriro Gailuak eta arrastatu “jarri LED” bloke bat begizta nagusiari. Ziurtatu blokean agertzen den izena bat datorrela lehen zehaztu duzunarekin.
  5. Jarri LEDa 100 balioan (%100 piztuta).
  6. Klikatu Denbora eta arrastatu itxaron-bloke bat aurrekoaren azpian. Zehaztu 500 milisegundo.
  7. Orain, aurrekoen antzeko beste bi bloke gehitu behar dituzu. Diferentzia bakarra LEDari jarriko diogun balioa da; kasu honetan, 0 izango da (itzalita).
  1. Gure programa amaituta dagoenean, sakatu tresna-barrako Exekutatu botoia, eta itxaron sketch-a konpilatu eta garapen-plakara transferitu arte. Dena ondo joan bada, ikusiko duzu nola pizten eta itzaltzen den kanpoko LEDa segundo erdiko tarteetan.

Kanpoko LEDa piztu eta itzali. Behe-mailako blokeak.

Eraiki eta exekutatu hurrengo sketch-a:

Pausoz pauso
  1. Klikatu Gailuak eta arrastatu “konfiguratu pin” blokea lan-eremuko konfigurazio blokera.
  2. Zehaztu 4. pin zenbakia eta jarri irteera gisa. Gogoan izan LEDa GPIO 4 pinera konektatu dugula, eta kanpoko gailu bati eragiteko, pina irteera gisa konfiguratu behar dela.
  3. Klikatu berriro Gailuak eta arrastatu “jarri pin” bloke bat begizta nagusiari. Ziurtatu 4 zenbakia eta ON (Piztu) zehazten dituzula.
  4. Klikatu Denbora eta arrastatu itxaron-bloke bat aurrekoaren azpian. Zehaztu 500 milisegundo.
  5. Gehitu bi bloke berri, aurrekoen berdinak, baina zehaztu OFF (Itzali) pinaren balioan.
  6. Gure programa amaituta dagoenean, sakatu tresna-barrako Exekutatu botoia, eta itxaron sketch-a konpilatu eta garapen-plakara transferitu arte. Dena ondo joan bada, ikusiko duzu nola pizten eta itzaltzen den kanpoko LEDa segundo erdiko tarteetan.

Ariketa gehigarriak edo erronkak

  1. Ikasgai honetan eta 1.ean ikasitakoa konbinatuz, garapen-plakaren barneko LEDa eta kanpoko LEDa aldi berean dirdir egin dezaten sketch bat garatu.
  2. Alda ezazu aurreko sketch-a, LEDak kontra-fase dirdiratzeko. Hau da, bat pizten denean bestea itzali egiten da, eta alderantziz.
  3. Alda ezazu sketch-a, bi LEDek hurrengo sekuentzia jarrai diezaioten, aldaketa bakoitzaren arteko segundo erdiko aldearekin:
    • Piztu urdina.
    • Piztu gorria.
    • Itzali urdina.
    • Itzali gorria.

Ikasitakoaren laburpena

  • Gure garapen-plakaren bidez kanpoko LED bat kontrolatzen ikasi dugu.
  • Ikusi dugu zer diren GPIO atakak eta zertarako erabil daitezkeen.
  • BatSTEM Cloud ingurunean eskuragarri dauden bi bloke mota erabili ditugu kanpoko gailuak kontrolatzeko: Goi mailako blokeak eta behe mailako blokeak.

Hurrengo urratsak

  • Ikasi LEDaren argi intentsitatea kontrolatzen 4. ikasgaian

Ariketa gehigarrien soluzioak

Erakutsi

Barneko eta kanpoko LEDak aldi berean dir-dir egitea


Dir-dir aldi berean

Barneko eta kanpoko LEDen dir-dira kontra-fasean


Dir-dir kontra-fasean

Barneko eta kanpoko LEDen dir-dir sekuentzia


Dir-dir, proposatutako sekuentziari jarraituz