[go: up one dir, main page]

0% encontró este documento útil (0 votos)
67 vistas11 páginas

Pract Arduino Tinkercad

Cargado por

sergio
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)
67 vistas11 páginas

Pract Arduino Tinkercad

Cargado por

sergio
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
Está en la página 1/ 11

PRÁCTICA 1.

LED INTERMITENTE
Se recuerda que la resistencia es de 220 Ohmnios.

ESQUEMA:
PROGRAMA:
#define pinLED 8

void setup() {

pinMode(pinLED, OUTPUT);
}

void loop() {

digitalWrite(pinLED, HIGH); // enciende el


LED.
delay(500); // retardo en milisegundos
digitalWrite(pinLED, LOW); // apaga el LED.
delay(500);
}
PRÁCTICA 2.DETECTOR DE LUZ
Realiza un montaje con Arduino para detectar cambios en el nivel de
luminosidad del aula donde te encuentras.

Para ello utiliza un sensor de luz LDR (light-dependent resistor), una resistencia
eléctrica y un LED. La idea es que cuando la intensidad luminosa disminuya un
cierto umbral, el LED se active.

El sensor LDR es un sensor resistivo (fotoresistor), es decir que su resistencia


eléctrica varía en función de la luz que recibe. Es un sensor analógico por lo
que, para leer sus medidas, tenemos que conectarlo a una entrada analógica
de Arduino. Si tapamos o acercamos el sensor a la luz veremos cómo cambian
las medidas a través del monitor serie. El valor de la resistencia (R1) marcará
la sensibilidad de las medidas y dependerá también del rango de resistencias
que nos proporcione el LDR. Puedes empezar un una resistencia de 1KOhmio.

ESQUEMA:
Para el sensor LDR:
Circuito completo:
PROGRAMA:
// Detector de luz con LDR

#define pinLED 12

void setup() {

pinMode(pinLED, OUTPUT);
Serial.begin(9600);
}

void loop() {

int v = analogRead(A0);
// El valor 600 (siguiente línea) se debe de
ajustar dependiendo de la luz en el local
// y del valor de la resistencia pull-down
// poca luz -> v pequeño, mucha luz -> v
grande.
if (v < 600) digitalWrite(pinLED, HIGH);
else digitalWrite(pinLED, LOW);
Serial.println(v);
}
PRÁCTICA 3. CONTROL DE SERVO
Realizar una práctica que haga girar un motor de rotación continua una vez con
la siguiente secuencia: giro durante 2 segundos, parada durante 2 segundos y
giro en sentido contrario durante 2 segundos.

Un servomotor de rotación se programa de forma muy similar a los servomotores


vistos anteriormente. La diferencia respecto a estos es que el servo de rotación
continua puede girar (como su nombre indica) los 360 grados de forma continua. Hay
que recordar que un servomotor sólo podía girar de 0 a 180 grados. Los servos de
rotación continua llevan una reductora y proporcionan un buen par motor. Incluyen un
circuito interno de control y las conexiones se realizan a través de 3 cables:
Alimentación (+Vcc), Tierra (GND) y señal de control.

ESQUEMA:
PROGRAMA:
#include <Servo.h>
Servo servoRotCont; // crea los objetos para
controlar los servomotores

void setup() {

servoRotCont.attach(9);
servoRotCont.write(0);//clockwise
delay(2000);
servoRotCont.write(90); //stop (el valor 90
depende del motor.
//Es conveniente probar valores por encima o
por debajo
//de 90 hasta comprobar que se para el
servomotor.
delay(2000);
servoRotCont.write(180);//counter-clockwise
delay(2000);
servoRotCont.write(90); //stop

}
void loop() {

}
PRÁCTICA 4. SECUENCIA LED
Realizar un montaje con 3 LEDs (rojo, verde y amarillo) que realice la siguiente
secuencia con un intervalo de tiempo de 0,5 segundos entre cada uno (‘1’ indica
encendido y ‘0’ apagado):

1. 100 (LED rojo encendido y el resto apagado).


2. 010 (LED verde encendido y resto apagado).
3. 001 (LED amarillo encendido y resto apagado).

ESQUEMA:
#define pinLED1 8

#define pinLED2 9

#define pinLED3 10

void setup() {

pinMode(pinLED1, OUTPUT);

pinMode(pinLED2, OUTPUT);

pinMode(pinLED3, OUTPUT);

void loop() {

digitalWrite(pinLED1, HIGH); // enciende

digitalWrite(pinLED2, LOW); // apaga

digitalWrite(pinLED3, LOW); // apaga

delay(500);

digitalWrite(pinLED1, LOW);

digitalWrite(pinLED2, HIGH);

digitalWrite(pinLED3, LOW);

delay(500);

digitalWrite(pinLED1, LOW);

digitalWrite(pinLED2, LOW);

digitalWrite(pinLED3, HIGH);

delay(500);

}
PRÁCTICA 5. MOTORES CON TRANSISTOR
Desde Arduino (salida digital) actuamos sobre la base si enviamos un HIGH al pin digital donde la
conectemos (pin 6 en el esquema). El transistor tiene que tener suficiente ganancia. Se conecta un diodo
de protección en antiparalelo (1N004). Cuando el motor se para las bobinas se desmagnetizan y se
descargan de energía eléctrica. El diodo proporciona un camino para su descarga (la energía se disipa en
forma de calor en el diodo) y así se evita que sufra el transistor.

Otra posibilidad que protege el transistor es, en vez de conectar directamente el motor al colector del
transistor, ubicar un relé en esa posición y accionar el motor con alimentación independien te con la
conmutación del relé. Este ejercicio se propone en la sección de actividades.
// Activa y desactiva un
// motorDC conectado al pin6
// durante 2 segundos

#define motorDC 6

void setup() {

pinMode(motorDC, OUTPUT);

void loop() {

digitalWrite(motorDC, HIGH);
delay(2000);
digitalWrite(motorDC, HIGH);
delay(2000);
}

También podría gustarte