A/2
Activitat 2
- El potenciòmetre. Per regular valors analògics.
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.
· 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
// 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); } }
// 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); } }
// 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); } }
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.