0% encontró este documento útil (0 votos)
2 vistas16 páginas

Practicas Pi

El documento describe una serie de prácticas de programación y montaje en Arduino, que incluyen encender y apagar LEDs, controlar un semáforo, monitorizar sensores analógicos, y controlar motores. Cada práctica incluye un enunciado, un diagrama de bloques y un código de Arduino correspondiente. Se abordan conceptos como conexiones PullUp y PullDown, así como el uso de librerías específicas para el control de motores paso a paso.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
2 vistas16 páginas

Practicas Pi

El documento describe una serie de prácticas de programación y montaje en Arduino, que incluyen encender y apagar LEDs, controlar un semáforo, monitorizar sensores analógicos, y controlar motores. Cada práctica incluye un enunciado, un diagrama de bloques y un código de Arduino correspondiente. Se abordan conceptos como conexiones PullUp y PullDown, así como el uso de librerías específicas para el control de motores paso a paso.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

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.

También podría gustarte