Sisällysluettelo:

Muire: Ääniherkät optiset tehosteet: 5 vaihetta
Muire: Ääniherkät optiset tehosteet: 5 vaihetta

Video: Muire: Ääniherkät optiset tehosteet: 5 vaihetta

Video: Muire: Ääniherkät optiset tehosteet: 5 vaihetta
Video: Virusimmuniteetin säätö 2024, Marraskuu
Anonim
Muire: Äänille herkät optiset tehosteet
Muire: Äänille herkät optiset tehosteet

Olet ehkä nähnyt aaltokuvion alueella, jossa hyttysverkko on päällekkäin auringon paistaessa. Kun siirrät lähellä olevaa hyttysverkkoa tai muutat kulmaa, myös aaltokuvio liikkuu. Jos kuvio säännöllisin väliajoin ja sängynverkot ovat toistuvasti päällekkäisiä, tämä kuvio voi esiintyä missä tahansa. Tätä kutsutaan Muirren (Moire) ilmiöksi, ja esiintyvää kuviota kutsutaan Muirren kuvioksi.

PROJECT_MUIRE -KUVA

Muir -kuvioilla on monenlaisia malleja ja ominaisuuksia. Tätä kuviota käytetään yhdeksän sektorin ja 11 erityyppisen nurmikuvion luomiseen tuottamaan erilaisia optisia tehosteita äänen koosta riippuen suorakulmaisiin kehysrakenteisiin.

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

PROJECT_MUIRE -KUVA

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

Vaihe 1: Mitä materiaaleja tarvitaan?

Mitä materiaaleja tarvitaan?
Mitä materiaaleja tarvitaan?
Mitä materiaaleja tarvitaan?
Mitä materiaaleja tarvitaan?
Mitä materiaaleja tarvitaan?
Mitä materiaaleja tarvitaan?
Mitä materiaaleja tarvitaan?
Mitä materiaaleja tarvitaan?

1. Moire -kuvion runko

valkoinen akryyli 5T [940 mm x 840 mm]

Akryylipainatus [akryylimuste]

2. Moire -kuvion muotoiset tyypit

Pyörivä tyyppi

tasainen muoto

Laitteiston tyyppi

Mustan aukon tyyppi

Kutistuva / laajeneva vaikutus

liekehtivä vaikutus

3. Sähköpiiri

Arduino Uno x 11

Leipälauta x 1

Askelmoottori_28BYJ-48 x 11

ULN2003A x 11

MAX 9814 x 11

1. 무 아뢰 패턴 바디

  • T 5T (valkoinen akryyli) 940 mm x 840 mm
  • 아크릴 인쇄 (musta muste)

2. 무 아뢰 패턴 의 종류

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

3. 회로 구성

  • 아두이 도 나노 보드 (arduino UNO)
  • 스텝 모터 (28BYJ-48)
  • 스텝 모터 드라이브 (ULN2003A)
  • Mikrofoni 사운드 센서 (max9814)
  • 빵판 (Leipälauta)
  • 전원 (virtalähde 5V 25A)

Vaihe 2: Tasomainen kuva

Tasomainen kuva
Tasomainen kuva
Tasomainen kuva
Tasomainen kuva
Tasomainen kuva
Tasomainen kuva

1. Tasomainen figuurileikkaus

Valkoinen akryyli 5T (940 mm x 840 mm) X 2

Läpinäkyvä akryyli 5T (940 mm x 840 mm) X 1

Läpinäkyvä akryyli 3T (940 mm x 840 mm) X 1

2. Tasomainen kuviopainatus

Akryylipainatus

1. 도면 커팅

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

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

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

2. 도면 인쇄

아크릴 인쇄

Vaihe 3: Piirikaavio

Piirikaavio
Piirikaavio
Piirikaavio
Piirikaavio
Piirikaavio
Piirikaavio

laitteisto Toimintaperiaate

POWER -> Arduino UNO -> Mikrofonin äänenvahvistusanturi -> Motor Dirver -> Askelmoottori

Vaihe 4: Koodaus

Koodaus
Koodaus
Koodaus
Koodaus

Arduino -koodauskuvaus

1. Askelmoottorin liitäntä

Kun saimme signaalin, hallitsimme askelmoottoriin kytkettyjen portaiden määrää 180 astetta.

2. Säädä askelmoottorin nopeutta äänikoon arvosta riippuen

Lähettää mikrofonianturiin liittyvän A0 -nastan, asettaa kireyden arvon sarjamonitorille ja jos anturi käyttää syntaksia lisäämään askelmoottorin pyörimisnopeutta 30: llä, kun kipuarvo ylittää 50.

3. Musiikkiin reagoivien askelmoottoreiden nopeus ja pyörimissuunta

Kun nopeus on 10 astetta ja jatkuvaa kohinaa lisätään, se pyörii 30 astetta aiheuttaen eri pyörimiskuvioiden näyttävän erilaisilta.

ARDUINO CORDING

#include // askelmoottori- Kirjasto

const int sampleWindow = 50; // Näytteenottoaika 50 ms unsigned int value; // Äänenvahvistuksen tunnistustunnistimen arvo vastaanotettu muuttuva sisäinen vaihePerRevolution = 2048; // Sen laskeminen hidastaa sinua ja lisää nopeammin

Stepper myStepper (stepsPerRevolution, 11, 9, 10, 8); // Askelmoottorin tappi int #1 - Arduino digital 11, 9, 10, 8.

void setup () {

Sarja.alku (9600); // Käynnistä sarjamonitori, nopeus 9600

}

void loop () {

unsigned long startMillis = millis (); // Näytteenottoaika unsigned int peakToPeak = 0; // Äänisignaalin amplitudi

unsigned int signalMax = 0; // Aseta maksimikoko nollaksi alun perin allekirjoittamaton int signalMin = 1024; // Aseta vähimmäiskooksi aluksi 1024

while (millis () - startMillis <näyteikkuna) {arvo = analoginenLue (A0); // noutaa äänianturin tiedot, jos (arvo signalMax) // Suurimman koon mittaukset signalMax = arvo; // Suurin koko signalMax tallenna muut if (arvo <signalMin) // Minimikoko Mittaukset signalMin = arvo; // Minimikoko sigmalMin save}}

peakToPeak = signalMax - signalMin; // Enimmäis- Min = Amplitudiarvo double volts = (peakToPeak * 5.0) / 1024; // Muunna voltteiksi = Muunna äänikokoksi

int Nopeus = kartta (peakToPeak, 0, 600, 1, 30); // Rajoita peakToPeak -arvoa 0 - 600 - 1 - 30.

// Jos peakToPeak ylittää 600, se häviää // Säilytä suurin arvo.

myStepper.setSpeed (nopeus); // Kierrä askelmoottorin nopeus karttatoiminnon arvoon (1-30) myStepper.step (stepsPerRevolution / 100); // Askelmoottorin liikekulma (stepsPerRevolution = 2048) analogWrite (stepsPerRevolution, Speed*3);

Sarja.println (nopeus); // Tarkista moottorin nopeus sarjamonitorilla

}

}

1. 스텝 모터 연결

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

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

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

mikrofoni 센서 와 연결된 A0 을 을 출력, 시리얼 모니터 에 소리 이 출력 되 되 게끔 후, jos 구문 을 사용 하여 에서 소리 값 이 이 이 후 후 if if if 후 if 후 후 후 후 후 후 후 후 if 후 if if 모터 의 속도 가 제어 제어 되게 함.

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

10 만큼 의 속도 가 진행 되다가 일정 일정 일정 일정 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면 유도함 유도함 유도함 유도함 유도함 유도함 유도함 유도함 유도함 유도함 유도함 유도함 유도함

ARDUINO CORDING

#include // askelmoottori 의 라이브러리

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

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

oid setup () {

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

}

void loop () {

unsigned long startMillis = millis (); // 샘플링 시작 unsigned int peakToPeak = 0; // 음성 신호 의 진폭

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

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

peakToPeak = signalMax - signalMin; // 최대- 최소 = 진폭 값 kaksoisvolttia = (peakToPeak * 5,0) / 1024; // 전압 단위 로 변환 = 소리 크기 로 변환

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

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

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

}

Suositeltava: