- Portada
- Fundamentos de Arduino
- Alimentación de circuitos y dispositivos
- Electrónica básica
-
Fundamentos de programación Arduino
-
Introducción a la Programación de Arduino
-
Configuración y descripción de mBlock
-
Configuración del IDE Arduino
-
Descripción del IDE Arduino
-
Estructura de un programa
-
Tipos de datos
-
Operadores
-
Sintaxis
-
Principales funciones Arduino
-
Principales funciones en Bloques
-
Actividad 2
-
Actividad 3
-
Actividad 4
-
Actividad 5
-
Estructuras de control
-
Actividad 6
-
Actividad 7
-
Actividad 8
-
Actividad 9
-
Comunicación Serie
-
Monitor Serial
-
Actividad 10
-
Recibir por Serie
-
Actividad 11
-
Arrays
-
Actividad 12
-
Extensiones de mBlock
-
Librerías en Arduino IDE
-
Cuestionario Fundamentos de programación Arduino10 xp
-
-
Componentes de uso típico
-
El Potenciómetro
-
Actividad 13
-
El Zumbador
-
Actividad 14
-
Actividad 15
-
La Fotoresistencia
-
Actividad 16
-
El Transistor
-
Motores DC
-
Actividad 17
-
Puente en H
-
Actividad 18
-
Sensor de Temperatura Analógico
-
Actividad 19
-
Sensor de Temperatura Digital
-
Actividad 20
-
El Servomotor
-
Actividad 21
-
Sensor de proximidad por ultrasonidos
-
Actividad 22
-
Displays 7 Segmentos
-
Actividad 23
-
Actividad 24
-
Pantallas LCD
-
Actividad 25
-
Relés
-
Actividad 26
-
Cuestionario Componentes de uso típico10 xp
-
- Proyecto final
- Cuestionario Final
Actividad 16
Actividad 16

Vamos a emplear un LDR para controlar la intensidad de un LED en función del nivel de luz que llegue a la fotorresistencia. Programaremos el Arduino para leer un valor analógico, que dependerá del valor del LDR, y mediante una PWM modificaremos el brillo del LED conectado.
Recuerda que necesitarás utilizar la función map().
El esquema planteado se puede ver a continuación:

Solución en C/C++
void setup() {
void loop() {
const int LED = 9; // Se define el pin del led
const int LDR = 0; // Se define el pin del potenciometro
int val_led; // Se crea variable para potencia del led
void setup() {
Serial.begin(9600); // Inicializar bus serial
pinMode(LED, OUTPUT); // configurar pin del led
}
void loop() {
// Leemos e imprimimos el valor del LDR por bus serial
Serial.print("\nValor del LDR: \t");
Serial.println(analogRead(LDR));
// Hacemos un cambio de escala del valor leido que tiene 10 bits al
// valor que se va a escribir, que es de 8 bits
// Además, para que ilumine más cuanto más oscuro se mida,
// debemos partir del máximo valor del LED e ir restando
// la lectura del LDR
val_led = 255 - map(analogRead(LDR), 0, 1023, 0, 255);
// Imprimimos el valor aplicado al led
Serial.print("\nValor aplicado al LED: \t");
Serial.print(val_led);
// Se enciende el led con una PWM de un valor inverso
analogWrite(LED, val_led);
}
| Vistas | |
|---|---|
| 12 | Número de vistas |
| 12 | Vistas de miembros |
| 0 | Vistas públicas |
| Acciones | |
|---|---|
| 0 | Gustos |
| 0 | No me gusta |
| 0 | Comentarios |
Compartir por correo
Por favor iniciar sesión para compartir esto webpage por correo.
