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);
}
}