0% encontró este documento útil (0 votos)
10 vistas5 páginas

Arduino Basico Clau

El documento presenta una serie de ejercicios relacionados con la programación de microcontroladores, específicamente en el uso de pines digitales para controlar interruptores y LEDs. Se analizan diferentes códigos y se plantean preguntas sobre su funcionamiento, así como la modificación de un código para controlar dos LEDs con interruptores. Además, se incluye un ejercicio para escribir un código que gestione el encendido y apagado de LEDs en función de la acción de un pulsador.
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 ODT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
10 vistas5 páginas

Arduino Basico Clau

El documento presenta una serie de ejercicios relacionados con la programación de microcontroladores, específicamente en el uso de pines digitales para controlar interruptores y LEDs. Se analizan diferentes códigos y se plantean preguntas sobre su funcionamiento, así como la modificación de un código para controlar dos LEDs con interruptores. Además, se incluye un ejercicio para escribir un código que gestione el encendido y apagado de LEDs en función de la acción de un pulsador.
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 ODT, PDF, TXT o lee en línea desde Scribd

1 Examina el siguiente código y responde a las preguntas:

void setup() {
pinMode(2, INPUT);

pinMode(3, OUTPUT);

void loop() {
if (digitalRead(2) == HIGH) {
digitalWrite(3, HIGH);
}

else {
digitalWrite(3, LOW);
}
delay(10); // Delay a little bit to improve simulation
performance
}
Verdadero o falso (justifica tu respuesta):
a Hemos conectado al pin digital número 3 de la controladora un
interruptor.
- Falso porque el interruptor solo puede ser de entrada, por lo
que sería el conectado al pin digital número 2.
b Hemos conectado al pin digital número 2 de la controladora un
interruptor.
- Verdadero, porque es de entrada.
c Hemos conectado al pin digital número 3 de la controladora un
led.
- Verdadero, porque es de salida.
d Hemos conectado al pin digital número 3 de la controladora un
led.
- Verdadero, porque es de salida.
e El led estará encendido 10 segundos.
- Falso, estará encendido mientras presiones el pulsador.
f El led estará apagado 10 segundos.
- Falso, estará apagado siempre que el pulsador no esté
pulsado.

2 Examina el siguiente código y responde a las preguntas:

void setup() {
pinMode(13, OUTPUT);

void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);

Selecciona la respuesta o respuestas adecuadas:


a Este código podría hacer que un led estuviera encendido
durante 100 segundos seguidos.
b Este código podría hacer que un led parpadease.
c Este código tiene errores y no podría hacer que el circuito
funcionase.
d En este código no hay declarada ninguna variable.

3 Examina el siguiente código y modifícalo para que sirva para


encender y apagar dos leds, cada uno de ellos con su propio
interruptor, de tal modo que cuando acciones cualquiera de los dos
interruptores, el led correspondiente se apague.

void setup()
{
pinMode(2, INPUT);
pinMode(3, OUTPUT);
pinMode(4, INPUT);
pinMode(5, OUTPUT);
}

void loop()
{
if (digitalRead(2) == HIGH) {
digitalWrite(3, LOW);
} else {
digitalWrite(3, HIGH);
}
if (digitalRead(4) == HIGH) {
digitalWrite(5, LOW);
} else {
digitalWrite(5, HIGH);
}
delay(10); // Delay a little bit to improve simulation
performance
}

4 Examina el siguiente código y responde:

#include <Servo.h>

Servo myservo;
int angulo=0;
void setup ()
{
[Link](9);
}
void loop()
{
for(angulo=0; angulo < 180; angulo+=2)
{
[Link](angulo);
delay(20);
}
for(angulo = 180; angulo>=1; angulo-=2)
{
[Link](angulo);
delay(20);
}
}

a ¿Para qué sirve este programa?


- Sirve para hacer que un servomotor gire 180 grados en dos
sentidos contrarios aumentando o disminuyendo su valor de
2 en 2.
b ¿Cuántas variables hay en el programa? ¿cómo se llaman?
- Hay una variable: angulo.

5 Examina el siguiente código y responde:

int led=11;
int ldr=0;
int intensity=0;
void setup()
{
pinMode(11,OUTPUT);
[Link](9600);
}
void monitoring()
{
[Link]("Light_intensity:");
[Link](intensity);
delay(1000);
}
void loop()
{
intensity=analogRead(ldr);
monitoring();
if(intensity<50 && intensity>=0)
{
analogWrite(led,255);
}
if(intensity>=50 && intensity<=1024) {
analogWrite(led,0);
}
}

a ¿de qué depende el valor de la variable intensity?


Depende de la cantidad de luz que incida sobre el LDR.
b ¿cuándo se encenderá el led?
Cuando la variable intensity tome valores menores que 50 y
mayores que 0.
c ¿cuántos leds se pueden programar con este código?
Solo uno, pues es el único conectado.
d Enumera algún otro componente electrónico que se pueda
programar con este código.
El servomotor, haciendo que según la intensidad de la luz gire
o no, o gire hacia un sentido u el otro.

6 Escribe el código de un programa que:


 Tenga dos leds y un pulsador
 Permita que un led se encienda cuando empiece el programa y
el otro esté apagado.
 Cuando se accione el pulsador y pasados 5 segundos, el led
que está encendido deberá apagarse y el led que está apagado
deberá encenderse.
 Este segundo led deberá mantenerse encendido durante 10
segundos y después ha de encenderse de nuevo el primer led.

void setup()
{
pinMode(2, INPUT);
pinMode(5, OUTPUT);
pinMode(7, OUTPUT);
}

void loop()
{
digitalWrite(5,HIGH);
digitalWrite(7,LOW);
if (digitalRead(2) == HIGH) {
delay(5000);
digitalWrite(5, LOW);
digitalWrite(7, HIGH);
delay(10000);
digitalWrite(5, HIGH);
digitalWrite(7, HIGH);
}
}

También podría gustarte