Obsah:

Muire: Optické efekty citlivé na zvuk: 5 kroků
Muire: Optické efekty citlivé na zvuk: 5 kroků

Video: Muire: Optické efekty citlivé na zvuk: 5 kroků

Video: Muire: Optické efekty citlivé na zvuk: 5 kroků
Video: Úprava antivirové imunity 2024, Červenec
Anonim
Muire: Optické efekty citlivé na zvuk
Muire: Optické efekty citlivé na zvuk

Možná jste viděli vlnový vzor v oblasti, kde se moskytiéra překrývá, když svítí slunce. Když pohnete nedalekou moskytiérou nebo změníte úhel, pohybuje se také vlnový vzor. Pokud se vzor s pravidelnými intervaly stejně jako ložní sítě opakovaně překrývá, může k tomuto vzoru dojít kdekoli. Toto se nazývá fenomén Muirre (Moire) a vzor, který se vyskytuje, se nazývá Muirreův vzor.

VZOR PROJECT_MUIRE

Muirovy vzory mají mnoho druhů vzorů a charakteristik. Tento vzor se používá k vytvoření devíti sektorů a 11 různých typů vřesovištních obrazců k produkci různých optických efektů, v závislosti na velikosti zvuku, na rámcích obdélníkové rámové struktury.

것이다 이 비칠 때 모기장 이 겹쳐 있는 부위 에 생긴 물결 무늬 를 를 본 적이 있을 것이다. 움직인다 모기장 을 상하 좌우 로 움직 이거나 각도 를 바꾸면 물결 무늬 도 움직인다. 있다 뿐만 아니라 일정한 간격 을 갖는 무늬 가 반복 해 겹쳐 지면 어디 어디 서든 이런 가 생길 생길 수 있다. 이 를 무아레 (모아레, Moire) 현상 이라고 부르고, 이때 생기는 무늬 를 무아레 무늬 라고 부른다.

VZOR PROJECT_MUIRE

있다 아르 패턴 은 다양한 종류 의 패턴 과 특징 을 가지고 있다 있다. 개 패턴 을 9 개 섹터 와 11 개의 각기 다른 만든 무 아르 패턴 을 이용 하여 직사각형 의 액자형 구조 프레임 에 소리 소리 의 크기 따라 각기, 각기 다른 무 아르 아르 패턴 의 착시 효과 체험 을 한다

Krok 1: Jaké materiály budou potřeba?

Jaké materiály budou potřeba?
Jaké materiály budou potřeba?
Jaké materiály budou potřeba?
Jaké materiály budou potřeba?
Jaké materiály budou potřeba?
Jaké materiály budou potřeba?
Jaké materiály budou potřeba?
Jaké materiály budou potřeba?

1. Tělo vzoru Moire

bílý akryl 5T [940 mm X 840 mm]

Akrylový tisk [akrylový inkoust]

2. Moire Pattern - tvarované typy

Rotační typ

plochý typ

Typ hardwaru

Typ černé díry

Efekt zmenšení / roztažení

planoucí efekt

3. Elektrický obvod

Arduino Uno x 11

Chlebová deska x 1

Krokový motor_28BYJ-48 x 11

ULN2003A x 11

MAX9814 x 11

1. 무 아뢰 패턴 바디

  • 아크릴 5T (bílý akryl) 940 mm x 840 mm
  • Black 인쇄 (černý inkoust)

2. 무 아뢰 패턴 의 종류

  • 회 전형
  • 일자형
  • 하드웨어 형
  • 빨려 들어가는 효과
  • 수축 / 팽창 하는 효과
  • 아지랑이 효과

3. 회로 구성

  • 아두이 도 나노 보드 (arduino UNO)
  • 스텝 모터 (28BYJ-48)
  • UL 모터 드라이브 (ULN2003A)
  • Mikrofon 사운드 센서 (max. 9814)
  • 빵판 (Bread Board)
  • 외부 전원 (Napájení 5V 25A)

Krok 2: Planární obrázek

Planární obrázek
Planární obrázek
Planární obrázek
Planární obrázek
Planární obrázek
Planární obrázek

1. Rovinné řezání postavy

Bílý akryl 5T (940 mm x 840 mm) X 2

Průhledný akryl 5T (940 mm x 840 mm) X 1

Průhledný akryl 3T (940 mm x 840 mm) X 1

2. Tisk planárních postav

Akrylový tisk

1. 도면 커팅

아크릴 아크릴 5T (940 mm x 840 mm) X 2

아크릴 아크릴 5T (940 mm x 840 mm) X 1

아크릴 아크릴 3T (940 mm x 840 mm) X 1

2. 도면 인쇄

아크릴 인쇄

Krok 3: Schéma zapojení

Kruhový diagram
Kruhový diagram
Kruhový diagram
Kruhový diagram
Kruhový diagram
Kruhový diagram

hardware Princip činnosti

POWER -> Arduino UNO -> Senzor zesílení zvuku mikrofonu -> Motor Dirver -> Krokový motor

Krok 4: Kódování

Kódování
Kódování
Kódování
Kódování

Popis kódování Arduino

1. Připojení krokového motoru

Jakmile jsme obdrželi signál, řídili jsme počet kroků 180 stupňů připojených k krokovému motoru. Nastavte číslo INT pro připojení k úhlu otáčení krokového motoru.

2. V závislosti na hodnotě velikosti zvuku ovládejte otáčky krokového motoru

Vyvede pin A0 spojený se snímačem mikrofonu, nastaví hodnotu bolesti na výstup na sériovém monitoru a pokud senzor použije syntaxi ke zvýšení rychlosti otáčení krokového motoru o 30, když hodnota bolesti překročí 50.

3. Rychlost a směr otáčení krokových motorů, které reagují na hudbu

Když je rychlost 10 stupňů a konstantní hluk se zvýší, otáčí se o 30 stupňů, což způsobí, že různé vzory otáčení vypadají odlišně.

ARDUINO KÓDOVÁNÍ

#include // krokový motor- knihovna

const int sampleWindow = 50; // Doba vzorkování 50ms nepodepsaná int hodnota; // Hodnota senzoru zesílení zvuku přijatá proměnná kontrast int krokyPerRevolution = 2048; // Jeho snížení vás zpomalí a zrychlí

Stepper myStepper (stepsPerRevolution, 11, 9, 10, 8); // Pin krokového motoru int #1 na Arduino digital 11, 9, 10, 8.

neplatné nastavení () {

Serial.begin (9600); // Spusťte sériový monitor, rychlost 9600

}

prázdná smyčka () {

bez znaménka dlouhý startMillis = millis (); // Doba vzorkování bez znaménka int peakToPeak = 0; // Amplituda hlasového signálu

nepodepsaný int signalMax = 0; // Nastaví maximální velikost na nulu zpočátku bez znaménka int signalMin = 1024; // Nejprve nastavte minimální velikost na 1024

while (millis () - startMillis <sampleWindow) {value = analogRead (A0); // načíst data zvukového senzoru if (hodnota signalMax) // Maximum Size Measurements signalMax = hodnota; // Maximum Size signalMax save else if (hodnota <signalMin) // Minimal Size Measurements signalMin = value; // Minimální velikost sigmalMin save}}

peakToPeak = signalMax - signalMin; // Maximum- Min = Amplitude Value double volts = (peakToPeak * 5.0) / 1024; // Převést na volty = Převést na velikost zvuku

int Rychlost = mapa (peakToPeak, 0, 600, 1, 30); // Omezení hodnoty peakToPeak od 0 do 600 až 1 až 30.

// Pokud peakToPeak překročí 600, je ztracen // Ponechejte maximální hodnotu.

myStepper.setSpeed (rychlost); // Otočení rychlosti krokového motoru na hodnotu vytvořenou funkcí mapy (1-30) myStepper.step (stepsPerRevolution / 100); // Úhel pohybu krokového motoru (stepsPerRevolution = 2048) analogWrite (stepsPerRevolution, Speed*3);

Serial.println (rychlost); // Zkontrolujte otáčky motoru pomocí sériového monitoru

}

}

1. 스텝 모터 연결

수가 신호 를 받을 때 스텝 바퀴 수가 180 도 제어 를 하였고, 스텝 모터 와 연결 한

INT 넘버 를 설정 하여 스텝 모터 의 회전 각과 연결 진행

2. 소리 크기 값 에 따라, 스텝 모터 속도 제어

mikrofon 센서 와 연결된 A0 핀 을 출력 하고, 시리얼 모니터 에 소리 값 이 출력 되 게끔 설정 if 50 이 넘어갈 때 스텝 모터 회전 의 속도 가 30 이 증가 하여, 소리 에 따라 함 모터 의 속도 가 제어 되게 함.

3. 음악 에 반응 하는 스텝 모터 의 속도 와 회전 방향

10 만큼 의 속도 가 진행 되다가, 일정 소리 가 커 지게 되면 의 30 의 속도 로 회전 하여 각기 다른 패턴 의 회전 들이 달리 보이게 연출 되는 되는 유도함 유도함

ARDUINO KÓDOVÁNÍ

#include // krokový motor 의 라이브러리

const int sampleWindow = 50; // 샘플링 한 시간 50ms bez znaménka int hodnota; // 소리 증폭 감지 센서 값 받는 변수 const int stepsPerRevolution = 2048; // *************** 여길 낮추면 느려지고 높이면 빨라짐

Stepper myStepper (stepsPerRevolution, 11, 9, 10, 8); // 스텝 모터 핀 int 1 번 부터 아두 이노 디지털 11, 9, 10, 8 순 으로 장착

oid setup () {

Serial.begin (9600); // 시리얼 모니터 시작, 속도 는 9600

}

prázdná smyčka () {

bez znaménka dlouhý startMillis = millis (); // 샘플링 시작 nepodepsané int peakToPeak = 0; // 음성 신호 의 진폭

nepodepsaný int signalMax = 0; // 최대 크기 를 초기 에는 0 으로 설정 nepodepsané int signalMin = 1024; // 최소 크기 를 초기 에는 1024 로 설정

while (millis () - startMillis <sampleWindow) {// 데이터 를 50ms 마다 모으는 while 문 value = analogRead (A0); // 소리 감지 센서 에 더 데이터 받아 오기 if (hodnota signalMax) // 최대 크기 측정 signalMax = hodnota; // 최대 크기 signalMax 에 저장 else if (hodnota <signalMin) // 최소 크기 측정 signalMin = hodnota; // 최소 크기 sigmalMin 에 저장}}

peakToPeak = signalMax - signalMin; // 최대- 최소 = 진폭 값 dvojité volty = (peakToPeak * 5.0) / 1024; // 전압 단위 로 변환 = 소리 크기 로 변환

int Rychlost = mapa (peakToPeak, 0, 600, 1, 30); // 0 부터 600 까지 뜨는 peakToPeak 값 을 1 부터 30 까지 로 한정

// peakToPeak 의 최대 값 이 600 을 넘어 가면 끊김 // 최대 값 을 잘 잡아 잡아 주어야 S myStepper.setSpeed (rychlost); // 스텝 모터 의 스피드 를 위 mapa 함수 로 만들어 준 값 으로 회전 시킨다 (1-30) myStepper.step (stepsPerRevolution / 100); // 스텝 모터 가 움직이는 각 (stepsPerRevolution = 2048) analogWrite (stepsPerRevolution, Speed*3);

Serial.println (rychlost); // 시리얼 모니터 로 모터 의 속도 를 확인 하겠다

}

Doporučuje: