04 Jarduera | Actividad 1

Pin 11an konektatuta dagoen argi LED baten argitasuna kontrolatzean datza erreguladore (potentziometroa) erabiliz, A0-n konektatuta dagoena, pizte/itzaltze graduala zinema gela baten barruko egoera simulatzeko.

Erreguladorea erresistentzia handiagoa eskainiz, LED argia intentsitate baxuagoarekin argituko du.

Alabaina, erresistentzia txikiagoa izanik, LED argiak gehiago argituko du.
Se trata de controlar el grado de luz de un diodo LED en el pin 11 mediante un regulador (potenciómetro) en A0 para simular el encendido o apagado gradual de la sala de cine.

Cuando la resistencia que ofrezca el regulador aumente, el LED se iluminará con menor intensidad.

En cambio cuando la resistencia sea menor, el LED brillará más.






/*

-------------------------------------------------------------

Argi Intentsitatearen Kontrola

-------------------------------------------------------------

Programa hau LED baten argi intentsitatea kontrolatzen du potentziometro bat erabiliz.

Gure helburua  diodoan potentziometroa balio txikietarako 0 mA lortzea eta balio haundietarako 30 mA lortzea da, hau da, potentziometroaren balioa haunditzean argi intentsitatea haunditzea.

*/

 

//Aldagaiak eta konstateak

const int LED_ROJO = 11;       //LED_ROJO-ren balioa 11 da

int potenciometro;                     // Zenbaki osoak gordetzen dituen aldagaia da

float PWM_ROJO;                   // Zenbaki errealak gordetzen dituen aldagaia da

 

//Funtzio nagusia

void setup() // Lehenengo aldiz exekutatuko duen atala

{

pinMode(LED_ROJO,OUTPUT); // Pin 11 konfiguratzeko irteera bezala

}

 

// Funtzio errepikakorra

void loop()

{

//  Potentziometroan irakurriko du tentsioa (0V eta 5V artean) eta 1024 (0-tik 1023-era)

// balioetan zatituko eta gordeko ditu.

potenciometro =analogRead(A0);

 

// PWM irteera 0 eta 255 balioen artean zatitu nahi ditugu (irteerak balio hauek soilik jasaten ditu) eta PWM_ROJO-n gordeko du.


       PWM_ROJO = potenciometro * 0.22;

 

// Orain, LED_ROJO irteerari (11), PWM_ROJO balioa eramango dugu. Balio hau

// zenbaki oso batera pasatzeko, balioa gordetzen duen aldagaiaren aurretik (int) jarriko

// dugu.

 

analogWrite(LED_ROJO,(int)PWM_ROJO);

}

/*

-------------------------------------------------------------

INTENSIDAD DE LUZ CONTROLADA

-------------------------------------------------------------

 

Programa con el cuál controlar la intensidad de la luz que emite un diodo LED mediante la utilzación de un potenciómetro. Se busca que en el diodo pasen 0mA con el potenciómetro al mínimo (el LED estará completamente apagado) y aproximadamente 30 mA con el potenciómetro al máximo (el LED emite el máximo de luz que es capaz).

 

*/

 

//declarar constantes y variables const int LED_ROJO = 11;

 

//A partir de ahora el valor de LED_ROJO es 11

int potenciometro;//Variable que guarda números enteros float PWM_ROJO;//Variable que guarda números con decimales

 

//Función principal

void setup() //Se ejecuta cada vez que Arduino se inicia

{

//Configurar el pin 11, al que hemos llamado LED_ROJO, en modo salida

pinMode(LED_ROJO,OUTPUT);

}

 

//Función cíclica

void loop() //Función que se ejecuta de manera cíclica

{

//La señal leida por el potenciómetro, que va de 0V a 5V, va a ser

//guardada con valores entre 0 y 1023 potenciometro =analogRead(A0);

 

//La salida PWM, en la que está conectado el Led rojo, tiene que

//estar acotada con valores límite entre 0 y 255. Ésta es la razón

//de hacer esta conversión

PWM_ROJO = potenciometro * 0.22;

 

//Se escribe el valor del pin de salida 11 en formato integer (int),

//esto es, eliminamos los decimales obtenidos en la multiplicación

//anterior analogWrite(LED_ROJO,(int)PWM_ROJO);

}

Comments