Давайте научим Arduino играть на барабанах! В этом простом проекте для новичков мы используем плату Arduino, серводвигатель и звуковой датчик, чтобы созданное нами устройство повторяло ритм ударов, имитируя игру на барабанах.

Соберите схему, приведенную на следующем изображении.

При сборке устройства прикрепите к валу сервомотора какую-нибудь палку или что-нибудь подобное, что будет ударять по столу или любому твердому объекту, имитируя удар по барабану.

Запрограммируйте Arduino, загрузив следующий код.
#include <ServoM3.h>
//#include <Servo.h>
Servo servo;
int clapCount = 0;
int clapTime[50];
int led = 13;
int sensor = 7;
boolean clap = 0;
void setup() {
servo.attach(9);
servo.write(0);
pinMode(led, OUTPUT);
pinMode(sensor, INPUT);
}
void loop() {
clap = digitalRead(sensor);
if (clap == 1) {
digitalWrite(led, HIGH);
clapTime[clapCount] = millis();
clapCount++;
delay(200);
}
else {
digitalWrite(led, LOW);
}
if ((millis() - clapTime[clapCount - 1]) > 2000 && clapCount != 0) {
for (int i = 1; i < clapCount ; i++) {
servo.write(13);
delay(80);
servo.write(0);
delay (clapTime[i] - clapTime[i - 1] - 80);
}
servo.write(13);
delay(80);
servo.write(0);
delay(800);
clapCount = 0;
}
}
Набивайте рядом с датчиком звука какой-нибудь ритм. Каждый удар должен сопровождаться миганием светодиода. После чего Arduino повторит данный ритм, отбив его с помощью сервомотора.


© digitrode.ru