Spisu treści:
- Krok 1: Jakie materiały będą potrzebne?
- Krok 2: Płaska figura
- Krok 3: Schemat obwodu
- Krok 4: Kodowanie
- Krok 5: Tworzenie filmu
Wideo: Muire: Efekty optyczne wrażliwe na dźwięk: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Być może widziałeś wzór fal na obszarze, w którym moskitiera zachodzi na siebie, gdy świeci słońce. Kiedy przesuwasz pobliską moskitierę lub zmieniasz kąt, wzór fal również się porusza. Jeśli wzór w regularnych odstępach, a także moskitiery są wielokrotnie nakładane, wzór ten może wystąpić wszędzie. Nazywa się to zjawiskiem Muirre'a (Moire'a), a występujący wzór nazywa się wzorem Muirre'a.
WZÓR PROJEKTU_MUIRE
Wzory Muir mają wiele rodzajów wzorów i cech. Ten wzór jest używany do tworzenia dziewięciu sektorów i 11 różnych typów wzorów torfowisk w celu wytworzenia różnych efektów optycznych, w zależności od wielkości dźwięku, na ramkach o prostokątnej konstrukcji ramowej.
… Niesamowita gra (Moire) w języku angielskim, w którym możesz grać w tę grę.
WZÓR PROJEKTU_MUIRE
..
Krok 1: Jakie materiały będą potrzebne?
1. Ciało wzoru mory
biały akryl 5T [940 mm X 840 mm]
Druk akrylowy [tusz akrylowy]
2. Wzór mory - typy w kształcie
Typ rotacyjny
płaska forma
Typ sprzętu
Typ czarnej dziury
Efekt kurczenia się / rozszerzania
płonący efekt
3. Obwód elektryczny
Arduino Uno x 11
Deska do chleba x 1
Silnik krokowy_28BYJ-48 x 11
ULN2003A x 11
MAX9814 x 11
1. 무아뢰 패턴 바디
- 아크릴5T (biały akryl) 940mm X 840mm
- 아크릴 인쇄 (czarny tusz)
2. 무아뢰 패턴의 종류
- 회 전형
- 일자형
- 하드웨어 형
- 들어가는
- 수축 / 팽창 하는 효과
- 아지랑이 효과
3
- 아두이도 나노 보드 (arduino UNO)
- (28BYJ-48)
- 모터 (ULN2003A)
- Mikrofon 사운드 센서 (max9814)
- 빵판 (deska chlebowa)
- 외부전원 (zasilanie 5V 25A)
Krok 2: Płaska figura
1. Planarne cięcie figur
Biały akryl 5T (940mm x 840mm) X 2
Przezroczysty akryl 5T (940mm x 840mm) X 1
Przezroczysty akryl 3T (940mm x 840mm) X 1
2. Drukowanie figur planarnych
Druk akrylowy
1
흰색 아크릴 5T (940mm x 840mm) x 2
투명 아크릴 5T (940mm x 840mm) X 1
투명 아크릴 3T (940mm x 840mm) X 1
2
아크릴 인쇄
Krok 3: Schemat obwodu
sprzęt Zasada działania
ZASILANIE -> Arduino UNO -> Czujnik wzmocnienia mikrofonu -> Motor Dirver -> Silnik krokowy
Krok 4: Kodowanie
Opis kodowania Arduino
1. Połączenie silnika krokowego
Po odebraniu sygnału kontrolowaliśmy ilość kroków 180 stopni podłączonych do silnika krokowego. Ustawić liczbę INT, aby połączyć się z kątem obrotu silnika krokowego.
2. W zależności od wartości wielkości dźwięku, kontroluj prędkość silnika krokowego
Wyprowadza pin A0 skojarzony z czujnikiem mikrofonu, ustawia bolesną wartość na wyjście na monitorze szeregowym i jeśli czujnik używa składni do zwiększenia prędkości obrotowej silnika krokowego o 30, gdy bolesna wartość przekroczy 50.
3. Prędkość i kierunek obrotów silników krokowych reagujących na muzykę
Gdy prędkość wynosi 10 stopni, a stały hałas jest zwiększony, obraca się o 30 stopni, powodując, że różne wzorce obrotów wyglądają inaczej.
Sznurowanie ARDUINO
#include // silnik krokowy- Biblioteka
const int sampleWindow = 50; // Czas próbkowania 50ms unsigned int value; // Wzmocnienie dźwięku odbiera wartość czujnika zmiennaconst int stepsPerRevolution = 2048; //Obniżenie go spowolni i szybciej zwiększy
Stepper myStepper(krokiPerRevolution, 11, 9, 10, 8); // Pin silnika krokowego int #1 do Arduino digital 11, 9, 10, 8.
pusta konfiguracja () {
Serial.początek(9600); // Uruchom monitor szeregowy, prędkość 9600
}
pusta pętla () {
unsigned long startMillis = millis(); // Czas próbkowania unsigned int peakToPeak = 0; // Amplituda sygnału głosowego
unsigned int signalMax = 0; // Ustaw maksymalny rozmiar na zero początkowo unsigned int signalMin = 1024; // Początkowo ustaw minimalny rozmiar na 1024
while (millis() - startMillis < sampleWindow) { value = analogRead(A0); // pobierz dane czujnika dźwięku, jeśli (wartość signalMax) // Maksymalny rozmiar pomiarów signalMax = wartość; // Maksymalny rozmiar signalMax save else if (wartość < signalMin) // Minimalne pomiary rozmiaru signalMin = wartość; // Minimalny rozmiar sigmalMin zapisz } }
peakToPeak = signalMax - signalMin; // Maksimum- Min = Wartość amplitudy podwójne wolty = (peakToPeak * 5.0) / 1024; // Konwertuj na wolty = Konwertuj na rozmiar dźwięku
int Prędkość = mapa(peakToPeak, 0, 600, 1, 30); // Ogranicz wartość peakToPeak od 0 do 600 do 1 do 30.
//Jeśli peakToPeak przekroczy 600, zostanie utracone // Zachowaj maksymalną wartość.
myStepper.setSpeed(Prędkość); // Obróć prędkość silnika krokowego do wartości określonej przez funkcję map (1-30) myStepper.step(stepsPerRevolution / 100); //Kąt ruchu silnika krokowego (stepsPerRevolution=2048) analogWrite (stepsPerRevolution, Speed*3);
Serial.println(Prędkość); //Sprawdź prędkość silnika za pomocą monitora szeregowego
}
}
1
한번 신호를 받을때 180도, 스텝모터와
INT 넘버를 설정하여 스텝모터의 회전 각과 연결진행
2. 소리 크기 값에 따라, 스텝모터 속도 제어
mikrofon 센서와 연결된 A0 핀을 출력하고, 시리얼 모니터에 소리값이 출력되게끔 설정후, jeśli 구문을 사용하여 센서에서 소리값이 50 이 넘어갈때 스텝모터 회전의 속도가 30 이 증가 하여, 소리에 따라.
3.음악에 반응하는 스텝모터의 속도와 회전 방향
10 minut do gry, dowiesz się, jak grać w 30 minut, aby uzyskać więcej informacji.
Sznurowanie ARDUINO
#include // silnik krokowy의 라이브러리
const int sampleWindow = 50; // 샘플링한 시간 50ms unsigned int wartość; // 소리 증폭 감지 센서 값 받는 변수 const int kroki na obrót = 2048; //***************여길 낮추면
Stepper myStepper(krokiPerRevolution, 11, 9, 10, 8); //스텝모터 핀 int 1번 부터 아두이노 디지털 11, 9, 10, 8 순으로 장착
oid setup() {
Serial.początek(9600); // 시리얼 모니터 시작, 속도는 9600
}
pusta pętla () {
unsigned long startMillis = millis(); // 샘플링 시작 unsigned int peakToPeak = 0; // 음성 신호의 진폭
unsigned int signalMax = 0; // 최대 크기를 초기에는 0으로 설정 unsigned int signalMin = 1024; // 최소 크기를 초기에는 1024로 설정
while (millis() - startMillis < sampleWindow) { // 데이터를 50ms마다 모으는 while문 wartość = analogRead(A0); // 소리 감지센서에더 데이터 받아오기 if (wartość signalMax) // 최대 크기 측정 signalMax = wartość; // 최대 크기 signalMax에 저장 else if (wartość < signalMin) // 최소 크기 측정 signalMin = wartość; // 최소 크기 sigmalMin에 저장 } }
peakToPeak = signalMax - signalMin; // 최대- 최소 = 진폭값 podwójne wolty = (peakToPeak * 5.0) / 1024; // 전압 단위로 변환 = 소리 크기로 변환
int Prędkość = mapa(peakToPeak, 0, 600, 1, 30); // 0 부터 600까지 뜨는 PeakToPeak값을 1부터 30까지로 한정
// peakToPeak의 최대값이 600을 넘어가면 끊김 // 최대값을 잘 잡아주어야함 myStepper.setSpeed(Speed); // 스텝모터의 스피드를 위 mapa함수로 만들어준 값으로 회전시킨다 (1-30) myStepper.step(stepsPerRevolution / 100); //스텝모터가 움직이는 각 (kroki na obrót=2048) analogWrite(kroki na obrót, prędkość*3);
Serial.println(Prędkość); //시리얼 모니터로 모터의 속도를 확인하겠다
}
Zalecana:
Pomoce dydaktyczne wrażliwe na dotyk: 5 kroków
Pomoce dydaktyczne wrażliwe na dotyk: Ta instrukcja została stworzona we współpracy z Bristol Interactions Group na Uniwersytecie w Bristolu i jest skierowana zarówno do użytkowników nietechnicznych, jak i użytkowników, którzy chcieliby ją dalej rozwijać. Aby to rozróżnienie było jasne, prosta instrukcja
Super efekty z taśmą LED i obwodem LED: 11 kroków
Super efekty z taśmą LED i obwodem LED: Cześć przyjacielu, dzisiaj zamierzam stworzyć obwód super efektów świetlnych z taśmą LED i diodą LED. Zacznijmy
Jak zrobić niesamowite efekty Obwód taśmy LED RGB: 6 kroków (ze zdjęciami)
Jak zrobić niesamowite efekty Obwód taśmy LED RGB: Cześć przyjacielu, Dzisiaj zamierzam stworzyć obwód, który będzie sterował taśmą LED. Ten obwód da niesamowite efekty taśmy LED. Ten obwód jest bardzo łatwy i tani. Potrzebujemy tylko 3 RGB LED. Zacznijmy
Modulator AM - podejście optyczne: 6 kroków (ze zdjęciami)
Modulator AM - podejście optyczne: Kilka miesięcy temu kupiłem ten zestaw odbiornika radiowego AM z Banggood. Zmontowałem to. (Jak to zrobić, zamierzałem opisać w osobnym Instruktażu) Nawet bez strojenia można było złapać kilka stacji radiowych, ale próbowałem dotrzeć
Wrażliwe opuszki palców: 10 kroków (ze zdjęciami)
Wrażliwe opuszki palców: rękawica z czujnikami nacisku wykonanymi w całości z tkaniny na każdym opuszku palca. Pomysł przyszedł od kogoś innego, kto chciał wykorzystać to jako nauczyciel gry na pianinie z dziećmi, aby zwizualizować różnicę między „p”; fortepian (miękki) i „f” forte (twardy). P