A/3

En aquesta actvitat expliquem com posar un polsador que al ser accionat farà sonar una nota per l’altaveu.

El polsador ens permetrà recollir amb l’Arduino un valor digital (0 o 1).

A continuació expliquem com posar un instrument amb 4 polsadors.

Finalment convinem un polsador amb un potenciòmetre. El potenciòmete escull la nota i quan hi ha el polsador premut aquesta nota sona.

Material necessari

· 1 Arduino UNO

· 1 Protoboard

· 1 Connector jack de 3.5mm per a protoboard

· 2 Díodes LED

· 4 Polsadors

· Diversos Cables mascle a mascle

· 2 Potenciòmetres

· 5 Resistències elèctriques de 230 Ohms

Pas a pas

A3.1 Un Polsador

Videotutorial on s’explica com connectar un polsador a l’Arduino i fer el programa per recollir el seu valor. En cas que sigui HIGH farem que soni una nota.

A3.1 Un Polsador - Esquema

Esquema on es mostra com connectar el  nou potenciòmetre.

· 1 Arduino UNO

· 1 Protoboard

· 1 Connector jack de 3.5mm per a protoboard

· 2 Díodes LED

· 1 Polsador

· Diversos Cables mascle a mascle

· 1 Potenciòmetre

· 2 Resistències elèctriques de 230 Ohms

A3.2 Varis Polsadors

Videotutorial on s’explica com connectar 4 polsadors i el programa perquè cada polsador faci sonar una nota. Finalment hi ha una demostració de com pot sonar.

A3.2 Varis Polsadors - Esquema

Esquema on es mostra com connectar el  nou potenciòmetre.

· 1 Arduino UNO

· 1 Protoboard

· 1 Connector jack de 3.5mm per a protoboard

· 2 Díodes LED

· 4 Polsadors

· Diversos Cables mascle a mascle

· 1 Potenciòmetre

· 5 Resistències elèctriques de 230 Ohms

A3.3 Polsador + potenciòmetre

Videotutorial on s’explica com fer que el potenciòmetre esculli la nota i quan hi ha el polsador premut aquesta nota sona.

A3.3 Polsador + potenciòmetre - Esquema

Esquema on es mostra com connectar el  nou potenciòmetre.

· 1 Arduino UNO

· 1 Protoboard

· 1 Connector jack de 3.5mm per a protoboard

· 2 Díodes LED

· 1 Polsador

· Varis Cables mascle a mascle

· 2 Potenciòmetres

· 2 Resistències elèctriques de 230 Ohms

Codi

// Manual Instròniks
// A3.1 Polsador
// Al pitjar el polsador sóna la nota do4
// NOTA: Només es comenten els canvis que no s'havien vist fins aquest codi

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

//variable per saber l'estat del polsador
int pul1 = 0; 

void setup() {
  pinMode(3, OUTPUT); 
  pinMode(13, OUTPUT); 
  pinMode(12, OUTPUT);
  // Indicar que pin 4 és entrada d'informació
  pinMode(4,INPUT);

  Serial.begin(9600);
}
void loop() {
  // Llegeix digitalment el pin4 i guarda el valor a pul1
  pul1 = digitalRead(4); 
  Serial.println(pul1);
  // Si el valor de pul1 es activat
  if(pul1 == HIGH){
    digitalWrite(13, HIGH);
    digitalWrite(12, LOW);
    tone(3, do4, 20);
  } 
  else {
    digitalWrite(12, HIGH);
    digitalWrite(13, LOW);
    noTone(3); 
  }
}
        

Codi

// Manual Instròniks
// A3.2 Varis Polsadors
// NOTA: Només es comenten els canvis que no s'havien vist fins aquest codi

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

// Variables per saber l'estat dels polsadors
int pul1 = 0;
int pul2 = 0;
int pul3 = 0;
int pul4 = 0;

void setup() {
  pinMode(3, OUTPUT); 
  pinMode(13, OUTPUT); 
  pinMode(12, OUTPUT);
  // Indicar quins pins són d'entrada d'informació
  pinMode(4, INPUT);
  pinMode(5, INPUT);
  pinMode(6, INPUT);
  pinMode(7, INPUT);
  Serial.begin(9600);
}
void loop() {
  // Llegir el valor dels polsadors
  pul1 = digitalRead(4);
  pul2 = digitalRead(5); 
  pul3 = digitalRead(6); 
  pul4 = digitalRead(7); 
  // Enviar pel port serie pero sense salt de linia 
  Serial.print(pul1);
  Serial.print(", ");
  Serial.print(pul2);
  Serial.print(", ");
  Serial.print(pul3);
  Serial.print(", ");
  Serial.print(pul4);
  Serial.println(pul1);
  // Si el valor de pul1 es activat
  if(pul1 == HIGH){
    digitalWrite(13, HIGH);
    digitalWrite(12, LOW);
    tone(3, la4, 20);
  } // Si el valor de pul2 es activat
  if(pul2 == HIGH){
    digitalWrite(12, HIGH);
    digitalWrite(13, LOW);
    tone(3, do4, 20);
  } // Si el valor de pul3 es activat
  if(pul3 == HIGH){
    digitalWrite(13, HIGH);
    digitalWrite(12, LOW);
    tone(3, mi4, 20);
  } // Si el valor de pul4 es activat
  if(pul4 == HIGH){
    digitalWrite(12, HIGH);
    digitalWrite(13, LOW);
    tone(3, re4, 20);
  }  
}
        

Codi

// Manual Instròniks
// A3.3 Polsador + Potenciòmetre
// NOTA: Només es comenten els canvis que no s'havien vist fins aquest codi

int pote1 = 0;
int pul1 = 0;
int valor = 0; 
int nota = 0; 

int do4 = 264;
int re4 = 297;
int mi4 = 330;
int fa4 = 352;
int sl4 = 396;
int la4 = 440;
int si4 = 495;
int do5 = 528;

void setup() {
  pinMode(3, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
  pinMode(4, INPUT);
  Serial.begin(9600);
}

void loop() {
  pote1 = analogRead(A0);
  valor = map(pote1, 0, 1023, 0, 3);
  Serial.println(valor);
  if(valor == 0) {
    nota = do4;
  }
  else if(valor == 1) {
    nota = mi4;
  }
  else if(valor == 2) {
    nota = sl4;
  }
  else if(valor == 3) {
    nota = do5;
  }
  else {
    nota = re4;
  }
  pul1 = digitalRead(4);
  if(pul1 == HIGH) {
    digitalWrite(13, HIGH);
    digitalWrite(12, LOW);
    tone(3, nota, 20);
  } 
  else {
    digitalWrite(12, HIGH);
    digitalWrite(13, LOW);
    noTone(3);  
  }
}
        

Idees per a completar l'activitat

A. Podries fer amb un sol polsador que al ser premut soni un arpegi?

B. Has vist el final del vídeo A3.2? Ens comparteixes un vídeo, etiquetant-lo amb el hashtag: #instroniks_a3, demostrant com sona el teu instrònik?

C. Has vist el videotutorial A3.3? Creus que ets capaç de fer una cançó girant el potenciòmetre i prement el polsador? Ens ho ensenyes penjant el vídeo a Twitter i etiquetant-lo amb el hashtag: #instroniks_a3?

D. Has vist el videotutorial A3.3? Creus que ets capaç de fer el mateix però amb dos polsadors i dos potenciòmetres?

 

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

Que diuen a twitter d'aquesta activitat

+ activitats