Могли бы вы представить, что сможете даже играть на пианино на фруктах? Seeeduino XIAO мог бы помочь вам! Простые шаги, простые материалы, каждый может это сделать. Воспроизведение музыки с Сееэдуино Сяо в настоящее время! Идите и стройте этот проект вместе с нами и станьте музыкальным королем среди своих друзей!

Принцип работы

Встроенная функция Q-Touch на Seeeduino XIAO позволяет вам обнаруживать незначительные изменения емкости от GPIO, и вы можете назначить каждый GPIO в качестве клавиши и воспроизводить определенный тон, тогда вы делаете GPIO на Seeeduino XIAO как клавиатура вашего музыкального инструмента, и вы можете играть в свои любимые песни!

Что вам нужно подготовить:

Аппаратное соединение

Музыкальная нотация

Код

#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 является самым маленьким членом семьи Seeeduino. Он оснащен мощным микроконтроллером ATSAMD21G18A-MU с низким энергопотреблением. Эта небольшая плата имеет хорошую производительность в обработке и имеет низкое энергопотребление. Его крошечный размер делает его идеальным для создания носимых проектов.

Рощевой щит за Seeeduino XIAO

Подключи и работай Роща плата расширения для Seeeduino XIAO . Он действует как мост для Seeeduino XIAO а также Роща система. Благодаря встроенному чипу управления аккумулятором и контактной площадке аккумулятора вы можете легко подключить Seeeduino XIAO с литиевой батареей и перезарядите ее.

Роща — Динамик Плюс

Роща Speaker Plus включает в себя мощную плату драйвера усилителя и модный динамик. Вы можете заменить динамик другими динамиками, которые вам нравятся, так как он имеет раздельную и сменную конструкцию динамика. а с помощью встроенного потенциометра вы можете легко регулировать громкость на выходе.

В этой статье мы рассмотрели, как сделать фруктовое пианино с помощью функции Q-Touch от Seeeduino XIAO. Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь спрашивать faqdesk.net в разделе комментариев ниже.