L09 - Programacion Arduino - Parte 4
L09 - Programacion Arduino - Parte 4
Electrónica y Hardware de
Computadoras
Laboratorio 09
“Programación Arduino:
Entradas y salidas analógicas”
1
TECSUP Programación Arduino
Equipos y Materiales
Introducción:
Hasta el momento se ha trabajado con las entradas y salidas digitales, que al tomar
solo dos posibles valores, no son muy difíciles de trabajar. Sin embargo, en la
naturaleza encontramos muchos parámetros que son analógicos, por ejemplo, la
temperatura, presión, flujo, velocidad, sonido, intensidad de luz, etc, los cuales, al
tomar muchos posibles valores, se requieren elementos que nos permitan
acondicionarlos y trabajarlos como digitales.
Procedimiento
Diodo LED
1. Sabemos que el diodo LED tiene la característica de emitir luz cuando conduce, y la
cantidad de luz que emite va a depender de la corriente que circula por él. Es por
esta razón que se conecta una resistencia en serie; por lo tanto, de acuerdo al valor
de resistencia, circulará mayor o menor cantidad de corriente, y con ello, iluminará
con mayor o menor intensidad.
Pero también podemos controlar la cantidad de corriente, variando el voltaje que se
le entrega al diodo LED.
2. Un caso especial de LED, es el tricolor, el cual, tiene internamente tres led, rojo,
verde y azul (los colores primarios) y con este Led vamos a trabajar.
2
TECSUP Programación Arduino
void setup()
{
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
}
void loop()
{
digitalWrite(11, HIGH);
delay(500); //
digitalWrite(11, LOW);
delay(500); //
digitalWrite(10, HIGH);
delay(500); //
digitalWrite(10, LOW);
delay(500); //
digitalWrite(9, HIGH);
delay(500); //
digitalWrite(9, LOW);
delay(500); //
}
4. Ahora vamos a desarrollar un sketch que encienda el led rojo, pero con 6 niveles de
intensidad; de mayor a menor. El mismo circuito anterior.
3
TECSUP Programación Arduino
void setup()
{
pinMode(11, OUTPUT);
}
void loop()
{
analogWrite(11, 255);
delay(500); //
analogWrite(11, 150);
delay(500); //
analogWrite(11, 80);
delay(500); //
analogWrite(11, 20);
delay(500); //
analogWrite(11, 10);
delay(500); //
analogWrite(11, 0);
delay(500); //
}
void setup()
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
4
TECSUP Programación Arduino
void loop()
analogWrite(11, 150);
analogWrite(10, 150);
analogWrite(9, 100);
analogWrite(11, 50);
analogWrite(10, 255);
analogWrite(9, 50);
7. Luego realizar los cambios para obtener el amarillo, blanco, magenta y cian.
Motor DC
8. Así como podemos controlar intensidad de luz de un LED, también podemos
controlar la velocidad y giro de un motor DC. A continuación el circuito y programa.
5
TECSUP Programación Arduino
void setup() {
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
void loop()
analogWrite(6,255);
analogWrite(5,0);
analogWrite(6,0);
analogWrite(5,0);
delay(1000);
analogWrite(5,255);
analogWrite(6,0);
analogWrite(6,0);
analogWrite(5,0);
delay(2000);
IMPORTANTE:
Lima, 2023
TECSUP