İçindekiler:

RGB LED'li Tuş Takımı Modülü Piyano: 5 Adım (Resimlerle)
RGB LED'li Tuş Takımı Modülü Piyano: 5 Adım (Resimlerle)

Video: RGB LED'li Tuş Takımı Modülü Piyano: 5 Adım (Resimlerle)

Video: RGB LED'li Tuş Takımı Modülü Piyano: 5 Adım (Resimlerle)
Video: İllüzyondan Kaçış: Bernardo Kastrup Gerçeği Ortaya Çıkarıyor 2024, Temmuz
Anonim
Image
Image
İhtiyac duyulan malzemeler
İhtiyac duyulan malzemeler

giriş

Merhaba bayanlar ve beyler, ilk dersime hoş geldiniz! Bugün size, ana bileşenleri bir tuş takımı modülü ve bir piezo buzzer olan bir piyanonun nasıl oluşturulacağını ve onun DO-RE-MI ve benzerlerini çalabilmesini öğreteceğim.

Tuş takımı modülünün en sık amaçlanan amacı, değerli eşyalar için bir kasa oluşturmak üzere bir arduino RFID ile birleştirilmiş bir tuş takımı olmaktır. Bu durumda tuş takımını değiştirdim, bir şeyi korumak yerine basit neşe ve müziği konuşmak için kullanmaya karar verdim.

fikir kavramı

Bu yaratım için fikir konsepti, müzik dersinde daha gençken ksilofon çalarken basit bir mutlu hatıradan evrildi. Vücudumda dolaşan neşe ve heyecan doruktaydı, yani her çocuk kolayca tatmin oldu ve benim memnuniyetim ksilofon çalmaktı.

Araştırma

Yukarıdaki ampul fikriniz yandıktan sonra biraz araştırma yapmak gerekiyor. İnternette bir süre gezindikten sonra, ilk başta aklıma gelen fikrime rastladım! Bir tuş takımı modülü piyanoya döndü, birisi aynı proje videosunu burada oluşturmuş. İleriyi düşündüğümde, projeyi daha da geliştirecek, ancak onu daha ilgi çekici hale getirecek ve ona benim diyebileceğim ayrı bir bileşen eklemem gerekiyordu.

Adım 1: Gerekli Malzemeler

İhtiyac duyulan malzemeler
İhtiyac duyulan malzemeler
İhtiyac duyulan malzemeler
İhtiyac duyulan malzemeler
İhtiyac duyulan malzemeler
İhtiyac duyulan malzemeler

Malzeme Listesi

  • Piezo Buzzer 1x ▶
  • 4x4 tuş takımı modülü 1x ▶
  • Arduino Uno 1x ▶
  • USB 2.0 kablo tipi A/B 1x ▶
  • Ses Sensörü Modülü 1x ▶
  • RGB LED 1x ▶
  • 330 ohm direnç 3x ▶
  • Erkekten dişiye aktarma kablosu 8x ▶
  • Erkekten erkeğe aktarma kablosu 4x ▶
  • 3 pinli Erkekten dişiye aktarma kablosu 1x ▶

Malzeme listesi yukarıdaki resimlerle uyumludur.

Adım 2: İnşa Süresi

İnşaat Zamanı!
İnşaat Zamanı!
İnşaat Zamanı!
İnşaat Zamanı!
İnşaat Zamanı!
İnşaat Zamanı!
İnşaat Zamanı!
İnşaat Zamanı!

4x4 Tuş Takımı Modülü ve Piezo Buzzer

teori

4x4 tuş takımı modülü ve piezo buzzer çok sayıda bireysel pin girişi içerdiğinden, kullanılan bileşenleri iki çifte ayırmaya karar vereceğim. Genellikle giriş olarak kullanılan tuş takımına odaklanma. SunFounder 4*4 Matris Tuş Takımı Modülü, paralel olarak 16 tuştan oluşan matris kodsuz bir tuş takımıdır, Her satır ve sütunun tuşları, X1- olduğunda, satırları kontrol etmenin yanında etiketli Y1-Y4 pinleri ile dıştaki pinler aracılığıyla bağlanır. X4, sütunlar.

Amaç

Bu bileşenlerin tüm projedeki amacı, kullanıcının hertz cinsinden frekans üzerinden piezo buzzer tarafından oluşturulan belirli bir sese ayarlanmış bir düğmeye basmasına izin vermektir.

Matrix Modül Pimi - Arduino Pimi

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

Piezo Buzzer - Arduino Pimi

Siyah - GND

Kırmızı güç

Bu yapıdaki en zor görevim, her bir kablonun nereye takıldığını bulmak. Yukarıda, yukarıdan aşağıya doğru takip edildiği sürece, tel konumlarının nasıl hızlı ve kolay bir şekilde nasıl yapılacağını size sağladım, uç zaman ayırın ve her pimin doğru yuvaya doğru şekilde yerleştirildiğinden emin olun.

*İpucu, her bir telin bir uçtan diğerine nerede olduğunu takip etmektir.

Belirli bileşen kablolarının tüm Tinkercad çizimleri doğru renk kodludur, bu nedenle dikkatli bir şekilde takip edin

Adım 3: Ses Sensörü Modülü ve RGB LED

Ses Sensörü Modülü ve RGB LED
Ses Sensörü Modülü ve RGB LED
Ses Sensörü Modülü ve RGB LED
Ses Sensörü Modülü ve RGB LED
Ses Sensörü Modülü ve RGB LED
Ses Sensörü Modülü ve RGB LED

Ses Sensörü Modülü ve RGB LED

teori

Ses sensörü modülü, sesin seçtiğiniz bir ayar noktasını aştığını algılamanıza olanak tanır. Ses bir mikrofon aracılığıyla algılanır ve bir LM393 op amp'e beslenir. Ses seviyesi ayar noktasını aştığında modül üzerindeki bir LED yanar ve çıkış verilir.

Amaç

Bu bileşenlerin tüm projedeki amacı, ses sensör modülünün ses/volüm okumasını elde etmek ve bu okuma yoluyla bir RGB LED'i sese ait doğru rengi aktif hale getirmektir.

Ses Sensörü Modülü - Arduino Pimi (3 Pinli Atlama Kablosu Kullanın)

  • Çıkış - A0 Analog Pin
  • GND - Herhangi bir açık GND pin yuvası
  • VCC - 3V

RGB Ortak Anot (+) LED - Arduino Pin

  • Kırmızı - 9
  • Güç - 5V
  • Yeşil - 10
  • Mavi - 11

Her bir kabloyu 330 ohm'luk bir direnç üzerinden kablolamayı unutmayın. Yukarıdaki resmi referans olarak kullanın.

Bu yapıdaki en zor görevim, her bir kablonun nereye takıldığını bulmak. Yukarıda, yukarıdan aşağıya doğru takip edildiği sürece, kablo konumlarının nasıl hızlı ve kolay bir şekilde yapılacağını size sağlıyorum, ipucu zaman ayırmak ve gelecekteki hata ayıklamayı önlemek için her pimin doğru yuvaya doğru şekilde yerleştirildiğinden emin olmaktır.

*İpucu, her iki şekilde de her bir kablonun nereye takıldığını takip etmektir

Belirli bileşen kablolarının tüm Tinkercad çizimleri doğru renk kodludur, bu nedenle izleyin

4. Adım: Kod

kod

Bu kod, tüm bileşenlerin, tüm kontrolleri içermek için yeni tanımlanmış işlevi kullanarak, birçok değişken değişkene sahip tek bir bileşeni kullanarak birlikte çalışmasına izin verir, bu bileşenler RGB led'di ve açıkken rengi değiştirmek için rgb rengini ve piezo buzzer'ı ve Düğmeye basmaya bağlı olarak çıkaracağı ses.

Bu kodun içinde olması gereken bir şey, tuş takımı kitaplığıydı.

Buraya bağlantı verin:

İndirdikten sonra yeni kütüphaneyi arduino'ya ekleyin, ardından etkinleştirmek için gereken tek kod satırını ekleyin.

Kodlama sırasında yaşadığım zorluklar, deneme yanılma yoluyla yeni tanımlanan işlevleri nereye yerleştireceğimdi, döngüde değil kurulumda olması gerektiğini anladım.

kod

#include // Tuş Takımı Kitaplığı

int yeşilPin = 11; //RGB Yeşil Pin dijital pin 9'a bağlı

int redPin= 10; //RGB Red Pin, dijital pin 9'a bağlı

int bluePin = 9; //RGB Mavi Pin dijital pin 9'a bağlı int SpeakerPin = 12; // dijital pin 12'ye bağlı hoparlör sabit bayt SATIR = 4; // dört satır const bayt COLS = 4; // dört sütun const int soundPin = A0; // ses sensörü A0'a bağlanıyor

karakter tuşları[ROWS][COLS] = {

{'a', 'b', 'c', 'd'}, {'e', 'f', 'g', 'h'}, {'i', 'j', 'k', ' l'}, {'m', 'n', 'o', 'p'} }; // Tuş takımı modülünün görselleştirilmesi

bayt rowPins[SATIR] = {2, 3, 4, 5}; // tuş takımının satır pinlerine bağlanın

bayt colPins[COLS] = {6, 7, 8, 13}; // tuş takımının sütun pin çıkışlarına bağlanın

Tuş takımı tuş takımı = Tuş takımı (makeKeymap(tuşlar), rowPins, colPins, ROWS, COLS); // Anahtarları oluşturur

geçersiz kurulum(){

pinMode(hoparlörPin, ÇIKIŞ); // SpeakerPin'i çıkış olarak ayarlar

pinMode(redPin, OUTPUT); // kırmızı pini çıkış pinMode'u olarak ayarlar(greenPin, OUTPUT); // yeşil pini çıkış pinMode'u olarak ayarlar(bluePin, OUTPUT); // mavi pini çıkış olarak ayarlar

Serial.başlangıç (9600);

} void setColor(int red, int green, int blue) // RGB'nin RGB kodu aracılığıyla rengi göstermesine izin veren yeni tanımlı fonksiyon { #ifdef COMMON_ANODE red = 255 - red; yeşil = 255 - yeşil; mavi = 255 - mavi; #endif analogWrite(redPin, kırmızı); analogWrite(greenPin, yeşil); analogWrite(bluePin, mavi); }

void bip (işaretsiz karakter hoparlörPin, int frekansInHertz, long timeInMilliseconds){ // ses üreten işlevler

int x; uzun gecikmeAmount = (uzun)(1000000/frequencyInHertz); long loopTime = (long)((timeInMillisaniye*1000)/(delayAmount*2)); için (x=0;x

boşluk döngüsü (){

karakter tuşu = keypad.getKey(); int değeri = analogRead(soundPin);//A0 Serial.println(değer) değerini oku;//değeri yazdır

if (anahtar != NO_KEY) {

Seri.println(anahtar); } if (key=='a'){ bip(speakerPin, 2093, 100); setColor(218, 112, 214); } if (key=='b'){ bip(speakerPin, 2349, 100); setColor(218, 112, 214); } if (anahtar=='c'){ bip(speakerPin, 2637, 100); setColor(218, 112, 214); } if (key=='d'){ bip(speakerPin, 2793, 100); setColor(218, 112, 214); } if (key=='e'){ bip(speakerPin, 3136, 100); setColor(218, 112, 214); } if (key=='f'){ bip(speakerPin, 3520, 100); setColor(218, 112, 214); } if (key=='g'){ bip(speakerPin, 3951, 100); setColor(218, 112, 214); } if (key=='h'){ bip(speakerPin, 4186, 100); setColor(218, 112, 214); } if (anahtar=='i'){ bip(speakerPin, 2093, 100); setColor(230, 230, 0); } if (key=='j'){ bip(speakerPin, 2349, 100); setColor(180, 255, 130); } if (key=='k'){ bip(speakerPin, 2637, 100); setColor(130, 255, 130); } if (key=='l'){ bip(speakerPin, 2739, 100); setColor(130, 220, 130); } if (key=='m'){ bip(speakerPin, 3136, 100); setColor(0, 255, 255); } if (key=='n'){ bip(speakerPin, 3520, 100); setColor(0, 220, 255); } if (key=='o'){ bip(speakerPin, 3951, 100); setColor(0, 69, 255); } if (key=='p'){ bip(speakerPin, 4186, 100); setColor(255, 0, 255); } }

Adım 5: Son Düşünceler

Image
Image

Son düşünceler

Bu projenin nihai amacı, bir oyuncak olmak, eğlenceli ve basit bir neşe getirmektir. Bu proje tamamlanmış ve üzerinde çalıştığı için, bu yapının bir kayıt öğesi veya kopyala/simon diyor öğesi gibi daha fazla bileşenle veya hatta belirli bir şarkıyı çalıyor gibi görünen notalarla LCD gibi daha fazla bileşenle ilerleyebileceğine inanıyorum.

Tuş Takımı Modülü hakkındaki düşüncelerinizi, hangi bileşenlerin eklenebileceğini düşündüğünüzü bilmek isterim. Herhangi bir projenizde kullanacak mısınız? Lütfen fikirlerinizi aşağıdaki yorumlar bölümüne gönderin.

Bu arduino projesini beğendiyseniz lütfen paylaştığınızdan emin olun.

Önerilen: