Progetto Arduino: pianola a pulsanti

Con la pianola a pulsanti puoi suonare tutte e 7 le note musicali (quasi) come con un vero pianoforte.


Versione 1.0 (“da DO a SI”)

Ricordati di attivare l’audio del video!

Strumenti

  • Arduino UNO
  • 8 pulsanti
  • Cicalino passivo
  • Cavi elettrici e resistenze

Il cicalino passivo emette una nota diversa con la pressione di ciascuno dei 7 pulsanti (dal DO al SI della terza ottava). Ogni nota corrisponde ad una particolare frequenza di vibrazione del cicalino (ad es. LA4 = 440 Hz): questa corrispondenza è esplicitata nella libreria “pitches.h”.

Diagramma dei collegamenti

Codice

Clicca qui per visualizzare
#include "pitches.h"

#define pinC 13
#define pinD 12
#define pinE 11
#define pinF 10
#define pinG 9
#define pinA 8
#define pinB 7
#define pinBuzzer 6

void setup() {
  Serial.begin(9600);
  pinMode(pinC, INPUT);  
  pinMode(pinD, INPUT);  
  pinMode(pinE, INPUT);  
  pinMode(pinF, INPUT);  
  pinMode(pinG, INPUT);  
  pinMode(pinA, INPUT);  
  pinMode(pinB, INPUT);  
}

void loop() {

 if(digitalRead(pinC) == HIGH) {
   tone(pinBuzzer, NOTE_C4, 100);
 } 
 if(digitalRead(pinD) == HIGH) {
   tone(pinBuzzer, NOTE_D4, 100);
 }
 if(digitalRead(pinE) == HIGH) {
   tone(pinBuzzer, NOTE_E4, 100);
 }
 if(digitalRead(pinF) == HIGH) {
   tone(pinBuzzer, NOTE_F4, 100);
 }
 if(digitalRead(pinG) == HIGH) {
   tone(pinBuzzer, NOTE_G4, 100);
 }
 if(digitalRead(pinA) == HIGH) {
   tone(pinBuzzer, NOTE_A4, 100);
 }
 if(digitalRead(pinB) == HIGH) {
   tone(pinBuzzer, NOTE_B4, 100);
 }
 
}

Galleria

Commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *