Სარჩევი:

სტუდიური დასარტყამი: 5 ნაბიჯი
სტუდიური დასარტყამი: 5 ნაბიჯი

ვიდეო: სტუდიური დასარტყამი: 5 ნაბიჯი

ვიდეო: სტუდიური დასარტყამი: 5 ნაბიჯი
ვიდეო: კახი კალაძე დატროლეს 😀🤣🤣 2024, ნოემბერი
Anonim
სტუდიური დასარტყამები
სტუდიური დასარტყამები

დრამერები ვარჯიშობდნენ საათობით და საათობით … მაგრამ ყველას არ შეუძლია ბარაბანი ჰქონდეს სახლში: სივრცე და ხმაური დიდი პრობლემაა!

ამ მიზეზით, ჩვენ გვინდოდა შევქმნათ პორტატული და ჩუმი დრამკიტი, რომლის თამაშიც შეგიძლია სახლში.

ეს დრამკიტი ძალიან ადვილი გამოსაყენებელია, თქვენ უბრალოდ უნდა დაარტყათ ბალიშებს და ის ჟღერს როგორც ნამდვილი ბარაბანი! მას ასევე აქვს დისპლეი, სადაც შეგიძლიათ ნახოთ რომელ ბალიშზე მიდიხართ. და თუ გსურთ მისი დუმილის რეჟიმში გამოყენება, უბრალოდ მიამაგრეთ ყურსასმენები ლეპტოპთან!

ნაბიჯი 1: რაც დაგჭირდებათ

მასალა

  • არდუინო უნო
  • პურის დაფა
  • რაღაც მავთული
  • 5x პიეზო
  • 5x 1M Ohm რეზისტორები
  • 5 ქილა თავსახური
  • ევას ქაფი
  • ქაფის დაფა

პროგრამები:

  • Arduino IDE
  • დამუშავება

*იმისათვის, რომ გადმოწეროთ ზემოთ ჩამოთვლილი პროგრამები თქვენს კომპიუტერზე, მიჰყევით ქვემოთ მოცემულ ბმულებს:

  • https://www.arduino.cc/en/main/software
  • https://www.arduino.cc/en/main/software

ნაბიჯი 2: შეიკრიბეთ წრე

შეიკრიბეთ წრე
შეიკრიბეთ წრე
შეიკრიბეთ წრე
შეიკრიბეთ წრე

უპირველეს ყოვლისა, ჩვენ გვჭირდება solder to piezos (GND ყვითელ ნაწილზე და ანალოგური pin მავთულები თეთრი ნაწილი piezo).

ჩვენ გამოვიყენებთ პურის დაფას ყველაფრის დასაკავშირებლად.

შეაერთეთ რეზისტორი და პიეზოს მავთულები, როგორც ეს მოცემულია ზემოთ დიაგრამაში. შემდეგ დააკავშირეთ პურის დაფის GND მავთული GND– ზე Arduino– ზე. დაბოლოს, დააკავშირეთ პიეზოს თითოეული მავთული თქვენს არდუინოს ანალოგიურ პინთან, როგორც ეს ნაჩვენებია ქვემოთ.

პიეზოები დაკავშირებულია ანალოგიურ ქინძისთავებთან:

  • Caixa = A0;
  • ჩარლზი = A1;
  • ტომტომი = A2;
  • ავარია = A3;
  • ბომბო = A4;

ნაბიჯი 3: პროგრამირება

პროგრამა ეს
პროგრამა ეს

ჩვენ გადავწყვიტეთ შევქმნათ ჩვენი საკუთარი დისპლეი დრამკიტისთვის წინასწარ განსაზღვრული პროგრამის გამოყენების ნაცვლად. ჩვენ გამოვიყენეთ დამუშავება ამისათვის.

ჩვენ ის ისე გვაქვს დაპროგრამებული, რომ როდესაც პიეზო მოხვდება, შესაბამისი დრამის ხმა გაისმის. გარდა ამისა, შესაბამისი ბარაბანი ანათებს ეკრანზე.

თქვენ დაგჭირდებათ დამუშავების ხმის იმპორტი და სერიული ბიბლიოთეკების დამუშავება.

ნუ დაგავიწყდებათ დასამატებელი ბგერების დამატება მონაცემთა საქაღალდეში!

ARDUINO კოდი

// პიეზოსები დაკავშირებულია ანალიზის ქინძისთავებთან

const int caixa = A0;

const int charles = A1;

const int tomtom = A2;

const int crash = A3;

const int bombo = A4;

const int ბარიერი = 100; // ბარიერის მნიშვნელობა იმის დასადგენად, როდის არის გამოვლენილი ხმა კაკუნი თუ არა

// წაიკითხეთ და შეინახეთ მნიშვნელობა წაიკითხეთ სენსორის ქინძისთავებიდან

int caixaReading = 0;

int charlesReading = 0;

int tomtomReading = 0;

int crashReading = 0;

int bomboReading = 0;

void setup () {

სერიული.დაწყება (9600); // გამოიყენეთ სერიული პორტი

}

ბათილი მარყუჟი () {

// წაიკითხეთ სენსორი და შეინახეთ ცვლადი სენსორში

caixaReading = analogRead (caixa);

// თუ სენსორის კითხვა აღემატება ზღურბლს:

თუ (caixaReading> = ბარიერი) {

// თუ დააჭერთ CAIXA- ს, გააგზავნეთ 0 დამუშავებისთვის

Serial.print ("0,");

Serial.println (caixaReading);

}

charlesReading = analogRead (ჩარლზი);

თუ (charlesReading> = ბარიერი) {

// თუ მოხვდებით ჩარლზში, გაგზავნეთ 1 დამუშავებაზე

Serial.print ("1");

Serial.println (caixaReading);

}

tomtomReading = analogRead (ტომტომი);

თუ (tomtomReading> = ბარიერი) {

// თუ მოხვდა CAIXA, გაგზავნეთ 2 დამუშავებისთვის

Serial.print ("2");

Serial.println (tomtomReading);

}

crashReading = analogRead (კრახი);

თუ (crashReading> = ბარიერი) {

// თუ მოხვდა CAIXA, გაგზავნეთ 3 დამუშავებაზე

Serial.print ("3");

Serial.println (crashReading);

}

bomboReading = analogRead (ბომბო);

თუ (bomboReading> = 15) {

// თუ მოხვდა CAIXA, გააგზავნე 4 დამუშავებისთვის

Serial.print ("4");

Serial.println (bomboReading);

}

დაგვიანება (10); // შეფერხება სერიული პორტის ბუფერის გადატვირთვის თავიდან ასაცილებლად

}

დამუშავების კოდი

// ხმის და სერიული ბიბლიოთეკების იმპორტი

იმპორტის დამუშავება. ხმა.*;

იმპორტის დამუშავება. სერიალი.*;

სერიული myPort; // შექმენით ობიექტი სერიული კლასიდან

სიმებიანი ვალ; // სერიული პორტიდან მიღებული მონაცემები

// დრამის ხმები

SoundFile caixa;

SoundFile ჩარლზი;

SoundFile tomtom;

SoundFile კრახი;

SoundFile ბომბი;

// DRUMS STUDIO IMAGES

PImage img0;

PImage img1;

PImage img2;

PImage img3;

PImage img4;

PImage img5;

PImage img6;

// DRUMS STUDIO WAVES ცვალებადი

float n = 0;

float n2 = 1;

float n3 = 2;

float n4 = 3;

float n5 = 4;

float y = 0;

float y2 = 1;

float y3 = 2;

float y4 = 3;

float y5 = 4;

ბათილად დაყენება ()

{

// გახსენით რომელი პორტიც არის ის, რასაც თქვენ იყენებთ

სიმებიანი portName = Serial.list () [0]; // შეცვალეთ 0 1 ან 2 და ა.შ., რათა შეესაბამებოდეს თქვენს პორტს

myPort = ახალი სერიალი (ეს, portName, 9600);

// DRUMS STUDIO CONSOLA

ზომა (720, 680);

ფონი (15, 15, 15);

ინსულტი წონა (2);

// ჩატვირთეთ დრამის სტუდიური სურათები

img0 = loadImage ("drumsstudio.png");

img1 = loadImage ("res.png");

img2 = loadImage ("caixa.png");

img3 = loadImage ("charles.png");

img4 = loadImage ("tomtom.png");

img5 = loadImage ("crash.png");

img6 = loadImage ("bombo.png");

// ხმის ჩატვირთვა

caixa = ახალი SoundFile (ეს, "caixa.aiff");

charles = ახალი SoundFile (ეს, "charles.aiff");

tomtom = ახალი SoundFile (ეს, "tomtom.aiff");

კრახი = ახალი SoundFile (ეს, "crash.aiff");

bombo = ახალი SoundFile (ეს, "bombo.aiff");

}

ბათილად გათამაშება ()

{

// TITULO DRUMS STUDIO

სურათი (img0, 125, 0);

// ტალღების ნახაზი

if (y> 720) // კვლავ დაიწყეთ ტალღები

{

y = 0;

y2 = 1;

y3 = 2;

y4 = 3;

y5 = 4;

}

შევსება (0, 10);

სწორი (0, 0, სიგანე, სიმაღლე);

// დეჟამოს შეავსეთ blanco para

// დიბუჯარ ლა ბოლა

შევსება (255);

ინსულტი (250, 255, 3);

წერტილი (y, (სიმაღლე -40) + ცოდვა (n) * 30);

n = n + 0.05;

y = y + 1;

ინსულტი (250, 255, 3);

წერტილი (y2, (სიმაღლე -40) + cos (n2) * 30);

n2 = n2 + 0.05;

y2 = y2 + 1;

ინსულტი (250, 255, 3);

წერტილი (y3, (სიმაღლე -40) + ცოდვა (n3) * 30);

n3 = n3 + 0.05;

y3 = y3 + 1;

ინსულტი (250, 255, 3);

წერტილი (y4, (სიმაღლე -40) + cos (n4) * 30);

n4 = n4 + 0.05;

y4 = y4 + 1;

ინსულტი (250, 255, 3);

წერტილი (y5, (სიმაღლე -40) + ცოდვა (n5) * 30);

n5 = n5 + 0.05;

y5 = y5 + 1;

// DIBUJO BATERIA SIN NINGUNA PARTE ILUMINADA

სურათი (img1, 0, 80);

// გამოსავალი ყოველი შეყვანისთვის

თუ (myPort.available ()> 0)

{// თუ მონაცემები ხელმისაწვდომია, val = myPort.readStringUntil ('\ n'); // წაიკითხეთ და შეინახეთ ვალში

println (val);

სიმებიანი სია = გაყოფილი (val, ','); // გახსენით სია თითოეული შეყვანის მნიშვნელობის აღებისთვის

თუ (სია! = null)

{

if (სია [0]. თანაბარია ("0")) {// თუ კაისას დაარტყამთ

caixa.play (); // დაუკარი caixa ბგერა

სურათი (img2, 0, 80); // caixa არის განათებული ეკრანზე

println ("caixa"); // დაბეჭდე კონსოლში

} else if (სია [0]. ტოლია ("1")) {// თუ ჩარლზს დაარტყამთ

charles.play (); // ჩარლის ხმის დაკვრა

სურათი (img3, 0, 80); // ჩარლზი ანათებს ეკრანზე

println ("ჩარლზი"); // დაბეჭდე კონსოლში

} else if (სია [0]. ტოლია ("2")) {// თუ თქვენ მოხვდით ტომტომზე

tomtom.play (); // ტომტომის ხმის დაკვრა

სურათი (img4, 0, 80); // ტომტომი განათებულია ეკრანზე

println ("tomtom"); // დაბეჭდე კონსოლში

} else if (სია [0]. თანაბარია ("3")) {// თუ კრახს მოხვდებით

crash.play (); // კრახის ხმის დაკვრა

სურათი (img5, 0, 80); // კრახი განათებულია ეკრანზე

println ("კრახი"); // დაბეჭდე კონსოლში

} else if (სია [0]. ტოლია ("4")) {// თუ ბომბს დაარტყამთ

bombo.play (); // ბომბოს ხმის დაკვრა

სურათი (img6, 0, 80); // ბომბო განათებულია ეკრანზე

println ("ბომბო"); // დაბეჭდე კონსოლში

}

}

}

}

ნაბიჯი 4: ააშენეთ იგი

ააშენე იგი
ააშენე იგი
ააშენე იგი
ააშენე იგი
ააშენე იგი
ააშენე იგი
ააშენე იგი
ააშენე იგი

პროტოტიპის რეალიზებისთვის, ჩვენ გვაქვს

იყენებდა ყოველდღიურ ელემენტებს პროცესის გასამარტივებლად, მაგრამ ყოველთვის ეძებდა ფუნქციურობას და კარგ დასრულებას.

პირველი ნაბიჯი იყო კაბელების შედუღება პიეზოელექტრზე, მათი სიგრძის მოჭრა საკმარისი იმისათვის, რომ ჰქონდეთ თავისუფლება ბატარეის მაგიდაზე მოწყობისას ან სად მივდივართ პრაქტიკაში.

გარკვეული კვლევის შემდეგ, ჩვენ შევამჩნიეთ, რომ მნიშვნელოვანია, რომ ბალიშმა ოპტიმალურად გადასცეს თითოეული ზემოქმედების ვიბრაცია პიეზოელექტრზე, ისე რომ მასალები, როგორიცაა ხე ან პლასტმასი, გადაყრილი იყოს. საბოლოოდ, ჩვენ შევარჩიეთ კონსერვებისთვის ლითონის ხუფების გამოყენება, რომლებიც შეესაბამება მათ ფუნქციებს და აქვთ შესაფერისი გარეგნობა მათი დანიშნულებისამებრ.

დასარტყამ ბარაბნებთან ერთად და როგორც მოსალოდნელი იყო, ზემოქმედება იყო ძალიან ხმაურიანი და დაშორდა ჩუმი დრამის გადაწყვეტას. მისი გადაჭრის მიზნით, ჩვენ ვფარავთ ზედაპირს ევას ქაფით, ვჭრით სახურავის ცენტრალური წრეწირის ზომებს. იგი საკმარისად თხელია ორმხრივი ლენტით, ისე რომ რელიეფი არ შესამჩნევია თამაშის დროს. გარდა ამისა, ვინაიდან ხუფების პირას კვლავ შემაშფოთებელი ხმაური იყო, რამაც ხელი შეგვიშალა კომფორტულად თამაშში, ჩვენ ცხელ დნობის წებოს რამდენიმე პატარა წვეთი დავდგით ზღვარზე, რათა თავიდან ავიცილოთ ბალიში, რომ არ დაეცეს და მაქსიმალურად შეარბილოს თითოეული დარტყმა.

შეხების დროს ოთხი ბალიშის გაფანტვის თავიდან ასაცილებლად, ჩვენ მათ წყვილებში შევუერთდით ხრახნიანი ბარის საშუალებით, რომელიც შემოვიდა შიგნიდან, შიგნიდან დაფიქსირებულია პატარა თხილით. პრობლემა, როდესაც ჩვენ დავიწყეთ თამაში იყო ის, რომ რადგან ეს იყო მეტალის მასალა, მან გადასცა ვიბრაცია ერთი ბალიშიდან მეორეზე, ასე რომ, როდესაც ჩვენ ვითამაშეთ ერთი, მისი პარტნიორი ერთდროულად ჟღერდა.

ბოლოს ჩვენ ამოვიღეთ წნელები და დავინახეთ, რომ საკმარისი და კიდევ უფრო პრაქტიკული იყო პიეზო კაბელის გამოყენება როგორც კავშირი.

რაც შეეხება პედლს, ჩვენ გვქონდა საწყისი იდეა პიეზოს სენდვიჩს შორის გამართვა; რათა თავიდან იქნას აცილებული პიეზოს პირდაპირი ზემოქმედება მიწაზე. ამისათვის ჩვენ დავამაგრეთ პიეზო ხის ფირფიტაზე და შევაწებეთ იმავე ზომის სხვა PVC ფირფიტა, რომლისთვისაც ჩვენ გავაკეთეთ პატარა ბზარი, რაც ხელს უწყობს და იტევს როგორც პიეზოს, ასევე კაბელს.

თავდაპირველად ჩვენ გამოვიყენეთ PVC ორივე ფირფიტისთვის, მაგრამ რამდენიმე ტესტის შემდეგ მივხვდით, რომ ეს მასალა ძალიან შთანთქავდა და გადასცემდა მას პიეზოზე.

იმისთვის, რომ პედლები არ დაიხუროს და არ დაიძრათ, ჩვენ გადავწყვიტეთ, რომ სენდვიჩს შორის მოვათავსოთ რეზინის ბენდი, რომ პედლები ფეხი დავიჭიროთ და უზრუნველვყოთ თითოეული დარტყმა ბარაბანზე.

საბოლოოდ, უკეთესი დასრულების მისაღწევად, ჩვენ თვითონ ავაშენეთ პატარა ყუთი, რომელშიც განთავსებული იყო პროტობორდი და არდუინო. ეს არის ის, სადაც 5 კაბელი შემოდის ერთ მხარეს და საშუალებას აძლევს USB კაბელს იყოს დაკავშირებული მეორეზე. იგი დამონტაჟებულია შავი ბუმბულის მუყაოზე, მისი მარტივი დამუშავებისთვის და მთელი პროტოტიპის შავი და თეთრი ესთეტიკით გასაგრძელებლად.

გირჩევთ: