Pian digital

A. Scopul proiectului

Vom realiza un mini-pian digital folosind câteva butoane și un buzzer.

B. Componentele necesare

  • Arduino Uno;
  • 7 butoane;
  • Buzzer;
  • Fire.

C. Diagrama de conectare

Diagrama de conectare pentru pianul electronic

D. Conexiunea firelor

  • Un pin de la fiecare buton se leagă la GND;
  • În ordine crescătoare se leagă pe rând celălalt pin al butoanelor de la D3 la D9;
  • Pinul (-) al buzzerului se leagă la GND;
  • Pinul (+) al buzzerului se leagă la D10.

E. Codul sursă

Link:

https://www.tinkercad.com/things/fQJG44WLzBD-piano

const int DOPin = 3, REPin = 4, MIPin = 5, FAPin = 6, SOLPin = 7, LAPin = 8, SIPin = 9, BuzzerPin = 10; 
void setup() {
  for (int i = 3; i <= 9; i++) 
    pinMode(i, INPUT_PULLUP);  // Inițializare butoane ca intrări cu rezistență pull-up
  pinMode(BuzzerPin, OUTPUT);  // Inițializare pin buzzer ca ieșire
}
void loop() {
  while (digitalRead(DOPin) == LOW)   
    tone(BuzzerPin, 262);  
  while (digitalRead(REPin) == LOW)   
    tone(BuzzerPin, 294);  
  while (digitalRead(MIPin) == LOW)   
    tone(BuzzerPin, 330);
  while (digitalRead(FAPin) == LOW)   
    tone(BuzzerPin, 349);
  while (digitalRead(SOLPin) == LOW)  
    tone(BuzzerPin, 392);
  while (digitalRead(LAPin) == LOW)   
    tone(BuzzerPin, 440);
  while (digitalRead(SIPin) == LOW)   
    tone(BuzzerPin, 493);
  noTone(BuzzerPin);  // Sunetul este oprit când nu se apasă niciun buton}