Ejercicio: Latido del corazón
En este ejercicio lo que hemos hecho ha sido simular el latido del corazón con una placa de arduino Uno y un led de color rojo.
Hemos usado este código:
int ledPin = 13; //Creo un variable de tipo entero que la denomino ledPin y le asigno el
valor 13,
void setup()
{
pinMode(ledPin, OUTPUT); // le digo con pinMode, que el pin 13 será una salida en mi
placa
}
void loop() // comienza el bucle que no parará
{
digitalWrite(ledPin, HIGH); // le digo con digitalWrite que el pin 13 se active = HIGH
delay(1000); // le digo que se espere un segundo con delay + 1000 ( milisegundos)
digitalWrite(ledPin, LOW); // le digo con digitalWrite que el pin 13 se apague = LOW
delay(1000); // le digo que se espere un segundo con delay + 1000 ( milisegundos)
}
valor 13,
void setup()
{
pinMode(ledPin, OUTPUT); // le digo con pinMode, que el pin 13 será una salida en mi
placa
}
void loop() // comienza el bucle que no parará
{
digitalWrite(ledPin, HIGH); // le digo con digitalWrite que el pin 13 se active = HIGH
delay(1000); // le digo que se espere un segundo con delay + 1000 ( milisegundos)
digitalWrite(ledPin, LOW); // le digo con digitalWrite que el pin 13 se apague = LOW
delay(1000); // le digo que se espere un segundo con delay + 1000 ( milisegundos)
}
y esto ha sido lo que hemos visto:
Ejercicio: Semaforo con leds
En este ejercico lo que hemos hecho ha sido simular un semafor con 3 leds: amarillo, verde y rojo.
void setup (){ pinMode (2, OUTPUT); pinMode (4, OUTPUT); pinMode (6, OUTPUT); }
void loop(){
digitalWrite(2, 1); delay(10000); digitalWrite(2, 0); delay(300); digitalWrite(2, 1); delay(250); //se enciende el rojo
digitalWrite(2, 0); delay(230); digitalWrite(2, 1); delay(220); digitalWrite(2, 0); delay(200); digitalWrite(2, 1); delay(190); digitalWrite(2, 0); delay(180); digitalWrite(2, 1); delay(170); digitalWrite(2, 0); delay(160); digitalWrite(2, 1); delay(150); digitalWrite(2, 0); delay(140); digitalWrite(2, 1); delay(130); digitalWrite(2, 0); delay(120); digitalWrite(2, 1); delay(110); digitalWrite(2, 0); digitalWrite(4, 1); delay(3000); digitalWrite(4, 0); digitalWrite(6, 1); delay(10000); digitalWrite(6, 0); }
Ejercicio: Canción Indiana Jones
En esta practica lo que hicimos fue reproducir la canción de indiana jones en con la placa de arduino y un altavoz
Utilizamos este código:
/*
--------------------------------------------------------------------------------------------------
--
REPRODUCTOR DE MELODÍAS: Arduino Indiana Jones music
--------------------------------------------------------------------------------------------------
--
Tratamos de utilizar nuestro Arduino para con ayuda de un altavoz
reproducir la B.S.O de Indiana Jones
*/
int pinSpeaker = 5; // altavoz al pin 5
long DO=523.25, // notas musicales con sus frecuencias
RE=587.33,
MI=659.26,
FA=698.46,
SOL=783.99,
LA=880,
SI=987.77,
DO2=1046.50,
RE2=1174.66,
MI2=1318.51,
FA2=1396.91;
long melody[] = {MI,FA,SOL,DO2, // nuestra melodía
RE,MI,FA,
SOL,LA,SI,FA2,
LA,SI,DO2,RE2,MI2,
MI,FA,SOL,DO2,
RE2,MI2,FA2,
SOL,SOL,MI2,RE2,SOL,
MI2,RE2,SOL,
MI2,RE2,SOL,
FA2,MI2,RE2,DO,
MI,SOL,FA,
RE,FA,MI,SOL,
DO,DO,MI,SOL,FA,
RE,FA,MI,RE,
DO,DO,MI,SOL,FA,
RE,FA,MI,SOL,
DO,DO,SOL,SOL,
MI2,RE2,SOL,
MI2,RE2,SOL,
MI2,RE2,SOL,
FA2,MI2,RE2,DO,
};
// Duración blanca=800, negra=400, corchea=200, semicorchea=100
int b=800, n=400, c=200, s=100;
int noteDurations[] = {c,c,n,b,
c,c,b,
c,c,n,b,
c,c,n,n,
n,c,c,n,
b,c,c,b,
c,c,n,
c,c,n,
c,c,n,
c,c,n,
c,c,b,
c,c,b,
c,c,s,s,c,
b,c,c,b,
c,c,s,s,c,b,
c,c,b,
c,c,s,s,c,
b,c,c,n,
c,c,n,
c,c,n,
c,c,n,
c,c,b,
};
/*
--------------------------------------------------------------------------------------------------
--
Función principal
--------------------------------------------------------------------------------------------------
--
*/
// la rutina setup se ejecuta una vez cuando arrancamos la placa
void setup() {
pinMode(pinSpeaker, OUTPUT);
}
/*
--------------------------------------------------------------------------------------------------
--
Función cíclica
--------------------------------------------------------------------------------------------------
--
*/
//la rutina loop se ejecuta continuamente de forma cíclica
void loop(){
for (int thisNote = 0; thisNote < 80; thisNote++) { //reproducción de la
melodía, thisNote es la posición en la que se encuentra la nota con su
correspondiente duración dentro de la matriz
tone(5, melody[thisNote],noteDurations[thisNote]);
delay(noteDurations[thisNote]);
noTone(5); // paramos la melodía
}
}
// Fin del programa
--------------------------------------------------------------------------------------------------
--
REPRODUCTOR DE MELODÍAS: Arduino Indiana Jones music
--------------------------------------------------------------------------------------------------
--
Tratamos de utilizar nuestro Arduino para con ayuda de un altavoz
reproducir la B.S.O de Indiana Jones
*/
int pinSpeaker = 5; // altavoz al pin 5
long DO=523.25, // notas musicales con sus frecuencias
RE=587.33,
MI=659.26,
FA=698.46,
SOL=783.99,
LA=880,
SI=987.77,
DO2=1046.50,
RE2=1174.66,
MI2=1318.51,
FA2=1396.91;
long melody[] = {MI,FA,SOL,DO2, // nuestra melodía
RE,MI,FA,
SOL,LA,SI,FA2,
LA,SI,DO2,RE2,MI2,
MI,FA,SOL,DO2,
RE2,MI2,FA2,
SOL,SOL,MI2,RE2,SOL,
MI2,RE2,SOL,
MI2,RE2,SOL,
FA2,MI2,RE2,DO,
MI,SOL,FA,
RE,FA,MI,SOL,
DO,DO,MI,SOL,FA,
RE,FA,MI,RE,
DO,DO,MI,SOL,FA,
RE,FA,MI,SOL,
DO,DO,SOL,SOL,
MI2,RE2,SOL,
MI2,RE2,SOL,
MI2,RE2,SOL,
FA2,MI2,RE2,DO,
};
// Duración blanca=800, negra=400, corchea=200, semicorchea=100
int b=800, n=400, c=200, s=100;
int noteDurations[] = {c,c,n,b,
c,c,b,
c,c,n,b,
c,c,n,n,
n,c,c,n,
b,c,c,b,
c,c,n,
c,c,n,
c,c,n,
c,c,n,
c,c,b,
c,c,b,
c,c,s,s,c,
b,c,c,b,
c,c,s,s,c,b,
c,c,b,
c,c,s,s,c,
b,c,c,n,
c,c,n,
c,c,n,
c,c,n,
c,c,b,
};
/*
--------------------------------------------------------------------------------------------------
--
Función principal
--------------------------------------------------------------------------------------------------
--
*/
// la rutina setup se ejecuta una vez cuando arrancamos la placa
void setup() {
pinMode(pinSpeaker, OUTPUT);
}
/*
--------------------------------------------------------------------------------------------------
--
Función cíclica
--------------------------------------------------------------------------------------------------
--
*/
//la rutina loop se ejecuta continuamente de forma cíclica
void loop(){
for (int thisNote = 0; thisNote < 80; thisNote++) { //reproducción de la
melodía, thisNote es la posición en la que se encuentra la nota con su
correspondiente duración dentro de la matriz
tone(5, melody[thisNote],noteDurations[thisNote]);
delay(noteDurations[thisNote]);
noTone(5); // paramos la melodía
}
}
// Fin del programa
Al principio nos pareció un poco difícil por la cantidad de código pero finalmente lo conseguimos.
Ejercicio: Led RGB
int pinRojo = 9;//iniciamos los pines digitales que son pwm
int pinVerde = 10;
int pinAzul = 11;
void setup(){
pinMode(pinRojo, OUTPUT);
pinMode(pinVerde, OUTPUT);
pinMode(pinAzul, OUTPUT);
}
void loop(){
setColor(0, 255, 255); // rojo
delay(500);
setColor(255, 0, 255); // verde
delay(500);
setColor(255, 255, 0); // azul
delay(500);
setColor(0, 0 , 255); // amarillo
delay(500);
setColor(0, 255, 0); // morado
delay(500);
setColor(255, 0, 150); // agua
COMPUTACIÓN FÍSICA ARDUINO TECNOLOGÍA 3º ESO
30 de 30
delay(500);
setColor(0, 0, 0); //blanco
delay(500);
}
void setColor(int red, int green, int blue){
analogWrite(pinRojo, red);
analogWrite(pinVerde, green);
analogWrite(pinAzul, blue);
}