Indholdsfortegnelse:

Muire: Lydfølsomme optiske effekter: 5 trin
Muire: Lydfølsomme optiske effekter: 5 trin

Video: Muire: Lydfølsomme optiske effekter: 5 trin

Video: Muire: Lydfølsomme optiske effekter: 5 trin
Video: ScHoolboy Q - JoHn Muir (Official Music Video) 2024, November
Anonim
Muire: Lydfølsomme optiske effekter
Muire: Lydfølsomme optiske effekter

Du har muligvis set et bølgemønster på det område, hvor myggenettet overlapper hinanden, når solen skinner. Når du flytter det nærliggende myggenet eller ændrer vinklen, bevæger bølgemønsteret sig også. Hvis mønsteret med regelmæssige intervaller samt sengenet gentagne gange overlapper hinanden, kan dette mønster forekomme hvor som helst. Dette kaldes Muirre (Moire) fænomenet, og det mønster der opstår kaldes Muirre mønster.

PROJECT_MUIRE MØNSTER

Muir -mønstre har mange slags mønstre og egenskaber. Dette mønster bruges til at oprette ni sektorer og 11 forskellige typer fortøjningsmønstre til at producere en række forskellige optiske effekter, afhængigt af lydens størrelse, på rektangulære rammestrukturerammer.

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

PROJECT_MUIRE MØNSTER

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

Trin 1: Hvilke materialer skal der bruges?

Hvilke materialer skal der bruges?
Hvilke materialer skal der bruges?
Hvilke materialer skal der bruges?
Hvilke materialer skal der bruges?
Hvilke materialer skal der bruges?
Hvilke materialer skal der bruges?
Hvilke materialer skal der bruges?
Hvilke materialer skal der bruges?

1. Moiremønsterets krop

hvid akryl 5T [940 mm x 840 mm]

Akryltryk [akrylblæk]

2. Moire -mønsterformede typer

Rotationstype

en flad formtype

Hardware type

Sort hul type

Skrump / ekspanderende effekt

en flammende effekt

3. Elektrisk kredsløb

Arduino Uno x 11

Brødbræt x 1

Stepper Motor_28BYJ-48 x 11

ULN2003A x 11

MAX9814 x 11

1. 무 아뢰 패턴 바디

  • T 5T (hvid akryl) 940mm X 840mm
  • Black 인쇄 (sort blæk)

2. 무 아뢰 패턴 의 종류

  • 회 전형
  • 일자형
  • 하드웨어 형
  • 들어가는 효과
  • 수축 / 팽창 하는 효과
  • 효과

3. 회로 구성

  • 아두이 도 나노 보드 (arduino UNO)
  • 스텝 모터 (28BYJ-48)
  • 스텝 모터 드라이브 (ULN2003A)
  • Mikrofon 사운드 센서 (maks9814)
  • 빵판 (brødbræt)
  • 외부 전원 (Strømforsyning 5V 25A)

Trin 2: Planar figur

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

1. Plan figurskæring

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

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

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

2. Plan figurudskrivning

Akryl tryk

1. 도면 커팅

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

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

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

2. 도면 인쇄

인쇄

Trin 3: Kredsløbsdiagram

Kredsløbsdiagram
Kredsløbsdiagram
Kredsløbsdiagram
Kredsløbsdiagram
Kredsløbsdiagram
Kredsløbsdiagram

hardware Driftsprincip

POWER -> Arduino UNO -> Mikrofon lydforstærker sensor -> Motor Dirver -> Stepper motor

Trin 4: Kodning

Kodning
Kodning
Kodning
Kodning

Arduino kodning beskrivelse

1. Trinmotorforbindelse

Når vi modtog signalet, kontrollerede vi antallet af trin 180 grader, der er forbundet til trinmotoren. Indstil INT -nummeret for at oprette forbindelse til trinmotorens rotationsvinkel.

2. Afhængig af lydstørrelsesværdien kontrolleres trinmotorhastigheden

Udsender A0 -stiften, der er knyttet til mikrofonsensoren, indstiller den ømme værdi til output på den serielle skærm, og hvis sensoren bruger syntaksen til at øge trinmotorens rotationshastighed med 30, når ømværdien overstiger 50.

3. Hastighed og rotationsretning for trinmotorer, der reagerer på musik

Når hastigheden er 10 grader, og den konstante støj øges, roterer den ved 30 grader, hvilket får de forskellige rotationsmønstre til at se anderledes ud.

ARDUINO CORDING

#include // stepper motor- Bibliotek

const int sampleWindow = 50; // Prøvetagningstid 50 ms usigneret int -værdi; // Lydforstærkning sensing sensorværdi modtaget variabelkonst int stepsPerRevolution = 2048; // Hvis du sænker det, vil det bremse dig og øge dig hurtigere

Stepper myStepper (stepsPerRevolution, 11, 9, 10, 8); // Stepper motor pin int #1 to Arduino digital 11, 9, 10, 8.

ugyldig opsætning () {

Serial.begin (9600); // Start seriel skærm, hastighed 9600

}

void loop () {

usigneret lang startMillis = millis (); // Prøvetid usigneret int peakToPeak = 0; // Amplitude af stemmesignalet

usigneret int signalMax = 0; // Indstil maksimal størrelse til nul oprindeligt usigneret int signalMin = 1024; // Indstil minimumsstørrelse til 1024 i første omgang

while (millis () - startMillis <sampleWindow) {value = analogRead (A0); // hent lydsensordata, hvis (værdi signalMax) // Maksimal størrelse målinger signalMax = værdi; // Maksimal størrelse signalMax gem andet hvis (værdi <signalMin) // Minimum størrelse målinger signalMin = værdi; // Mindste størrelse sigmalMin spare}}

peakToPeak = signalMax - signalMin; // Maksimum- Min = Amplitudeværdi dobbelt volt = (peakToPeak * 5.0) / 1024; // Konverter til volt = Konverter til lydstørrelse

int Speed = map (peakToPeak, 0, 600, 1, 30); // Begræns værdi for peakToPeak fra 0 til 600 til 1 til 30.

// Hvis peakToPeak overstiger 600, går den tabt // Behold den maksimale værdi.

myStepper.setSpeed (hastighed); // Drej trinmotorens hastighed til den værdi, der er foretaget af kortfunktionen (1-30) myStepper.step (stepsPerRevolution / 100); // Bevægelsesvinkel for trinmotoren (stepsPerRevolution = 2048) analogWrite (stepsPerRevolution, Speed*3);

Serial.println (hastighed); // Kontroller motorens hastighed med den serielle monitor

}

}

1. 스텝 모터 연결

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

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

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

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

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

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

ARDUINO CORDING

#inkluder // trinmotor 의 라이브러리

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

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

oid opsætning () {

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

}

void loop () {

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

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

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

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

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

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

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

}

Anbefalede: