Meyve üzerinde piyano çalabileceğinizi hayal edebiliyor musunuz? Seeeduino XIAO size yardımcı olabilir! Basit adımlar, basit malzemeler, herkes bunu yapabilir. Şimdi Seeeduino Xiao ile müzik çalın! Gelin bu projeyi bizimle inşa edin ve arkadaşlarınız arasında müzikal bir kral olun!
Çalışma Prensibi
Seeeduino XIAO üzerindeki yerleşik Q-Touch fonksiyonu, GPIO’dan gelen küçük kapasite değişimlerini algılamanızı sağlar ve her GPIO’yu bir tuş olarak atayarak belirli bir ton çalabilirsiniz. Böylece Seeeduino XIAO üzerindeki GPIO’ları müzik aleti klavyesi gibi kullanarak en sevdiğiniz şarkıları çalabilirsiniz!
Hazırlamanız Gerekenler:
- Seeeduino XIAO x1
- Grove Shield for Seeeeduino XIAO x1
- Grove Speaker Plus / Grove Speaker x1
- Birkaç Jumper Kablo x7
- Birkaç Meyve
Donanım Bağlantısı


Müzikal Notasyon

Kod
#include "Adafruit_FreeTouch.h"
#define SPEAKER 2
Adafruit_FreeTouch qt_1 = Adafruit_FreeTouch(A0, OVERSAMPLE_4, RESISTOR_50K, FREQ_MODE_NONE);
Adafruit_FreeTouch qt_2 = Adafruit_FreeTouch(A1, OVERSAMPLE_4, RESISTOR_50K, FREQ_MODE_NONE);
Adafruit_FreeTouch qt_3 = Adafruit_FreeTouch(A6, OVERSAMPLE_4, RESISTOR_50K, FREQ_MODE_NONE);
Adafruit_FreeTouch qt_4 = Adafruit_FreeTouch(A7, OVERSAMPLE_4, RESISTOR_50K, FREQ_MODE_NONE);
Adafruit_FreeTouch qt_5 = Adafruit_FreeTouch(A8, OVERSAMPLE_4, RESISTOR_50K, FREQ_MODE_NONE);
Adafruit_FreeTouch qt_6 = Adafruit_FreeTouch(A9, OVERSAMPLE_4, RESISTOR_50K, FREQ_MODE_NONE);
Adafruit_FreeTouch qt_7 = Adafruit_FreeTouch(A10, OVERSAMPLE_4, RESISTOR_50K, FREQ_MODE_NONE);
int BassTab[] = {1911, 1702, 1516, 1431, 1275, 1136, 1012}; //bass 1~7
void setup() {
Serial.begin(115200);
pinMode(SPEAKER, OUTPUT);
digitalWrite(SPEAKER, LOW);
// while (!Serial);
Serial.println("FreeTouch test");
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
if (! qt_1.begin())
Serial.println("Başlatma başarısız");
if (! qt_2.begin())
Serial.println("Başlatma başarısız");
if (! qt_3.begin())
Serial.println("Başlatma başarısız");
if (! qt_4.begin())
Serial.println("Başlatma başarısız");
if (! qt_5.begin())
Serial.println("Başlatma başarısız");
if (! qt_6.begin())
Serial.println("Başlatma başarısız");
if (! qt_7.begin())
Serial.println("Başlatma başarısız");
}
int qt_Threshold = 850;
void loop() {
int qt1 = 0;
int qt2 = 0;
int qt3 = 0;
int qt4 = 0;
int qt5 = 0;
int qt6 = 0;
int qt7 = 0;
qt1 = qt_1.measure();
Serial.print(qt1);
Serial.print(",");
qt2 = qt_2.measure();
Serial.print(qt2);
Serial.print(",");
qt3 = qt_3.measure();
Serial.print(qt3);
Serial.print(",");
qt4 = qt_4.measure();
Serial.print(qt4);
Serial.print(",");
qt5 = qt_5.measure();
Serial.print(qt5);
Serial.println();
qt6 = qt_6.measure();
Serial.print(qt6);
Serial.println();
qt7 = qt_7.measure();
Serial.print(qt7);
Serial.println();
if (qt1 >= qt_Threshold) {
sound(1);
}
if (qt2 >= qt_Threshold) {
sound(2);
}
if (qt3 >= qt_Threshold) {
sound(3);
}
if (qt4 >= qt_Threshold) {
sound(4);
}
if (qt5 >= qt_Threshold) {
sound(5);
}
if (qt6 >= qt_Threshold) {
sound(6);
}
if (qt7 >= qt_Threshold) {
sound(7);
}
}
void sound(uint8_t note_index)
{
for (int i = 0; i < 50; i++)
{
digitalWrite(SPEAKER, HIGH);
delayMicroseconds(BassTab[note_index]);
digitalWrite(SPEAKER, LOW);
delayMicroseconds(BassTab[note_index]);
}
}
Seeeduino XIAO
Seeeduino XIAO, Seeeduino ailesinin en küçük üyesidir. Düşük güç tüketimi olan güçlü bir mikrodenetleyici olan ATSAMD21G18A-MU’yu taşır. Bu küçük kart, işlemede iyi bir performansa sahiptir ve düşük güç tüketimi ile çalışır. Küçük boyutu, giyilebilir projeler oluşturmak için mükemmeldir.
Grove Shield for Seeeduino XIAO
Seeeduino XIAO için tak-çalıştır Grove genişletme kartı. Seeeduino XIAO ile Grove sistemi arasında bir köprü görevi görür. Üzerindeki batarya yönetim çipi ve batarya bağlantı noktası ile Seeeduino XIAO’nuzu lityum pil ile kolayca besleyebilir ve şarj edebilirsiniz.
Grove – Speaker Plus
Grove Speaker Plus, güçlü bir amplifikatör sürücü kartı ve şık bir hoparlör içerir. Ayrı ve değiştirilebilir hoparlör tasarımını benimsemesi sayesinde, istediğiniz diğer hoparlörlerle değiştirebilirsiniz. Ayrıca, üzerindeki potansiyometre yardımıyla çıkış sesini kolayca ayarlayabilirsiniz.



