|   FOROS      |         |     KIO4 |      
   Inicio B4A (Basic4Android) App inventor 2 WAMP - PHP - MySQL
   Elastix - VoIP Cosas de Windows Webs interesantes Arduino
  Estación meteorológica Visual Basic Script (VBS) Translate:
Búsqueda en este sitio:


Nuevo concurso para España, Argentina, Brasil, Chile, Colombia, Ecuador, México, Perú y Portugal.

Arduino en español
Circuitos con Arduino - Juan Antonio Villalpando

-- Tutorial de iniciación a Arduino --

Volver al índice del tutorial

____________________________

7.- LDR (Resistencia Dependiente de la Luz)

Una LDR cambia su valor óhmico según la luz recibida.

Toma una LDR y un polímetro, lo pones en la parte de óhmetro. Mide la resistencia de la LDR con luz y sin luz.

Este proyecto es parecido al anterior del potenciómetro. Conectamos una LDR con una resistencia de 10 K. El divisor de tensión lo llevamos al terminal A2 del Arduino.

Según la luz recibida cambia el valor óhmico de la LDR. Según este valor se obtiene un nivel distinto de tensión en el terminal A2 del Arduino.

En mi caso el valor obtenido estaba entre 60 y 500.

Mapeamos esos valores entre 0 y 255 para que coincida con los extremos del Duty Cycle.

En el terminal 9 obtendremos un PWM que aplicamos el LED9.

____________________________________
- Regulación de la lumininosidad de un LED. Dimmer.

Disponemos de una LDR y un LED conectado a la ~9. Al cambiar el valor de la LDR cambiará la luminosidad del LED.

Recordamos que en la entrada ANALÓGICA se pueden obtener 1024 niveles distintos.

Al PWM le aplicamos 255 niveles distintos de Duty Cycle.

Código
/*
  Juan A. Villalpando
  kio4.com
*/
 
// Al llegar más o menos luz a la LDR esta tiene más o menos resistencia.
// La resistencia de la LDR cambia el nivel de tensión en la A2
// Mapeamos el nivel de tensión obtenida entre 0 y 100 para obtener un abanico de DutyCycle
// Le aplicamos al LED9 una PWM con el Duty Cycle correspondiente.

#define LED9 9 // LED 9
int P2 = A2; // ANALOG IN: A2, va a la LDR. int entrada; int DutyCycle; void setup() { // Los terminales ANALOG IN no hay que configurarlos porque siempre son de entrada. pinMode(LED9, OUTPUT); Serial.begin(9600); } void loop() { entrada = analogRead(P2); // DutyCycle = map(entrada, 60, 500, 0, 255); // Cambiamos los valores a 255. analogWrite(LED9, DutyCycle); // Enviamos a LED9 un Duty Cycle del 0 al 100. Serial.print("Entrada: "); Serial.print(entrada); Serial.print(" Duty Cycle: "); Serial.print(DutyCycle); Serial.println(); delay(1000); }

- En mi caso cuando la LDR estaba tapada me marcaba una Entrada de 60 y cuando la iluminaba me marcaba 500.

- Mapeo esos valores para que 60 sea 0% de Duty Cycle y 500 sea 100% de Duty Cycle.

- En tu caso debes consultar cuanto marca la Entrada con la LDR tapada y con mucha luz y poner esos valores en el map

DutyCycle = map(entrada, 60, 500, 0, 255); // Cambiamos los valores.

- Nota: un Duty Cycle varía entre el 0% y el 100%, esto se consigue escribiendo en la salida LED9, un valor entre 0 y 255.

_________________

- Propuesta.

- Permuta la LDR con la resistencia de 10k.

____________________________________
- Resumen de entradas y salidas digitales y analógicas.

En ANALÓGICO (A0, A1, A2, A3, A4, A5)

IMPORTANTE: analogRead(P2); para leer el terminal 2 analógico. Importante que lo recuerdes.

En DIGITAL (2.... 13)

IMPORTANTE: digitalWrite(pin13, HIGH); para escribir en el terminal 13 digital. Importante que lo recuerdes.

IMPORTANTE: digitalRead(pin2); para leer el terminal 2 digital. Importante que lo recuerdes.

En DIGITAL (3, 5, 6, 9, 10, 11)

IMPORTANTE: analogWrite(LED9, DutyCycle); para escribir en el terminal 9 un cierto Duty Cycle.

________________________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información