Სარჩევი:
- ნაბიჯი 1: საჭირო მასალები
- ნაბიჯი 2: შექმენით დრო
- ნაბიჯი 3: ხმის სენსორის მოდული და RGB LED
- ნაბიჯი 4: კოდი
- ნაბიჯი 5: საბოლოო აზრები
ვიდეო: კლავიატურის მოდულის პიანინო RGB LED- ით: 5 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
შესავალი
გამარჯობა ქალბატონებო და ბატონებო, კეთილი იყოს თქვენი მობრძანება ჩემს პირველ სასწავლებელში! დღეს მე გასწავლით თუ როგორ უნდა შექმნათ ფორტეპიანო, რომლის ძირითადი კომპონენტებია კლავიატურის მოდული და პიეზო ზარი და შეძლებს 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
თეორია
ხმის სენსორის მოდული საშუალებას გაძლევთ აღმოაჩინოთ, როდესაც ხმამ გადააჭარბა თქვენს მიერ არჩეულ მითითებულ წერტილს. ხმა გამოვლენილია მიკროფონის საშუალებით და იკვებება 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: საბოლოო აზრები
დასკვნითი ფიქრები
ამ პროექტის საბოლოო აზრი არის მისი მიზანია იყოს სათამაშო, მოიტანოს გართობა და გამარტივებული სიხარული. ვინაიდან ეს პროექტი დასრულებულია და მუშავდება, მე მჯერა, რომ ეს სტრუქტურა შეიძლება გააძლიეროს შესაძლოა უფრო მეტ კომპონენტთან ერთად, როგორიცაა ჩაწერის ელემენტი, ან ასლი/სიმონის ნათქვამი ელემენტი, ან თუნდაც LCD ნოტებით, რომლითაც ჩანს კონკრეტული სიმღერა.
მე სიამოვნებით ვიცნობდი თქვენს აზრს კლავიატურის მოდულის შესახებ, რა კომპონენტების აზრით შეიძლებოდა დამატებულიყო. აპირებთ მის გამოყენებას თქვენს რომელიმე პროექტში? გთხოვთ გამოაქვეყნოთ თქვენი იდეები ქვემოთ მოცემულ კომენტარებში.
გთხოვთ აუცილებლად გააზიაროთ თუ მოგეწონათ არდუინოს პროექტი.
გირჩევთ:
წყლის პიანინო დამზადებულია მინის ქილაში: 3 ნაბიჯი
წყლის პიანინო დამზადებულია შუშის ქილაში: ეს არის საოცარი და მარტივი პროექტი ყველასთვის. მე არ გამოვიყენე მიკროკონტროლერი ან IC. წყლის პიანინო იყენებს პატარა ქილებს. ეს მართლაც ძირითადი პროექტია. ამ პროექტის შესასრულებლად მიჰყევით ინსტრუქციას. მოთხოვნები- ნებისმიერი ზომის ქილები, სულ მცირე 4-დან მაქსიმუმამდე
საჰაერო პიანინო IR სიახლოვის სენსორის, სპიკერის და Arduino Uno– ს გამოყენებით (განახლებული/ნაწილი 2): 6 ნაბიჯი
საჰაერო პიანინო IR სიახლოვის სენსორის, სპიკერისა და არდუინო უნოს გამოყენებით (განახლებული/ნაწილი 2): ეს არის საჰაერო ფორტეპიანოს წინა პროექტის განახლებული ვერსია?. აქ მე გამოვიყენე JBL სპიკერი, როგორც გამომავალი. მე ასევე შევიტანე შეხების მგრძნობიარე ღილაკი რეჟიმების შესაცვლელად მოთხოვნების შესაბამისად. მაგალითად- მყარი ბასის რეჟიმი, ნორმალური რეჟიმი, მაღალი
SMD 555 ტაიმერი პიანინო!: 4 ნაბიჯი (სურათებით)
SMD 555 ტაიმერი ფორტეპიანო!: გამარჯობა ყველას! ამ სასწავლო ინსტრუქციაში მე გაჩვენებთ, თუ როგორ უნდა გააკეთოთ პატარა ფორტეპიანო საერთო ტაიმერის გამოყენებით 555, მაგრამ SMD კომპონენტებით! SMD ნიშნავს ზედაპირზე დამონტაჟებულ მოწყობილობას და ეს კომპონენტები დამონტაჟებულია ან მოთავსებულია პირდაპირ დაბეჭდილ ზედაპირზე
ულტრაბგერითი პიანინო ჟესტური კონტროლით!: 10 ნაბიჯი (სურათებით)
ულტრაბგერითი Pi ფორტეპიანო ჟესტების კონტროლით!: ეს პროექტი იყენებს იაფი HC-SR04 ულტრაბგერითი სენსორების შეყვანას და წარმოქმნის MIDI ჩანაწერებს, რომლებიც შეიძლება ჟანგვის Pi- ზე სინთეზატორით დაკვრა მაღალი ხარისხის ხმისთვის. პროექტი ასევე იყენებს ჟესტების კონტროლის ძირითად ფორმას , სადაც მუსიკა
კლავიატურის ინტერფეისი 8051 -ით და კლავიატურის ნომრების ჩვენება 7 სეგმენტში: 4 ნაბიჯი (სურათებით)
კლავიატურის ინტერფეისი 8051 -ით და კლავიატურის ნომრების ჩვენება 7 სეგმენტში: ამ გაკვეთილში მე გეტყვით იმაზე, თუ როგორ შეგვიძლია დავაკავშიროთ კლავიატურა 8051 -თან და გამოვაჩინოთ კლავიატურის ნომრები 7 სეგმენტის ეკრანზე