PRÁCTICA Nº: 1
ENUNCIADO: Encender y apagar un LED
MONTAJE SOBRE PLACA ARDUINO
DIAGRAMA DE BLOQUES
CÓDIGO DE ARDUINO
/*** Included libraries ***/
/*** Global variables and function definition ***/
int LED=13
void setup() {
pinMode(LED, OUTPUT);
/*** Loop ***/
void loop() {
digitalWrite(LED, HIGH);
delay(1000);
digitalWrite(LED, LOW);
delay(1000);
}
PRÁCTICA Nº: 2
ENUNCIADO: Encender dos LED que lucen alternativamente
MONTAJE SOBRE PLACA ARDUINO
DIAGRAMA DE BLOQUES
/*** Included libraries ***/
/*** Global variables and function definition ***/
int LED1=7
int LED2=8
/*** Setup ***/
void setup() {
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
/*** Loop ***/
void loop() {
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
delay(1000);
digitalWrite(LED1, LOW);
digitalWrite(LED2, HIGH);
delay(1000);
}
PRÁCTICA Nº:3
ENUNCIADO: Apagar y encender 10 veces un LED
MONTAJE SOBRE PLACA ARDUINO
DIAGRAMA DE BLOQUES
CÓDIGO DE ARDUINO:
// Definimos el pin del LED
const int ledPin = 13;
void setup() {
// Configuramos el pin como salida
pinMode(ledPin, OUTPUT);
// Bucle que se repite exactamente 10 veces
for (int i = 0; i < 10; i++) {
digitalWrite(ledPin, HIGH); // Enciende el LED
delay(500); // Espera medio segundo
digitalWrite(ledPin, LOW); // Apaga el LED
delay(500); // Espera medio segundo
void loop() {
// El loop se queda vacío para que no vuelva a empezar
PRÁCTICA Nº:4
ENUNCIADO: Encender un LED cuando se pulsa un botón
MONTAJE SOBRE PLACA ARDUINO
ES MÁS RECOMENDABLE UTILIZAR UNA DE LAS CONEXIONES PULL DE LAS FIGURAS INFERIORES,
PARA EVITAR FUNCIONAMIENTOS INDESEADOS, ORIGINADAS POR SEÑALES DE ERROR.
En un pull up, la tensión se fuerza a HIGH cuando no hay señal, mientras que en un
pulldown se fuerza a LOW en reposo, y en ambos casos el objetivo es evitar el contacto
flotante, es decir que esta en tierra de nadie, porque no esta conectado ni a HIGH ni a LOW
hasta que no se activa
Es decir, pull up es normalmente cerrado y pulldown es normalmente abierto.
DIAGRAMA DE BLOQUES
CÓDIGO DE ARDUINO
const int pinBoton = 2; // Pin donde conectamos el botón
const int pinLED = 13; // Pin del LED (usaremos el integrado)
int estadoBoton = 0; // Variable para leer el estado del pulsador
void setup() {
pinMode(pinLED, OUTPUT); // El LED es una salida
pinMode(pinBoton, INPUT); // El botón es una entrada
void loop() {
// Leemos si el botón está pulsado (HIGH) o no (LOW)
estadoBoton = digitalRead(pinBoton);
// Si el botón está presionado, encendemos el LED
if (estadoBoton == HIGH) {
digitalWrite(pinLED, HIGH);
} else {
// Si no está presionado, lo apagamos
digitalWrite(pinLED, LOW);
PRÁCTICA Nº:5
ENUNCIADO: Hacer sonar un zumbador con un botón
MONTAJE SOBRE PLACA ARDUINO
Para el botón hacer conexión PullUp o PullDown (divisor de tensión entre 5v y GND). Tomar
la señal al Pin en el punto medio del divisor. El zumbador blanco del taller suena bien. Los
zumbadores tienen polos. Conectarlos bien.
DIAGRAMA DE BLOQUES
CÓDIGO DE ARDUINO
PRÁCTICA Nº:6
ENUNCIADO: Controlar un semáforo de coches y uno de peatones coordinados con
parpadeo led ámbar
MONTAJE SOBRE PLACA ARDUINO
DIAGRAMA DE BLOQUES
CÓDIGO DE ARDUINO
PRÁCTICA Nº:7
ENUNCIADO: Monitorizar variables analógicas: Leer los valores de los sensores o entradas
analógicas y que aparezcan en pantalla. Ejemplo LDR
MONTAJE SOBRE PLACA ARDUINO
Tenemos que ir al menú Comunicación o al menú Componentes de Bitbloq.
Resistencia de 4,7 K . El voltaje de salida sigue las variaciones de luz en el mismo sentido
(+,+;-,-). Si queremos que lo haga en sentido inverso permutaremos de posición o polaridad
los elementos (resistencia y LDR)
DIAGRAMA DE BLOQUES
CODIGO ARDUINO
PRÁCTICA Nº:8
ENUNCIADO: Monitorizar una LDR e indicar con un LED el nivel de luminosidad
MONTAJE SOBRE PLACA ARDUINO
OJO A LA CONEXIÓN DE LA LDR: Según sea pull-up o pull-down para ofrecer el porcentaje de
luminosidad del ambiente.
DIAGRAMA DE BLOQUES
El primer mapeado valor ajustado es para mostrar un valor de %, el mapeado de valor ajustado 1 es
para abarcar todo el rango de valores para ajustarlo al LED.
El valor porcentual (0-100) de la luz para monitorizarlo y el segundo mapeo para abarcar las 256
niveles que podemos regular. Los potenciómetros y las LDR abarcande 0 a 1023valores digitales de
entrada, mientras que por los pines de salida solo podemos sacar de 0 a 255valores.
CÓDIGO DE ARDUINO
PRÁCTICA Nº:9
ENUNCIADO:Indicar con 3 LED 3 rangos de nivel de luz
MONTAJE SOBRE PLACA ARDUINO
OJO A LA CONEXIÓN DE LA LDR: Según sea pull-up o pull-down para ofrecer el porcentaje de
luminosidad del ambiente.
DIAGRAMA DE BLOQUES
1ªForma
CÓDIGO DE ARDUINO
PRÁCTICA Nº:10
ENUNCIADO: Controlar el brillo de dos LED con un potenciómetro, variando el brillo de cada una
de forma inversa.( Max-min y Min-max; 1º LED 0-255 y 2º LED 255-0 )
MONTAJE SOBRE PLACA ARDUINO
Pin PWM: Salidas analógicas simuladas
DIAGRAMA DE BLOQUES
CÓDIGO DE ARDUINO
PRÁCTICA Nº:11
ENUNCIADO: Mover hacia un lado y otro el servomotor
MONTAJE SOBRE PLACA ARDUINO
Aquí tenemos un enlace con las posibilidades de conexión de un servomotor.
[Link]
El servo SG90 tiene un conector universal tipo “S” que encaja perfectamente en la mayoría
de los receptores de radio control incluyendo los Futaba, JR, GWS, Cirrus, Hitec y otros. Los
cables en el conector están distribuidos de la siguiente forma: Rojo =Alimentación
(+), Cafe = Alimentación (–) o tierra, Naranja= Señal PWM.
DIAGRAMA DE BLOQUES
CÓDIGO DE ARDUINO
PRÁCTICA Nº:12
ENUNCIADO: Giro de un servo en uno u otro sentido de giro o se para, según la posición
del potenciómetro.
MONTAJE SOBRE PLACA ARDUINO
Aquí tenemos un enlace con las posibilidades de conexión de un servomotor.
[Link]
El servo SG90 tiene un conector universal tipo “S” que encaja perfectamente en la mayoría
de los receptores de radio control incluyendo los Futaba, JR, GWS, Cirrus, Hitec y otros. Los
cables en el conector están distribuidos de la siguiente forma: Rojo =Alimentación
(+), Cafe = Alimentación (–) o tierra, Naranja= Señal PWM.
DIAGRAMA DE BLOQUES
CÓDIGO DE ARDUINO
PRÁCTICA Nº:13
ENUNCIADO: Control de un motor
MONTAJE SOBRE PLACA ARDUINO : DRIVE L298N
CÓDIGO DE ARDUINO
PRÁCTICA Nº:14
ENUNCIADO: Control de la velocidad de un motor
MONTAJE SOBRE PLACA ARDUINO : DRIVE L298N
CÓDIGO DE ARDUINO
PRÁCTICA Nº:15
ENUNCIADO: Control de un motor paso a paso bipolar
MONTAJE SOBRE PLACA ARDUINO
CÓDIGO DE ARDUINO
[Link]
dc-y-paso-a-paso-con-arduino/
El código de Arduino hace girar el motor paso a paso una vuelta en un sentido y
luego ejecuta otra vuelta en sentido opuesto. Este código hace uso de la librería
‘Stepper.h‘, que se instala por defecto en las ultimas versiones del IDE de Arduino.