Spisu treści:
Wideo: Arduino Servo Drum Machine: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Jest to prosty automat perkusyjny lub robot sterowany dwoma mikroserwomechanizmami i Arduino Uno. Serwa są zamontowane na drewnianym wsporniku w kształcie litery L, który jest przymocowany do werbla za pomocą 4 silnych magnesów. Ramiona serwa są przykręcone do dwóch pałeczek, które służą jako pałeczki do perkusji. Jest dość głośno, ale nie za głośno. Znacznie głośniejsze uderzenia można było uzyskać, używając serwomechanizmów o standardowych rozmiarach i prawdziwych pałeczek, które są nieco cięższe. Ale to też wymagałoby osobnego zasilania serw. Dzięki zastosowaniu mikroserwomechanizmów Arduino dostarcza wystarczająco dużo prądu, aby zasilać je bezpośrednio bez osobnego zasilacza.
Film pokazuje moją próbę zaprogramowania prostej wersji solo perkusyjnego Wipeout. Oczywiście nie jest to prawdziwe 160 uderzeń na minutę, ale można to łatwo uzyskać, dodając kolejne serwo, co byłoby całkiem fajne. Nie obliczyłem, jakie najwyższe bpm można uzyskać za pomocą serwomechanizmu i wymaga to pewnego opóźnienia w przeniesieniu pałki z pozycji zaparkowanej do naciągu.
Rytmy, które możesz stworzyć, są ograniczone tylko twoją wyobraźnią, a automat perkusyjny jest bardziej interesującym towarzyszem do zabawy niż cyfrowy automat perkusyjny, jeśli jesteś muzykiem.
Jedynym minusem jest szum serwomechanizmu, który nie jest tak zauważalny, chociaż dźwięk kamery wydaje się go wyraźnie wychwytywać.
Krok 1: Zbuduj wspornik serwo
Ten wspornik jest zrobiony z kilku pasków sklejki hobby, które miałem pod ręką. Stworzyłem kształt litery L, skręcając dwa elementy razem z metalowym wspornikiem w kształcie litery L. Następnie do górnego listwy przyklejono mały drewniany klocek, który miał przytrzymywać dwa serwomechanizmy.
Miałem dwa poręczne wsporniki serwa, które przykręciłem do drewnianego klocka.
Do zamocowania wspornika do werbla użyłem 4 magnesów neodymowych.
Krok 2: Podłącz serwa do Arduino Uno
Serwa vcc (środkowy przewód) trafiają do pinów Arduino 5 v.
Przewody uziemiające do uziemienia Arduino.
Przewody sygnałowe idą do pinów 6 i 7.
Tarcza serwomechanizmu sprawiłaby, że byłoby to jeszcze łatwiejsze, gdybyś ją miał.
Krok 3: Kod Arduino…
Poniżej znajduje się prosty szkic do gry w Wipeout. Musisz tylko dostosować pozycje serwa do konkretnej konfiguracji.
Baw się dobrze!
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include "servo.h"
// perkusista serwo Jim Demello czerwiec 2018
Serwo myservo1, myservo2;
int serwoPin6 = 6; //serwo
int serwoPin7 = 7;
void myServo(int servoPosition, int servoNumber) {
if (numer serwa == 1) {
myservo1.write(servoPosition);
}
jeśli (numer serwo == 2) {
myservo2.write(servoPosition);
}
}
void doOneEighthNote(int servoNumber, int beat) {
int opóźnienieVal = 60;
if (numer serwa == 1) {
jeśli (uderzenie) {uderzenie = 10; // jeśli beat = 1 to dodaj trochę więcej serwa w dół dla silniejszego uderzenia
}
myServo(150 + beat, servoNumber); //w dół
opóźnienie(OpóźnienieWart);
myServo(100, numer serwo);//w górę
opóźnienie(OpóźnienieWart);
}
jeśli (numer serwo == 2) {
jeśli (uderzenie) beat = -10;
myServo(60 + beat, servoNumber); //w dół
opóźnienie(OpóźnienieWart);
myServo(80, numer serwo);//w górę
opóźnienie(OpóźnienieWart);
}
}
pusta konfiguracja()
{
// Serial.początek(9600);
myservo1.attach(servoPin6, 1000, 2000); // dołącza serwo na pin 9 do obiektu serwo
myservo1.write(100);
myservo2.attach(servoPin7, 1000, 2000); // dołącza serwo na pin 9 do obiektu serwo
myservo2.write(90);
}
pusta pętla () {
wymazać(); // procedura wymazywania bębna
//doOneEighthNote(2, 0);
opóźnienie(40);
}
nieważne wymazanie() {
doOneEighthNote(2, 1); doOneEighthNote(1, 0); doOneEighthNote(2, 0); doOneEighthNote(1, 0); // pierwszy parametr to numer serwa, a drugi parametr to bit (1=bit, 0=brak rytmu)
doOneEighthNote(2, 1); doOneEighthNote(1, 0); doOneEighthNote(2, 0); doOneEighthNote(1, 0);
doOneEighthNote(2, 1); doOneEighthNote(1, 0); doOneEighthNote(2, 0); doOneEighthNote(1, 0);
doOneEighthNote(2, 1); doOneEighthNote(1, 0); doOneEighthNote(2, 0); doOneEighthNote(1, 0);
doOneEighthNote(2, 1); doOneEighthNote(1, 0); doOneEighthNote(2, 0); doOneEighthNote(1, 0);
doOneEighthNote(2, 0); doOneEighthNote(1, 0); doOneEighthNote(2, 1); doOneEighthNote(1, 0);
doOneEighthNote(2, 0); doOneEighthNote(1, 0); doOneEighthNote(2, 0); doOneEighthNote(1, 0);
doOneEighthNote(2, 1); doOneEighthNote(1, 0); doOneEighthNote(2, 0); doOneEighthNote(1, 0);
doOneEighthNote(2, 1); doOneEighthNote(1, 0); doOneEighthNote(2, 0); doOneEighthNote(1, 0);
doOneEighthNote(2, 1); doOneEighthNote(1, 0); doOneEighthNote(2, 0); doOneEighthNote(1, 0);
doOneEighthNote(2, 1); doOneEighthNote(1, 0); doOneEighthNote(2, 0); doOneEighthNote(1, 0);
doOneEighthNote(2, 1); doOneEighthNote(1, 0); doOneEighthNote(2, 0); doOneEighthNote(1, 0);
doOneEighthNote(2, 1); doOneEighthNote(1, 0); doOneEighthNote(2, 0); doOneEighthNote(1, 0);
doOneEighthNote(2, 0); doOneEighthNote(1, 0); doOneEighthNote(2, 1); doOneEighthNote(1, 0);
doOneEighthNote(2, 0); doOneEighthNote(1, 0); doOneEighthNote(2, 1); doOneEighthNote(1, 0);
doOneEighthNote(2, 0); doOneEighthNote(1, 0); doOneEighthNote(2, 0); doOneEighthNote(1, 0);
}
Zalecana:
MIDI Drum Kit na Pythonie i Arduino: 5 kroków (ze zdjęciami)
MIDI Drum Kit na Pythonie i Arduino: Zawsze chciałem kupić zestaw perkusyjny, odkąd byłem dzieckiem. W tamtych czasach cały sprzęt muzyczny nie miał wszystkich zastosowań cyfrowych, bo dzisiaj mamy ich pod dostatkiem, stąd ceny i oczekiwania były zbyt wysokie. Ostatnio zdecydowałem się na zakup c
Micro:bit - Micro Drum Machine: 10 kroków (ze zdjęciami)
Micro:bit - Micro Drum Machine: Jest to micro:bit micro drum machine, który zamiast tylko generować dźwięk, faktycznie bębni. Jest ciężko inspirowany królikami z orkiestry micro:bit. Trochę czasu zajęło mi znalezienie solenoidów, które były łatwe w użyciu z mocro:bit
HX1-DM - upcycled Arduino DUE Powered DIY Drum Machine (wykonany za pomocą Dead Maschine MK2): 4 kroki
HX1-DM - upcycled Arduino DUE Powered DIY Drum Machine (wykonany z Dead Maschine MK2): Spec. Hybrydowy kontroler / automat perkusyjny Midi: Arduino DUE powered! 16 padów wykrywających prędkość z bardzo niską latencją 1>ms 8 pokręteł przypisywanych przez użytkownika do dowolnego polecenia Midi #CC 16 kanałów Wbudowany sekwencer (nie wymaga komputera!) Funkcja wejścia/wyjścia/przejścia MIDI
Servo Arduino Vending Machine: 8 kroków
Servo Arduino Vending Machine: Ten automat posiada trzy zabawne snickers bary i będzie sprzedawał po jednym na raz za pomocą Arduino Uno i silnika serwo
DIY Dodow Clone Arduino Sleep Meditation Machine: 4 kroki (ze zdjęciami)
DIY Dodow Clone Arduino Sleep Meditation Machine: Zsynchronizuj swój oddech ze świecącymi światłami, aby zmniejszyć częstość oddechu i miejmy nadzieję, że łatwiej zasnąć. Po prawdopodobnie mojej setnej tysięcznej bezsennej nocy szukałem czegoś, co mogłoby pomóc mi szybciej zasnąć, gdy natknąłem się na