Სარჩევი:

კლავიატურის მოდულის პიანინო RGB LED- ით: 5 ნაბიჯი (სურათებით)
კლავიატურის მოდულის პიანინო RGB LED- ით: 5 ნაბიჯი (სურათებით)

ვიდეო: კლავიატურის მოდულის პიანინო RGB LED- ით: 5 ნაბიჯი (სურათებით)

ვიდეო: კლავიატურის მოდულის პიანინო RGB LED- ით: 5 ნაბიჯი (სურათებით)
ვიდეო: Revive Your Acer Aspire 5 (2019): Keyboard Replacement and Teardown Guide 2024, ივლისი
Anonim
Image
Image
საჭირო მასალები
საჭირო მასალები

შესავალი

გამარჯობა ქალბატონებო და ბატონებო, კეთილი იყოს თქვენი მობრძანება ჩემს პირველ სასწავლებელში! დღეს მე გასწავლით თუ როგორ უნდა შექმნათ ფორტეპიანო, რომლის ძირითადი კომპონენტებია კლავიატურის მოდული და პიეზო ზარი და შეძლებს DO-RE-MI დაკვრას და ასე შემდეგ.

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

იდეის კონცეფცია

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

Კვლევა

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

ნაბიჯი 1: საჭირო მასალები

საჭირო მასალები
საჭირო მასალები
საჭირო მასალები
საჭირო მასალები
საჭირო მასალები
საჭირო მასალები

მასალების სია

  • პიეზო ბუზერი 1x ▶
  • 4x4 კლავიატურის მოდული 1x ▶
  • Arduino Uno 1x ▶
  • USB 2.0 კაბელი ტიპი A/B 1x ▶
  • ხმის სენსორის მოდული 1x ▶
  • RGB LED 1x ▶ https://store.arduino.cc/usa/5x-rgb-led-5 მმ
  • 330 ohm რეზისტორი 3x ▶
  • მამაკაცი მდედრი მხტუნავი მავთული 8x ▶
  • მამაკაცი მამაკაცი მხტუნავი მავთული 4x ▶
  • 3 პინი მამაკაცის მდედრობითი მხტუნავი მავთული 1x ▶

მასალების სია დალაგებულია ზემოთ მოყვანილი სურათებით.

ნაბიჯი 2: შექმენით დრო

მშენებლობის დრო!
მშენებლობის დრო!
მშენებლობის დრო!
მშენებლობის დრო!
მშენებლობის დრო!
მშენებლობის დრო!
მშენებლობის დრო!
მშენებლობის დრო!

4x4 კლავიატურის მოდული და პიეზო ბუზერი

თეორია

რადგან 4x4 კლავიატურის მოდული და პიეზო ზუზერი შეიცავს ამდენ ინდივიდუალურ პინ შეყვანას და მე გადავწყვეტ, რომ გამოყენებული კომპონენტები ორ წყვილად გავყო. კლავიატურაზე ფოკუსირება, ჩვეულებრივ გამოიყენება შესასვლელად. SunFounder 4*4 მატრიქსის კლავიატურის მოდული არის მატრიცული დაშიფრული კლავიატურა, რომელიც შედგება პარალელურად 16 კლავიშისგან, თითოეული სტრიქონისა და სვეტის გასაღებები დაკავშირებულია გარე ქინძისთავებით- პინი Y1-Y4, როგორც იარლიყით მწკრივების კონტროლის გვერდით, როდესაც X1- X4, სვეტები.

მიზანი

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

მატრიცის მოდულის პინი - არდუინოს პინი

  • 4 - 2
  • 3 - 3
  • 2 - 4
  • 1 - 5
  • 5 - 6
  • 6 - 7
  • 7 - 8
  • 8 - 13

პიეზო ბუზერი - არდუინოს პინი

შავი - GND

წითელი - ძალა

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

*რჩევა უნდა დაიცვას, სადაც თითოეული მავთული მდებარეობს ერთი ბოლოდან მეორეზე.

კონკრეტული კომპონენტის მავთულის ყველა Tinkercad ესკიზი სწორად არის კოდირებული, ასე რომ ყურადღებით მიჰყევით მას

ნაბიჯი 3: ხმის სენსორის მოდული და RGB LED

ხმის სენსორის მოდული და RGB LED
ხმის სენსორის მოდული და RGB LED
ხმის სენსორის მოდული და RGB LED
ხმის სენსორის მოდული და RGB LED
ხმის სენსორის მოდული და RGB LED
ხმის სენსორის მოდული და RGB LED

ხმის სენსორის მოდული და RGB LED

თეორია

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

მიზანი

ამ კომპონენტების მიზანი მთლიანი პროექტისათვის არის ხმის სენსორის მოდულის ხმის/მოცულობის წაკითხვა და ამის საშუალებით RGB LED- ის წაკითხვა გაააქტიურებს ბგერასთან დაკავშირებულ სწორ ფერს.

ხმის სენსორის მოდული - Arduino Pin (გამოიყენეთ 3 Pin Jumper Wire)

  • გამომავალი - A0 ანალოგური პინი
  • GND - ნებისმიერი ღია GND pin სლოტი
  • VCC - 3V

RGB საერთო ანოდი (+) LED - Arduino Pin

  • წითელი - 9
  • სიმძლავრე - 5 ვ
  • მწვანე - 10
  • ლურჯი - 11

გაითვალისწინეთ მავთული, თითოეული ინდივიდუალური მავთული 330 ოჰმეტიანი რეზისტორის საშუალებით. გამოიყენეთ ზემოთ მოყვანილი სურათი, როგორც მითითება.

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

*რჩევა უნდა დაიცვას, სადაც თითოეული მავთული ისეა ჩასმული

კონკრეტული კომპონენტის მავთულის ყველა Tinkercad ესკიზი სწორად არის კოდირებული, ასე რომ მიჰყევით

ნაბიჯი 4: კოდი

კოდი

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

ამ კოდში უნდა იყოს კლავიატურის ბიბლიოთეკა

ბმული აქ:

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

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

კოდი

#მოიცავს // კლავიატურის ბიბლიოთეკა

int greenPin = 11; // RGB მწვანე პინი დაკავშირებულია ციფრულ პინთან 9

int redPin = 10; // RGB წითელი პინი დაკავშირებულია ციფრულ პინთან 9

int bluePin = 9; // RGB ლურჯი პინი დაკავშირებულია ციფრულ პინთან 9 int speakerPin = 12; // დინამიკი, რომელიც დაკავშირებულია ციფრულ პინთან 12 const byte ROWS = 4; // ოთხი სტრიქონი const byte COLS = 4; // ოთხი კოლომი const int soundPin = A0; // ხმის სენსორი მიამაგრეთ A0

char ღილაკები [ROWS] [COLS] = {

{'a', 'b', 'c', 'd'}, {'e', 'f', 'g', 'h'}, {'i', 'j', 'k', ' l '}, {' m ',' n ',' o ',' p '}}; // კლავიატურის მოდულის ვიზუალიზაცია

byte rowPins [ROWS] = {2, 3, 4, 5}; // დაკავშირება კლავიატურის რიგის პინუტებთან

ბაიტი colPins [COLS] = {6, 7, 8, 13}; // დაკავშირება კლავიატურის სვეტის პინუტებთან

კლავიატურის კლავიატურა = კლავიატურა (makeKeymap (გასაღებები), rowPins, colPins, ROWS, COLS); // ქმნის გასაღებებს

void setup () {

pinMode (speakerPin, OUTPUT); // ადგენს speakerPin- ს გამომავალს

pinMode (redPin, OUTPUT); // ადგენს წითელ პინს გამომავალი pinMode (greenPin, OUTPUT); // ადგენს მწვანე პინს გამომავალი pinMode (bluePin, OUTPUT); // ადგენს ლურჯ პინს გამომავალს

სერიული.დაწყება (9600);

} void setColor (int წითელი, int მწვანე, int blue) // ახალი განსაზღვრული ფუნქცია, რომელიც RGB- ს საშუალებას აძლევს აჩვენოს ფერი RGB კოდით {#ifdef COMMON_ANODE წითელი = 255 - წითელი; მწვანე = 255 - მწვანე; ლურჯი = 255 - ლურჯი; #endif analogWrite (redPin, წითელი); analogWrite (greenPin, მწვანე); analogWrite (bluePin, ლურჯი); }

void beep (ხელმოუწერელი char speakerPin, int frequencyInHertz, long timeInMilliseconds) {// ხმის გამომუშავების ფუნქციები

int x; ხანგრძლივი შეფერხება = = გრძელი (1000000/frequencyInHertz); long loopTime = (გრძელი) ((timeInMilliseconds*1000)/(delayAmount*2)); for (x = 0; x

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

char გასაღები = keypad.getKey (); int მნიშვნელობა = analogRead (soundPin); // წაიკითხეთ A0 Serial.println (მნიშვნელობა); // დაბეჭდეთ მნიშვნელობა

თუ (გასაღები! = NO_KEY) {

Serial.println (გასაღები); } if (გასაღები == 'a') {სიგნალი (speakerPin, 2093, 100); setColor (218, 112, 214); } if (გასაღები == 'b') {სიგნალი (speakerPin, 2349, 100); setColor (218, 112, 214); } if (გასაღები == 'c') {სიგნალი (speakerPin, 2637, 100); setColor (218, 112, 214); } if (გასაღები == 'd') {სიგნალი (speakerPin, 2793, 100); setColor (218, 112, 214); } if (გასაღები == 'e') {სიგნალი (speakerPin, 3136, 100); setColor (218, 112, 214); } if (გასაღები == 'f') {სიგნალი (speakerPin, 3520, 100); setColor (218, 112, 214); } if (გასაღები == 'g') {სიგნალი (speakerPin, 3951, 100); setColor (218, 112, 214); } if (გასაღები == 'h') {სიგნალი (speakerPin, 4186, 100); setColor (218, 112, 214); } if (გასაღები == 'i') {სიგნალი (speakerPin, 2093, 100); setColor (230, 230, 0); } if (გასაღები == 'j') {სიგნალი (speakerPin, 2349, 100); setColor (180, 255, 130); } if (გასაღები == 'k') {სიგნალი (speakerPin, 2637, 100); setColor (130, 255, 130); } if (გასაღები == 'l') {სიგნალი (speakerPin, 2739, 100); setColor (130, 220, 130); } if (გასაღები == 'm') {სიგნალი (speakerPin, 3136, 100); setColor (0, 255, 255); } if (გასაღები == 'n') {სიგნალი (speakerPin, 3520, 100); setColor (0, 220, 255); } if (გასაღები == 'o') {სიგნალი (სპიკერი, 3951, 100); setColor (0, 69, 255); } if (გასაღები == 'p') {სიგნალი (speakerPin, 4186, 100); setColor (255, 0, 255); }}

ნაბიჯი 5: საბოლოო აზრები

Image
Image

დასკვნითი ფიქრები

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

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

გთხოვთ აუცილებლად გააზიაროთ თუ მოგეწონათ არდუინოს პროექტი.

გირჩევთ: