ARDUINO:MIGUEL Y
MIRIAM
1.- PRÁCTICAS CON LUCES LED:
Práctica 0:Hola mundo
Práctica 0: hola mundo Práctica de iniciación para conocer la placa Arduiono
UNO, y ver cómo se puede programar fácilmente desde TinkerCAD.
No hay elementos.
// C++ code
//
void setup()
{
pinMode(LED_BUILTIN, OUTPUT); //sirve para decir el pin que se va a
usar
}
void loop()
{
digitalWrite(LED_BUILTIN, HIGH); //se enciende el led
delay(1000); // espera por 1000 milisegundos
digitalWrite(LED_BUILTIN, LOW); // se apaga el led
delay(1000); // espera por 1000 milisegundos
}
Práctica 1: hola mundo
Circuito básico para empezar a conocer cómo se trabaja con Arduino. Un LED
conectado al pin 6, y protegido con una resistencia de 220 ohmios, se enciende y se
apaga a intervalos de 1 segundo.
Se utiliza:
Resistencia de regular la corriente
led iluminar
// C++ code
//
void setup()
{
pinMode(6, OUTPUT); //salida 6 ocupada
}
void loop()
{
digitalWrite(6, HIGH); // led 6 encedido
delay(1000); // esperar 1000 millisegundos
digitalWrite(6, LOW); // led 6 apagada
delay(1000); //esperar 1000 millisegundos
}
Práctica 2: latidos del corazón.
Sobre el mismo diseño de la práctica anterior, vamos a modificar el código para que
simule los latidos del corazón. Para ello, seguiremos la siguiente secuencia: el LED
se enciende 0.1 segundos, se apaga durante 0.2 segundos; se vuelve a encender
por 0.4 segundos, y se apaga por 0.6 segundos, continuando en bucle.
Se utiliza:
Resistencia regular la corriente
led iluminar
// C++ code
//
void setup()
{
pinMode(6, OUTPUT); // salida 6 ocupada
}
void loop()
{
digitalWrite(6, HIGH); //led 6 encendido
delay(100); //esperar 100 millisecond(s)
digitalWrite(6, LOW);//led 6 apagado
delay(200); //esperar 200 millisecond(s)
digitalWrite(6, HIGH);//led 6 encendido
delay(400); // esperar 400 millisecond(s)
digitalWrite(6, LOW);//led 6 apagado
delay(600); //esperar 600 millisecond(s) }
Práctica 3: luces de policía.
En esta simulación, vamos a trabajar con dos LEDES distintos, colocados en los
pines 6 (LED rojo), y 7 (LED azul). Se han programado para que se enciendan y
apaguen de forma alterna en intervalos de 0.5 segundos, como si fueran unas luces
de policía.
Se utiliza:
2 Resistencia regular la corriente
2 led iluminar
// C++ code
//
void setup()
{
pinMode(7, OUTPUT); //salida 7 ocupada
pinMode(6, OUTPUT); //salida 6 ocupada
}
void loop()
{
digitalWrite(7, HIGH); //led 7 encendido
digitalWrite(6, LOW); //led 6 apagado
delay(500); // Wait for 500 millisecond(s)
digitalWrite(7, LOW); //led 7 apagado
digitalWrite(6, HIGH); //led 6 encendido
delay(500); //esperar 500 millisecond(s)
}
Práctica 4: semáforo.
En esta práctica vamos a trabajar con 3 LEDES para simular un semáforo. La luz
verde se enciende por espacio de 10 segundos, tras los cuales se apaga y se
enciende la luz amarilla por 2 segundos. Transcurrido este tiempo, la luz amarilla se
apaga y se enciende la roja durante 5 segundos, finalizados los cuales se reinicia el
bucle.
Se utiliza:
3 Resistencias regular la corriente
3 led iluminar
// C++ code
//
void setup()
{
pinMode(6, OUTPUT); //salida 6 ocupada
pinMode(8, OUTPUT); //salida 8 ocupada
pinMode(7, OUTPUT); //salida 7 ocupada
}
void loop()
{
digitalWrite(6, HIGH); led 6 encendido
digitalWrite(8, LOW); led 8 apagado
delay(10000); // Wait for 10000 millisecond(s)
digitalWrite(7, HIGH);led 7 encendido
digitalWrite(6, LOW);led 6 apagado
delay(2000); // Wait for 2000 millisecond(s)
digitalWrite(8, HIGH); led 8 encendido
digitalWrite(7, LOW);led 7 apagado
delay(5000); // Wait for 5000 millisecond(s)
}
Práctica 5: semáforo con peatones.
Sobre la práctica anterior, vamos a mejorar nuestro semáforo, añadiéndole otro para
los peatones. La luz verde de los peatones irá en el pin 9, y la roja en el 10. Mientras
la luz verde y amarilla del semáforo principal esté encendida, también lo estará la
roja de los peatones. Cuando la luz roja del semáforo principal se encienda, lo hará
la verde de los peatones.
Se utiliza:
5 Resistencias regular la corriente
5 led iluminar
// C++ code
//
void setup()
{
pinMode(9, OUTPUT); salida 9 ocupada
pinMode(11, OUTPUT); salida 11 ocupada
pinMode(7, OUTPUT); salida 7 ocupada
pinMode(6, OUTPUT); salida 6 ocupada
pinMode(10, OUTPUT); salida 10 ocupada
}
void loop()
{
digitalWrite(9, HIGH); led 9 encendido
digitalWrite(11, LOW);led 11 apagado
digitalWrite(7, HIGH); led 7 encendido
digitalWrite(6, LOW);led 6 apagado
delay(10000); // Wait for 10000 millisecond(s)
digitalWrite(10, HIGH);led 10 encendido
digitalWrite(9, LOW);led 9 apagado
delay(2000); // Wait for 2000 millisecond(s)
digitalWrite(11, HIGH); led 11 encendido
digitalWrite(10, LOW);led 10 apagado
digitalWrite(7, LOW);led 7 apagado
digitalWrite(6, HIGH); led 6 encendido
delay(5000); // Wait for 5000 millisecond(s)
}
2.- PRÁCTICAS CON INTERRUPTORES Y PULSADORES
Práctica 2: conmutar entre dos luces.
En esta práctica, vamos a usar el interruptor para conmutar entre dos LED, uno
amarillo y otro azul. De esta forma, entenderemos mejor el funcionamiento del
interruptor deslizante.
Se utilizan:
2 leds
2 resistencias
1 interruptor
// C++ code
//
void setup()
{
pinMode(LED_BUILTIN, OUTPUT); para enviar señales al led
}
void loop()
{
digitalWrite(LED_BUILTIN, HIGH); led encendido
delay(1000); // esperar por 1000 millisecond(s)
digitalWrite(LED_BUILTIN, LOW); led apagado
delay(1000); // esperar por1000 millisecond(s)
}
Práctica 3: luces conmutadas.
En esta práctica vamos a crear un circuito con dos interruptores deslizantes que van
a conectarse de forma conmutada, para poder encender y/o apagar el LED desde
cualquiera de los dos interruptores, de forma similar a las instalaciones que se
hacen en las viviendas.
Se utiliza:
2 interruptores
1 led
1 resistencia
// C++ code
//
void setup()
pinMode(LED_BUILTIN, OUTPUT); para enviar señales al led
void loop()
digitalWrite(LED_BUILTIN, HIGH); led encendido
delay(1000); // esperar por 1000 millisecond(s)
digitalWrite(LED_BUILTIN, LOW); led apagado
delay(1000); // esperar por 1000 millisecond(s)
}
Práctica 4: mecanismo de seguridad de maquinaria peligrosa
En esta práctica simularemos un mecanismo como los que tienen muchas máquinas
industriales peligrosas. Para asegurarse de que las manos del operario están fuera
de la máquina, de manera que cuando ésta se ponga en marcha no puedan quedar
atrapadas, muchas máquinas necesitan que se pulsen simultáneamente dos
interruptores para empezar a funcionar. En este caso, los dos interruptores deben
pulsarse para que se encienda el LED rojo, que representa a la máquina en
funcionamiento.
Se utiliza:
2 interruptores
1 led
1 resistencia
// C++ code
//
void setup()
pinMode(LED_BUILTIN, OUTPUT); para enviar señales al led
void loop()
digitalWrite(LED_BUILTIN, HIGH); led encendido
delay(1000); // esperar por 1000 millisecond(s)
digitalWrite(LED_BUILTIN, LOW); led apagado
delay(1000); // esperar por 1000 millisecond(s)
}
Práctica 5: pulsador.
Sencillo montaje en el que comprobaremos la diferencia de funcionamiento de un
ºpulsador (momentáneo, mientras se mantiene pulsado), con respecto a un
interruptor (permanente, mientras no se vuelva a actuar sobre él).
Se utiliza:
2 resistencias
2 led
1 boton
1 interruptor
// C++ code
//
void setup()
pinMode(LED_BUILTIN, OUTPUT); para enviar señales al led
void loop()
digitalWrite(LED_BUILTIN, HIGH); led encendido
delay(1000); // esperar por 1000 millisecond(s)
digitalWrite(LED_BUILTIN, LOW); led apagado
delay(1000); // esperar por 1000 millisecond(s)
}
Práctica 6: conmutar luces con un pulsador.
En esta sencilla práctica vemos cómo se puede emplear un pulsador como
conmutador momentáneo. El LED naranja está encendido, pero cuando actuamos
sobre el pulsador, se apaga y se enciende el LED verde. Para evitar corrientes
parásitas, el pulsador debe llevar una resistencia conectada a tierra,
Se utiliza:
2 leds
1 boton
3 resistencias
// C++ code
//
void setup()
pinMode(7, INPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
void loop()
if (digitalRead(7) == HIGH) { si el led 7 encendido
digitalWrite(12, HIGH); el led 12 tambien
digitalWrite(11, LOW); y el 11 apagado
} else { si no
digitalWrite(11, HIGH); led 11 encendido
digitalWrite(12, LOW); led 12 apagado
delay(10); // poco de retraso
}
3.- PRÁCTICAS CON POTENCIÓMETROS:
Práctica 1: controlar LED con potenciómetro (conexión
directa).
En esta sencilla práctica, vamos a comprobar el funcionamiento de un
potenciómetro a través de su uso para regular la luminosidad de un
LED. Entenderemos así el concepto de "resistencia variable".
se utiliza:
1 led
1 resistencia
1 potenciometro
// C++ code
//
void setup()
pinMode(LED_BUILTIN, OUTPUT); nombra el pin q se usa
void loop()
digitalWrite(LED_BUILTIN, HIGH); se enciende el led
delay(1000); // esperar por 1000 millisecond(s)
digitalWrite(LED_BUILTIN, LOW); se apaga el led
delay(1000); // esperar por 1000 millisecond(s)
Práctica 2: controlar 2 LEDES con un potenciómetro (conexión
directa).
En este diseño, tenemos dos ledes conectados cada uno a una de las patas
laterales del potenciómetro. Según movamos el potenciómetro en una dirección o en
otra, se ilumina más o menos cada uno de los ledes.
se utiliza:
2 led
2 resistencia
1 potenciometro
NO TIENE CÓDIGO
// C++ code
//
void setup()
}
void loop()
delay(10); // un poco de retraso
Práctica 3: control de LED mediante un potenciómetro y Arduino
En las prácticas anteriores, controlábamos LEDES con un potenciómetro, usando
Arduino sólo como fuente de energía. En esta práctica, programaremos Arduino
para gestionar el control del LED mediante la manipulación del potenciómetro.
Se utiliza:
1 led
1 resistencia
1 potenciometro
// C++ code
//
int brillo = 0; poner el brillo del led a 0
void setup()
{
pinMode(A0, INPUT); el pin 0 se usa
pinMode(5, OUTPUT); el pin 5 se sa
[Link](9600);
void loop()
brillo = analogRead(A0); si el potenciometro sube
analogWrite(5, (brillo / 4)); el brillo sube
[Link](brillo);
delay(10); // se le da un poco de retardo
}
Práctica 4: conmutación entre 3 LEDES con un potenciómetro
En esta práctica vamos a usar la posición del potenciómetro para ir encendiendo un
LED determinado de un grupo de 3 LEDES.
Se utiliza:
3 led
3 resistencia
1 potenciometro
// C++ code
//
int brillo = 0; poner el brillo del led a 0
void setup()
{
pinMode(A0, INPUT); el pin 0 se usa
[Link](9600);
pinMode(3, OUTPUT);el pin 3 se usa
pinMode(5, OUTPUT);el pin 5 se usa
pinMode(6, OUTPUT);el pin 6 se usa
}
void loop()
{
brillo = analogRead(A0);si el brillo es 0
[Link](brillo);
if (brillo <= 341) {
digitalWrite(3, HIGH); se enciende el pin 3 y su led
digitalWrite(5, LOW);se apaga el led 5
digitalWrite(6, LOW);se apaga el led 6
} else {
if (brillo > 341 && brillo < 683) { si el brillo es > 341 y < 683
digitalWrite(5, HIGH); se enciende el pin 3 y su led
digitalWrite(3, LOW);se apaga el led 3
digitalWrite(6, LOW);se apaga el led 6
} else {
digitalWrite(3, LOW);se apaga el led 3
digitalWrite(5, LOW);se apaga el led 5
digitalWrite(6, HIGH); se enciende el led 6
}
}
delay(10); // un poco de reardo
}