Sisukord:

Muire: Helitundlikud optilised efektid: 5 sammu
Muire: Helitundlikud optilised efektid: 5 sammu

Video: Muire: Helitundlikud optilised efektid: 5 sammu

Video: Muire: Helitundlikud optilised efektid: 5 sammu
Video: O Milagre do Sol em Fátima. Portugal. 2024, Juuli
Anonim
Muire: Helitundlikud optilised efektid
Muire: Helitundlikud optilised efektid

Võimalik, et olete näinud lainekuju piirkonnas, kus sääsevõrk päikese käes paistab. Kui liigutate lähedal asuvat sääsevõrku või muudate nurka, liigub ka lainekujundus. Kui regulaarsete intervallidega muster ja voodivõrgud korduvalt kattuvad, võib see muster esineda kõikjal. Seda nimetatakse Muirre (Moire) nähtuseks ja esinevat mustrit nimetatakse Muirre mustriks.

PROJECT_MUIRE MUSTER

Muiri mustritel on palju erinevaid mustreid ja omadusi. Seda mustrit kasutatakse üheksa sektori ja 11 erinevat tüüpi nõmumustri loomiseks, et tekitada ristkülikukujulistel raamstruktuuridel mitmesuguseid optilisi efekte, olenevalt heli suurusest.

이 비칠 때 모기장 모기장 이 있는 것이다 것이다 것이다 것이다 것이다 것이다 것이다 것이다 것이다. 모기장 을 상하 좌우 좌우 로 움직인다 움직인다 움직인다 움직인다 움직인다 움직인다. 뿐만 아니라 일정한 간격 간격 을 갖는 있다 있다 있다 있다 있다 있다 있다 있다 있다 있다 있다. 이 를 무아레 (모아레, Moire) 현상 이라고 부르고, 이때 생기는 무늬 를 무아레 무늬 무늬 라고 부른다.

PROJECT_MUIRE MUSTER

아르 패턴 은 다양한 다양한 종류 패턴 있다 있다 있다 을 있다. 패턴 을 개 개 개 개 개 개 와 와 와 와 와 와 와 와 와 와 와 각기 각기 각기 각기 각기 각기 각기 각기 각기 각기 각기 각기 각기 각기 한다 한다 한다 한다 한다 한다 한다 한다 한다 한다 한다 한다 한다 한다 한다 한다 한다 한다 한다.

Samm: milliseid materjale on vaja?

Milliseid materjale on vaja?
Milliseid materjale on vaja?
Milliseid materjale on vaja?
Milliseid materjale on vaja?
Milliseid materjale on vaja?
Milliseid materjale on vaja?
Milliseid materjale on vaja?
Milliseid materjale on vaja?

1. Moire'i mustri keha

valge akrüül 5T [940 mm x 840 mm]

Akrüülprintimine [akrüülvärv]

2. Muaramustri kujulised tüübid

Pöörlev tüüp

lameda vormi tüüp

Riistvara tüüp

Musta augu tüüp

Kahanev / laienev efekt

leegitsev efekt

3. Elektriahel

Arduino Uno x 11

Leivalaud x 1

Sammumootor_28BYJ-48 x 11

ULN2003A x 11

MAX 9814 x 11

1. 무 아뢰 패턴 바디

  • 아크릴 5T (valge akrüül) 940 mm x 840 mm
  • 아크릴 인쇄 (must tint)

2. 무 아뢰 패턴 의 종류

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

3. 회로 구성

  • 아두이 도 나노 보드 (arduino UNO)
  • 스텝 모터 (28BYJ-48)
  • 스텝 모터 드라이브 (ULN2003A)
  • Mikrofon (max9814)
  • 빵판 (leivalaud)
  • 전원 (Toide 5V 25A)

2. samm: tasapinnaline joonis

Tasapinnaline joonis
Tasapinnaline joonis
Tasapinnaline joonis
Tasapinnaline joonis
Tasapinnaline joonis
Tasapinnaline joonis

1. Tasapinnaline figuuri lõikamine

Valge akrüül 5T (940 mm x 840 mm) X 2

Läbipaistev akrüül 5T (940 mm x 840 mm) X 1

Läbipaistev akrüül 3T (940 mm x 840 mm) X 1

2. Tasapinnaline figuuritrükk

Akrüül trükkimine

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. 도면 인쇄

아크릴 인쇄

Samm: vooluahela skeem

Lülitusskeem
Lülitusskeem
Lülitusskeem
Lülitusskeem
Lülitusskeem
Lülitusskeem

riistvara Tööpõhimõte

POWER -> Arduino UNO -> Mikrofoni helivõimendi andur -> Mootori juht -> Sammumootor

4. samm: kodeerimine

Kodeerimine
Kodeerimine
Kodeerimine
Kodeerimine

Arduino kodeerimise kirjeldus

1. Samm -mootori ühendus

Kui oleme signaali saanud, kontrollisime astmemootoriga ühendatud sammude arvu 180 kraadi. Seadistage INT -number, et ühendada samm -mootori pöördenurk.

2. Sõltuvalt helisuuruse väärtusest kontrollige samm -mootori kiirust

Väljundab mikrofoni anduriga seotud A0 tihvti, seab valuväärtuse seeriamonitori väljundiks ja kui andur kasutab süntaksit samm -mootori pöörlemiskiiruse suurendamiseks 30 võrra, kui valulikkus ületab 50.

3. Muusikale reageerivate samm -mootorite kiirus ja pöörlemissuund

Kui kiirus on 10 kraadi ja pidev müra suureneb, pöörleb see 30 kraadi, põhjustades erinevate pöörlemismustrite teistsuguse välimuse.

ARDUINO CORDING

#include // samm-mootor- Raamatukogu

const int sampleWindow = 50; // Proovivõtmise aeg 50 ms unsigned int value; // Heli võimendustunde anduri väärtus sai muutuva konst int intPerRevolution = 2048; // Selle langetamine aeglustab sind ja suurendab kiiremini

Stepper myStepper (stepsPerRevolution, 11, 9, 10, 8); // Sammumootori tihvt nr 1 kuni Arduino digital 11, 9, 10, 8.

tühine seadistus () {

Seriaalne algus (9600); // Käivitage jadamonitor, kiirus 9600

}

void loop () {

allkirjata pikk algusMillis = millis (); // Proovide võtmise aeg märkimata int peakToPeak = 0; // Helisignaali amplituud

allkirjastamata int signalMax = 0; // Määra maksimaalseks suuruseks null esialgu allkirjastamata int signalMin = 1024; // Määrake minimaalseks suuruseks esialgu 1024

while (millis () - startMillis <sampleWindow) {value = analogRead (A0); // hangi helianduri andmed, kui (väärtus signalMax) // Maksimaalse suuruse mõõtmised signalMax = väärtus; // Maksimaalne suurus signalMax salvestada muidu if (väärtus <signalMin) // Minimaalse suuruse mõõtmised signalMin = väärtus; // Minimaalne suurus sigmalMin salvestada}}

peakToPeak = signalMax - signalMin; // Maksimum- Min = Amplituudi väärtus topeltvolti = (peakToPeak * 5,0) / 1024; // Teisenda voltideks = Teisenda helisuuruseks

int kiirus = kaart (peakToPeak, 0, 600, 1, 30); // Piirata peakToPeak väärtust vahemikus 0 kuni 600 kuni 1 kuni 30.

// Kui peakToPeak ületab 600, kaotatakse see // Säilitage maksimaalne väärtus.

myStepper.setSpeed (kiirus); // Pöörake samm-mootori kiirust kaardifunktsiooni väärtusele (1-30) myStepper.step (stepsPerRevolution / 100); // Sammumootori liikumisnurk (stepsPerRevolution = 2048) analogWrite (stepsPerRevolution, Speed*3);

Serial.println (kiirus); // Kontrollige mootori kiirust jadamonitoriga

}

}

1. 스텝 모터 연결

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

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

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

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

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

30 의 의 속도 가 진행 되다가 일정 일정 일정 일정 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면 되면 유도함 되면 유도함 유도함 유도함 유도함 유도함 유도함 유도함

ARDUINO CORDING

#include // samm -mootor 의 라이브러리

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

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

oid setup () {

Seriaalne algus (9600); // 시리얼 모니터 시작, 속도 는 9600

}

void loop () {

allkirjata pikk algusMillis = millis (); // 샘플링 시작 allkirjastamata int peakToPeak = 0; // 음성 신호 의 진폭

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

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

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

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

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

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

}

Soovitan: