A/1

La primera activitat que farem serà la de fer sonar notes o una melodia pel brunzidor mitjançant Arduino.

1. Primer fem sonar un LA (440Hz) i encendre un LED.

2. Modificarem fent sonar 2 sons (greu i agut) i que un LED vagi quan hi hagi so.

3. 2 LEDs i una seqüència de 4 notes

4. Canvi del brunzidor per una sortida minijack o per un jack i com posar-hi volum.

5. Escriure o transcriure una melodia

Material necessari

1 Arduino UNO

1 Protoboard

1 Altaveu piezoelèctric

2 Díodes emissors de llum o diode LED

1 Resistència elèctrica de 230 Ohms

1 Connector jack de 3.5mm per a protoboard

Diversos cables (mascle – mascle)

Pas a pas

A1.1. Fer sonar una nota a l'Arduino

Videotutorial on s’explica com fer sonar una nota a l’Arduino

A1.1. Com connectar els components

Esquema de com connectar el LED i el brunzidor

Material necessari:

· 1 Arduino UNO

· 1 Protoboard

· 1 Bruncidor

· 1 LED

· 2 Cables mascle a mascle

A1.2. Fer sonar una seqüència de notes a l'Arduino

Videotutorial on s’explica com fer sonar una seqüència de notes a l’Arduino

A1.2. Com connectar els components

Esquema de com afegir un segon LED a l’esquema inicial.

Material necessari:

· 1 Arduino UNO

· 1 Protoboard

· 1 Brunzidor

· 2 LEDs

· 5 Cables mascle a mascle

· 1 Resistència elèctrica de 230 Ohms

A1.3 - Regular el volum i afegir sortida mini jack

Videotutorial on s’explica com regular el volum i afegir una sortida de so mini jack

A1.3 - Regular el volum i afegir sortida mini jack

Canvi del brunzidor per una sortida minijack o per un Jack i com posar-hi volum.

Material necessari:

· 1 Arduino UNO

· 1 Protoboard

· 1 Connector jack de 3.5mm per a protoboard

· 2 LEDs

· 7 Cables mascle a mascle

· 1 Resistència elèctrica de 230 Ohms

· 1 Potenciòmetre

A1.4 - Fer una melodia - Manual Instròniks

Demostració de com fer sonar una melodia a l’Arduino.
Explicació del programa que toca la cançó ‘El gegant del pi’

Codi

// Manual Instròniks
// A1.1.1 Fer sonar un LA

// Configuració de l'Arduino que només s'executa una vegada.
void setup() {
  // Configurar el pin 3 a l'Arduino com a Sortida, pel SO
  pinMode (3, OUTPUT);
  // Configurar el pin 13 a l'Arduino com a Sortida, pel LED
  pinMode (13, OUTPUT); // pin Led
}

// Configuració de l'Arduino que s'executarà moltes vegades de manera infinita
void loop() {
  // encén el LED
  digitalWrite (13, HIGH); 
  // fes sonar un LA que té una freq de 440Hz per la sortida 3 durant 20ms
  tone (3,440,20); 
  // espera 500 ms (mig segon)
  delay (500); 
  // apaga el LED
  digitalWrite (13, LOW); 
  // pq no soni res pel pin 3
  noTone (3);
  // espera 500 ms  
  delay (500); 
}
        

Codi

// Manual Instròniks
// A1.1.2 Fer sonar un so greu i un agut

// Configuració de l'Arduino que només s'executa una vegada.
void setup() {
  // Configurar el pin 3 a l'Arduino com a Sortida, pel SO
  pinMode (3, OUTPUT);
  // Configurar el pin 13 a l'Arduino com a Sortida, pel LED
  pinMode (13, OUTPUT); // pin Led
}

// Configuració de l'Arduino que s'executarà moltes vegades de manera infinita
void loop() {
  // encén el LED
  digitalWrite (13, HIGH); 
  // CANVI: fes sonar un so GREU a una freq de 200Hz per la sortida 3 durant 20ms
  tone (3,200,20);
  // espera 500 ms (mig segon)
  delay (500); 
  // apaga el LED
  digitalWrite (13, LOW); 
  // CANVI: fes sonar un so AGUT a una freq de 7000Hz per la sortida 3 durant 20ms
  tone (3,7000,20); // fem sonar un so agut
  // espera 500 ms  
  delay (500); 
}

        

Codi

// Manual Instròniks
// A1.2.1 Seqüència de 4 notes amb 2 leds
// En aquest cas només comentem les línies que són noves

void setup() {
  pinMode (3,OUTPUT);
  pinMode (13,OUTPUT);
  // CANVI: Configurar el pin 12 a l'Arduino com a Sortida, pel segon LED
  pinMode (12,OUTPUT);
}

void loop() {
  digitalWrite (13,HIGH);
  tone (3,200,20);
  delay (200);
  digitalWrite (13,LOW);
  tone (3,7000,20),
  delay (200);
  // CANVI: Encen el 2n LED connectat al pin 12
  digitalWrite (12, HIGH);
  // CANVI: fes sonar un so GREU a una freq de 500Hz per la sortida 3 durant 20ms
  tone (3, 500, 20);
  // CANVI: Espera 200 ms
  delay (200);
  // CANVI: Apaga el 2n LED connectat al pin 12
  digitalWrite (12, LOW);
  // CANVI: fes sonar un so AGUT a una freq de 4000Hz per la sortida 3 durant 20ms
  tone (3, 4000, 20);
  // CANVI: Espera 200 ms
  delay (200);
}
        

Codi

// Manual Instròniks
// A1.2.2 Seqüència de 4 notes amb 2 leds i variable de temps
// En aquest cas només comentem les línies que són noves

// CANVI: Declarem una variable per indicar el valor de temps entre notes
int tempo = 200; 

void setup() {
  pinMode (3,OUTPUT);
  pinMode (13,OUTPUT);
  pinMode (12,OUTPUT);
}

void loop() {
  digitalWrite (13,HIGH);
  tone (3,200,20);
  // CANVI: Fem servir la variable tempo que té valor 200 per dir temps d'espera
  delay (tempo);
  digitalWrite (13,LOW);
  tone (3,7000,20),
  delay (tempo);
  digitalWrite (12, HIGH);
  tone (3, 500, 20);
  // CANVI: Fem servir la variable tempo que té valor 200 per dir temps d'espera
  delay (tempo);
  digitalWrite (12, LOW);
  tone (3, 4000, 20);
  // CANVI: Fem servir la variable tempo que té valor 200 per dir temps d'espera
  delay (tempo);
}

        

Codi

// Manual Instròniks
// A1.3 Melodia: El Gegant del Pi
// Anirem fent una seqüència amb els dos leds amb la melodia


// Variables de tipus enter per recordar les freqüències de les notes
int do4 = 264;
int re4 = 297;
int mi4 = 330;
int fa4 = 352;
int sol4 = 396;
int la4 = 440;
int si4 = 495;
int do5 = 528;

// El valor que li donem a la espera entre notes
int tempo = 400; 
// durada de la nota que és una negra
int negra = 100;
// durada de la nota que és una corxera 
int corxera = 50; 

void setup() {
  // pin Sortida So
  pinMode(3, OUTPUT);
  // pin Led1 
  pinMode(13, OUTPUT);
  // pin Led2 
  pinMode(12, OUTPUT); 
}

void loop() {
  digitalWrite(13, HIGH); 
  tone(3, mi4, corxera); // fem sonar la primera nota
  delay(tempo / 2); // la meitat perquè és val la meitat que la negra
  digitalWrite(13, LOW); 
  tone(3, fa4, corxera); 
  delay(tempo / 2); 
  digitalWrite(12, HIGH); 
  tone(3, sol4, negra); 
  delay(tempo); 
  digitalWrite(12, LOW); 
  tone(3, mi4, negra); 
  delay(tempo);
  digitalWrite(13, HIGH); 
  tone(3, do4, negra); 
  delay(tempo);
  digitalWrite(13, LOW); 
  tone(3, fa4, corxera); 
  delay(tempo / 2); 
  digitalWrite(12, HIGH); 
  tone(3, mi4, corxera); 
  delay(tempo / 2); 
  digitalWrite(12, LOW); 
  tone(3, re4, corxera); 
  delay(tempo / 2);
  digitalWrite(13, HIGH); 
  tone(3, do4, corxera); 
  delay(tempo / 2);
  digitalWrite(13, LOW); 
  tone(3, re4, corxera); 
  delay(tempo / 2); 
  digitalWrite(12, HIGH); 
  tone(3, re4, corxera); 
  delay(tempo / 2); 
  digitalWrite(12, LOW); 
  tone(3, mi4, corxera); 
  delay(tempo / 2);
  digitalWrite(13, HIGH); 
  tone(3, do4, corxera); 
  delay(tempo / 2);
  digitalWrite(13, LOW); 
  tone(3, mi4, corxera); 
  delay(tempo / 2); 
  digitalWrite(12, HIGH); 
  tone(3, fa4, corxera); 
  delay(tempo / 2); 
  digitalWrite(12, LOW); 
  tone(3, sol4, negra); 
  delay(tempo);
  digitalWrite(13, HIGH); 
  tone(3, mi4, negra); 
  delay(tempo);
  digitalWrite(13, LOW); 
  tone(3, do4, negra); 
  delay(tempo); 
  digitalWrite(12, HIGH); 
  tone(3, fa4, corxera); 
  delay(tempo / 2); 
  digitalWrite(12, LOW); 
  tone(3, mi4, corxera); 
  delay(tempo / 2);
  digitalWrite(13, HIGH); 
  tone(3, re4, corxera); 
  delay(tempo / 2);
  digitalWrite(13, LOW); 
  tone(3, do4, corxera); 
  delay(tempo / 2); 
  digitalWrite(12, HIGH); 
  tone(3, re4, corxera); 
  delay(tempo / 2); 
  digitalWrite(12, LOW); 
  tone(3, mi4, corxera); 
  delay(tempo / 2);
  digitalWrite(13, HIGH); 
  tone(3, do4, negra); 
  delay(tempo);
  digitalWrite(13, LOW); 
  noTone(3); 
  // esperem 3 tempo per tornar a començar
  delay(3 * tempo); 
}
        

Idees per a completar l'activitat

Com heu vist al vídeo anterior, hem modificat el programa per fer una pulsació programada.

A. Segur que ja sabeu què són les figures a música (negra, blanca, corxera, semicorxera, …). Podeu fer un programa a l’Arduino que demostri aquestes figures bàsiques?

 

B. Modifiqueu el programa per fer una melodia, per exemple, quina és aquesta?

 

 

NOTA: Si tens resposta a alguna d’aquestes preguntes, o alguna observació, la pots compartir per Twitter.
Etiqueta la resposta amb el hashtag: #instroniks_a1 i @instroniks
Així la podrem veure dins d’aquesta activitat.

Que diuen a twitter d'aquesta activitat

+ activitats