Innehållsförteckning:

Muire: Ljudkänsliga optiska effekter: 5 steg
Muire: Ljudkänsliga optiska effekter: 5 steg

Video: Muire: Ljudkänsliga optiska effekter: 5 steg

Video: Muire: Ljudkänsliga optiska effekter: 5 steg
Video: ScHoolboy Q - JoHn Muir (Official Music Video) 2024, November
Anonim
Muire: Ljudkänsliga optiska effekter
Muire: Ljudkänsliga optiska effekter

Du kanske har sett ett vågmönster på området där myggnätet överlappar när solen skiner. När du flyttar det närliggande myggnätet eller ändrar vinkeln rör sig också vågmönstret. Om mönstret med regelbundna intervall samt sängnät upprepade gånger överlappar varandra kan detta mönster förekomma var som helst. Detta kallas Muirre (Moire) -fenomenet, och mönstret som förekommer kallas Muirre -mönstret.

PROJECT_MUIRE MÖNSTER

Muir -mönster har många sorters mönster och egenskaper. Detta mönster används för att skapa nio sektorer och 11 olika typer av myrmönster för att producera en mängd olika optiska effekter, beroende på ljudets storlek, på rektangulära ramstrukturramar.

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

PROJECT_MUIRE MÖNSTER

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

Steg 1: Vilka material kommer att behövas?

Vilka material kommer att behövas?
Vilka material kommer att behövas?
Vilka material kommer att behövas?
Vilka material kommer att behövas?
Vilka material kommer att behövas?
Vilka material kommer att behövas?
Vilka material kommer att behövas?
Vilka material kommer att behövas?

1. Moiremönsterets kropp

vit akryl 5T [940 mm x 840 mm]

Akryltryck [akrylfärg]

2. Moiremönster - formade typer

Rotationstyp

en platt form

Hårdvarutyp

Typ av svart hål

Krympning / expanderande effekt

en flammande effekt

3. Elektrisk krets

Arduino Uno x 11

Brödbräda x 1

Stegmotor_28BYJ-48 x 11

ULN2003A x 11

MAX9814 x 11

1. 무 아뢰 패턴 바디

  • T 5T (vit akryl) 940mm X 840mm
  • Black 인쇄 (svart bläck)

2. 무 아뢰 패턴 의 종류

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

3. 회로 구성

  • 아두이 도 나노 보드 (arduino UNO)
  • 스텝 모터 (28BYJ-48)
  • 스텝 모터 드라이브 (ULN2003A)
  • Mikrofon 사운드 센서 (max9814)
  • 빵판 (Brödbräda)
  • 외부 전원 (Strömförsörjning 5V 25A)

Steg 2: Plan figur

Plan figur
Plan figur
Plan figur
Plan figur
Plan figur
Plan figur

1. Plan figurskärning

Vit akryl 5T (940mm x 840mm) X 2

Genomskinlig akryl 5T (940mm x 840mm) X 1

Transparent akryl 3T (940mm x 840mm) X 1

2. Utskrift av plan figur

Akryltryck

1. 도면 커팅

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

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

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

2. 도면 인쇄

아크릴 인쇄

Steg 3: Kretsdiagram

Kretsdiagram
Kretsdiagram
Kretsdiagram
Kretsdiagram
Kretsdiagram
Kretsdiagram

hårdvara Driftsprincip

POWER -> Arduino UNO -> Mikrofonljudförstärkarsensor -> Motorstyrning -> Stegmotor

Steg 4: Kodning

Kodning
Kodning
Kodning
Kodning

Arduino kodning beskrivning

1. Stegmotoranslutning

När vi fick signalen kontrollerade vi antalet steg 180 grader, anslutna till stegmotorn. Ställ in INT -numret för att ansluta till stegmotorns rotationsvinkel.

2. Beroende på ljudstorleksvärdet kan du styra stegmotorns varvtal

Matar ut A0 -stiftet som är associerat med mikrofonsensorn, ställer in det ömma värdet för utmatning på den seriella bildskärmen och om sensorn använder syntaxen för att öka stegmotorns rotationshastighet med 30 när det ömma värdet överstiger 50.

3. Hastighet och rotationsriktning för stegmotorer som reagerar på musik

När hastigheten är 10 grader och det konstanta bullret ökas roterar det vid 30 grader, vilket får de olika rotationsmönstren att se annorlunda ut.

ARDUINO CORDING

#inkludera // stegmotor- bibliotek

const int sampleWindow = 50; // Provtagningstid 50 ms osignerat int värde; // Ljudförstärkningsavkänningssensorvärde mottaget variabelt konstant int stepsPerRevolution = 2048; // Om du sänker det kommer du att sakta ner och öka dig snabbare

Stepper myStepper (stepsPerRevolution, 11, 9, 10, 8); // Stegmotorstift int #1 till Arduino digital 11, 9, 10, 8.

void setup () {

Serial.begin (9600); // Starta seriell bildskärm, hastighet 9600

}

void loop () {

osignerad lång startMillis = millis (); // Provtagningstid osignerad int peakToPeak = 0; // Röstsignalens amplitud

osignerad int signalMax = 0; // Ställ in maximal storlek till noll initialt osignerad int signalMin = 1024; // Ställ in minsta storlek till 1024 från början

while (millis () - startMillis <sampleWindow) {value = analogRead (A0); // hämta ljudsensordata om (värde signalMax) // Maximal storlek Mätningar signalMax = värde; // Maximum Size signalMax save else if (value <signalMin) // Minimum Size Measurements signalMin = value; // Minsta storlek sigmalMin spara}}

peakToPeak = signalMax - signalMin; // Maximal- Min = Amplitudvärde dubbel volt = (peakToPeak * 5.0) / 1024; // Konvertera till volt = Konvertera till ljudstorlek

int Speed = map (peakToPeak, 0, 600, 1, 30); // Begränsa peakToPeak -värdet från 0 till 600 till 1 till 30.

// Om peakToPeak överstiger 600 går det förlorat // Behåll maxvärdet.

myStepper.setSpeed (Speed); // Rotera stegmotorns hastighet till det värde som görs av kartfunktionen (1-30) myStepper.step (stepsPerRevolution / 100); // Stegmotorns rörelsevinkel (stepsPerRevolution = 2048) analogWrite (stepsPerRevolution, Speed*3);

Serial.println (hastighet); // Kontrollera motorns varvtal med seriemonitorn

}

}

1. 스텝 모터 연결

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

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

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

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

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

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

ARDUINO CORDING

#inkludera // stegmotor 의 라이브러리

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

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

oid setup () {

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

}

void loop () {

osignerad lång startMillis = millis (); // 샘플링 시작 osignerad int peakToPeak = 0; // 음성 신호 의 진폭

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

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

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

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

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

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

}

Rekommenderad: