Kunne du forestille dig, at du endda kunne spille klaver på frugten? Seeeduino XIAO kunne hjælpe dig! Enkle trin, enkle materialer, alle kan lave det. Spil musik med Seeeduino Xiao nu! Gå og byg dette projekt sammen med os, og gør dig selv til en musikalsk konge blandt dine venner!

Arbejdsprincip

Den indbyggede Q-Touch-funktion er tændt Seeeduino XIAO giver dig mulighed for at registrere de mindre kapacitetsændringer fra GPIO, og du kan tildele hver GPIO som en nøgle og spille en bestemt tone, så laver du GPIO’er på Seeeduino XIAO som dit musikinstrument keyboard, og du er i stand til at spille dine yndlingssange!

Ting du skal forberede:

Hardwareforbindelse

Musikalsk notation

Kode

#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 er det mindste medlem af Seeeduino-familien. Den bærer den kraftfulde ATSAMD21G18A-MU, som er en laveffekt mikrocontroller. Dette lille bord har god ydeevne i behandlingen og har lavt strømforbrug. Dens lille størrelse gør den perfekt til at bygge bærbare projekter.

Grove Shield til Seeeduino XIAO

Et plug-and-play Lund forlængerplade til Seeeduino XIAO . Det fungerer som en bro for Seeeduino XIAO og Lund system. Med den indbyggede batteristyringschip og batteribindingspude kan du nemt drive din Seeeduino XIAO med lithiumbatteri og genoplade det.

Lund – Højttaler Plus

Det Lund Speaker Plus inkluderer et kraftfuldt forstærker-driverboard og en fancy højttaler. Du kan erstatte højttaleren med andre højttalere, du kan lide, da den har et separat og udskifteligt højttalerdesign. og ved hjælp af det indbyggede potentiometer kan du nemt justere udgangslydstyrken.

I denne artikel undersøgte vi, hvordan man laver et frugtklaver på Seeeduino XIAOs Q-Touch-funktion. Hvis du har spørgsmål, er du velkommen til at spørge faqdesk.net i kommentarfeltet nedenfor.