Skulle du kunna tänka dig att du till och med kunde spela piano på frukten? Seeeduino XIAO kan hjälpa dig! Enkla steg, enkla material, alla kan göra det. Spela musik med Seeeduino Xiao nu! Gå och bygg detta projekt med oss ​​och gör dig själv till en musikalisk kung bland dina vänner!

Arbetsprincip

Den inbyggda Q-Touch-funktionen på Seeeduino XIAO gör att du kan upptäcka de mindre kapacitetsförändringarna från GPIO, och du kan tilldela varje GPIO som en tangent och spela en specifik ton, sedan gör du GPIO på Seeeduino XIAO som ditt musikinstrument keyboard, och du kan spela dina favoritlåtar!

Saker du behöver förbereda:

Hårdvaruanslutning

Musikalisk notation

Koda

#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("Failed to begin qt");
  if (! qt_2.begin())
    Serial.println("Failed to begin qt");
  if (! qt_3.begin())
    Serial.println("Failed to begin qt");
  if (! qt_4.begin())
    Serial.println("Failed to begin qt");
  if (! qt_5.begin())
    Serial.println("Failed to begin qt");
  if (! qt_6.begin())
    Serial.println("Failed to begin qt");
  if (! qt_7.begin())
    Serial.println("Failed to begin qt");
}

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 är den minsta medlemmen i familjen Seeeduino. Den bär den kraftfulla ATSAMD21G18A-MU, som är en lågeffekts mikrokontroller. Denna lilla bräda har bra prestanda vid bearbetning och har låg strömförbrukning. Dess lilla storlek gör den perfekt för att bygga bärbara projekt.

Grove Shield för Seeeduino XIAO

En plug-and-play Lund förlängningsbräda för Seeeduino XIAO . Den fungerar som en bro för Seeeduino XIAO och Lund systemet. Med det inbyggda batterihanteringschippet och batteribindningsplattan kan du enkelt driva din Seeeduino XIAO med litiumbatteri och ladda upp det.

Lund – Högtalare Plus

De Lund Speaker Plus inkluderar ett kraftfullt förstärkardrivkort och en snygg högtalare. Du kan byta ut högtalaren med andra högtalare du gillar, eftersom den har en separat och utbytbar högtalardesign. och med hjälp av den inbyggda potentiometern kan du enkelt justera utvolymen.

I den här artikeln utforskade vi hur man gör ett fruktpiano på Seeeduino XIAO:s Q-Touch-funktion. Om du har några frågor är du välkommen att fråga faqdesk.net i kommentarsfältet nedan.