Projekt Pianio


Jest to krótki i przyjemny projekt. Pewnie się chcesz spytać czym się on różni od zwykłej lekcji?? Tutaj znajduje się same informacje jak podłączyć, skondigurować i wgrać program aby nasze urządzenie działało. Na lekcjach tłumaczyłem działanie i zastwosoawanie niektórych elementów. Teraz wszystko podłączymy.

Przygotuj: kabelki pinowe, buzzer lub mały głośniczek,rezystor, 7 przycisków i płytkę Arduino.

zad1

Zanim wpiszemy kod przypadszmy się odłączeniu. Użyliśmy 7 przycisków, które odpowiadają które odpowiadają Akordom. Dla ułatwienia zapisz sobie obok przycisków jaki to jest akord. Od 10 do 4 są akordy C,D,E,F,G,A i B. Do 11 wejścia podłączyliśmy głośniczek albo buzzer. To bez różnicy , aby tylko działał.

Wpisz kod

#define T_C 262
#define T_D 294
#define T_E 330
#define T_F 349
#define T_G 392
#define T_A 440
#define T_B 493

const int C = 10;
const int D = 9;
const int E = 8;
const int F = 7;
const int G = 6;
const int A = 5;
const int B = 4;

const int Buzz = 11;


void setup()
{
  
  pinMode(C, INPUT);
  digitalWrite(C,HIGH);
  
  pinMode(D, INPUT);
  digitalWrite(D,HIGH);
  
  pinMode(E, INPUT);
  digitalWrite(E,HIGH);
  
  pinMode(F, INPUT);
  digitalWrite(F,HIGH);
  
  pinMode(G, INPUT);
  digitalWrite(G,HIGH);
  
  pinMode(A, INPUT);
  digitalWrite(A,HIGH);
  
  pinMode(B, INPUT);
  digitalWrite(B,HIGH);
}

void loop()
{
  while(digitalRead(C) == LOW)
  {
    tone(Buzz,T_C);
  }

  while(digitalRead(D) == LOW)
  {
    tone(Buzz,T_D);
    
  }

  while(digitalRead(E) == LOW)
  {
    tone(Buzz,T_E);
  }

  while(digitalRead(F) == LOW)
  {
    tone(Buzz,T_F);
  }

  while(digitalRead(G) == LOW)
  {
    tone(Buzz,T_G);
  }

  while(digitalRead(A) == LOW)
  {
    tone(Buzz,T_A);
  }

  while(digitalRead(B) == LOW)
  {
    tone(Buzz,T_B);
  }
  noTone(Buzz);
}

Jest tego dużo ale już zauważyłeś że na samym początku kodu jest zdefiniowanie danej tonacji akordu, aby nie pogubić się w pisaniu. Pamiętaj, pisz nie kopiuj/wklej.


Efekt powinien być następujący :

Ciekawe co nie. Proste a przyjemne.Jak zauważyliście użyłem starych głośniczków z laptopa. Mam ich trzy. Teraz zrobię tm aby każdy głośniczek inną tonację podawał.

Wpisz kod

#define T_C 262
#define T_D 294
#define T_E 330
#define T_F 349
#define T_G 392
#define T_A 440
#define T_B 493

#define T_C2 1047
#define T_D2  1175
#define T_E2 1319
#define T_F2  1397
#define T_G2  1568
#define T_A2  1760
#define T_B2  1976

#define T_C3  65
#define T_D3  73
#define T_E3  82
#define T_F3  87
#define T_G3  98
#define T_A3  110
#define T_B3  123

const int C = 10;
const int D = 9;
const int E = 8;
const int F = 7;
const int G = 6;
const int A = 5;
const int B = 4;

const int Buzz = 11;
const int Buzz2 = 12;
const int Buzz3 = 3;
const int LED = 13;

void setup()
{
  pinMode(LED, OUTPUT);
  pinMode(C, INPUT);
  digitalWrite(C,HIGH);
  
  pinMode(D, INPUT);
  digitalWrite(D,HIGH);
  
  pinMode(E, INPUT);
  digitalWrite(E,HIGH);
  
  pinMode(F, INPUT);
  digitalWrite(F,HIGH);
  
  pinMode(G, INPUT);
  digitalWrite(G,HIGH);
  
  pinMode(A, INPUT);
  digitalWrite(A,HIGH);
  
  pinMode(B, INPUT);
  digitalWrite(B,HIGH);

   digitalWrite(LED,LOW);
}

void loop()
{
  while(digitalRead(C) == LOW)
  {
    tone(Buzz,T_C);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(D) == LOW)
  {
    tone(Buzz,T_D);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(E) == LOW)
  {
    tone(Buzz,T_E);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(F) == LOW)
  {
    tone(Buzz,T_F);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(G) == LOW)
  {
    tone(Buzz,T_G);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(A) == LOW)
  {
    tone(Buzz,T_A);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(B) == LOW)
  {
    tone(Buzz,T_B);
    digitalWrite(LED,HIGH);
  }

  noTone(Buzz);
  digitalWrite(LED,LOW);
////////////////////////////////////////
while(digitalRead(C) == LOW)
  {
    tone(Buzz2,T_C2);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(D) == LOW)
  {
    tone(Buzz2,T_D2);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(E) == LOW)
  {
    tone(Buzz2,T_E2);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(F) == LOW)
  {
    tone(Buzz2,T_F2);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(G) == LOW)
  {
    tone(Buzz2,T_G2);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(A) == LOW)
  {
    tone(Buzz2,T_A2);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(B) == LOW)
  {
    tone(Buzz2,T_B2);
    digitalWrite(LED,HIGH);
  }

  noTone(Buzz2);
  digitalWrite(LED,LOW);
////
  while(digitalRead(C) == LOW)
  {
    tone(Buzz3,T_C3);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(D) == LOW)
  {
    tone(Buzz3,T_D3);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(E) == LOW)
  {
    tone(Buzz3,T_E3);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(F) == LOW)
  {
    tone(Buzz3,T_F3);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(G) == LOW)
  {
    tone(Buzz3,T_G3);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(A) == LOW)
  {
    tone(Buzz3,T_A3);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(B) == LOW)
  {
    tone(Buzz3,T_B3);
    digitalWrite(LED,HIGH);
  }

  noTone(Buzz3);
  digitalWrite(LED,LOW);
}
Efekt powinien być następujący :

Myślę że spodobał ci się tej projekt. Zajrzyj do pozostałych a może któryś zrobiś i udoskonalisz.