Kun je je voorstellen dat je zelfs piano op de vrucht zou kunnen spelen? Seeeduino XIAO zou je kunnen helpen! Simpele stappen, simpele materialen, iedereen kan het. Muziek afspelen met Seeeduino Xiao nu! Ga samen met ons dit project bouwen, en maak van jezelf een muzikale koning onder je vrienden!

Werkend principe

De ingebouwde Q-Touch-functie aan Seeeduino XIAO stelt u in staat om de kleine capaciteitsveranderingen van GPIO te detecteren, en u kunt elke GPIO als een toets toewijzen en een specifieke toon spelen, dan maakt u GPIO’s op Seeeduino XIAO als je toetsenbord van een muziekinstrument, en je kunt je favoriete liedjes spelen!

Wat je nodig hebt om je voor te bereiden:

Hardwareverbinding:

Muzieknotatie

Code

#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 is het kleinste lid van de familie Seeeduino. Het draagt ​​de krachtige ATSAMD21G18A-MU, een microcontroller met laag vermogen. Dit kleine bord heeft goede verwerkingsprestaties en een laag stroomverbruik. Het kleine formaat maakt het perfect om draagbare projecten te bouwen.

Grove Shield voor Seeeduino XIAO

Een plug-and-play Bosje uitbreidingsbord voor Seeeduino XIAO . Het fungeert als een brug voor Seeeduino XIAO en Bosje systeem. Met de ingebouwde batterijbeheerchip en batterijverbindingspad kunt u gemakkelijk uw Seeeduino XIAO met lithiumbatterij en laad deze op.

Bosje – Luidspreker Plus

De Bosje Speaker Plus bevat een krachtige driverkaart voor de versterker en een fraaie luidspreker. Je zou de luidspreker kunnen vervangen door andere luidsprekers die je leuk vindt, omdat deze een gescheiden en vervangbaar luidsprekerontwerp heeft. en met behulp van de ingebouwde potentiometer kunt u het uitgangsvolume eenvoudig aanpassen.

In dit artikel hebben we onderzocht hoe je een fruitpiano maakt met de Q-Touch-functie van Seeeduino XIAO. Mocht je nog vragen hebben, stel ze gerust faqdesk.net in de commentaarsectie hieronder.