INHOUDSOPGAWE:

Muire: Klankgevoelige optiese effekte: 5 stappe
Muire: Klankgevoelige optiese effekte: 5 stappe

Video: Muire: Klankgevoelige optiese effekte: 5 stappe

Video: Muire: Klankgevoelige optiese effekte: 5 stappe
Video: Aanpassing van de antivirale immuniteit 2024, Desember
Anonim
Muire: Klankgevoelige optiese effekte
Muire: Klankgevoelige optiese effekte

U het moontlik 'n golfpatroon gesien op die gebied waar die muskietnet oorvleuel as die son skyn. As u die muskietnet in die buurt beweeg of die hoek verander, beweeg die golfpatroon ook. As die patroon met gereelde tussenposes sowel as die bednette herhaaldelik oorvleuel, kan hierdie patroon oral voorkom. Dit word die Muirre (Moire) verskynsel genoem, en die patroon wat voorkom, word die Muirre patroon genoem.

PROJECT_MUIRE PATROON

Muir -patrone het baie soorte patrone en eienskappe. Hierdie patroon word gebruik om nege sektore en 11 verskillende soorte moorpatrone te skep om 'n verskeidenheid optiese effekte te produseer, afhangende van die grootte van klank, op reghoekige raamstruktuurrame.

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

PROJECT_MUIRE PATROON

무 아르 패턴 은 다양한 종류 의 과 과 특징 을 가지고 있다. 이 패턴 을 9 개 섹터 와 11 개의 각기 다른 만든 무 패턴 을 이용 하여 의 따라 따라 따라 따라 한다 패턴 패턴 착시 을 연출 한다 한다.

Stap 1: Watter materiaal sal benodig word?

Watter materiaal sal benodig word?
Watter materiaal sal benodig word?
Watter materiaal sal benodig word?
Watter materiaal sal benodig word?
Watter materiaal sal benodig word?
Watter materiaal sal benodig word?
Watter materiaal sal benodig word?
Watter materiaal sal benodig word?

1. Liggaam van die Moire -patroon

wit akriel 5T [940 mm x 840 mm]

Akriel druk [akriel ink]

2. Moire -patroonvormige tipes

Rotasie tipe

'n plat vorm

Hardeware tipe

Swart gat tipe

Krimp / uitbreidende effek

'n vlammende effek

3. Elektriese stroombaan

Arduino Uno x 11

Broodbord x 1

Stapmotor_28BYJ-48 x 11

ULN2003A x 11

MAX9814 x 11

1. 무 아뢰 패턴 바디

  • T 5T (Wit akriel) 940mm X 840mm
  • Black 인쇄 (Swart ink)

2. 무 아뢰 패턴 의 종류

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

3. 회로 구성

  • 아두이 도 나노 보드 (arduino UNO)
  • 스텝 모터 (28BYJ-48)
  • 모터 드라이브 (ULN2003A)
  • Mikrofoon 사운드 센서 (maks. 9814)
  • 빵판 (broodbord)
  • 전원 (Kragtoevoer 5V 25A)

Stap 2: Vlak figuur

Vlak figuur
Vlak figuur
Vlak figuur
Vlak figuur
Vlak figuur
Vlak figuur

1. Vlak figuur sny

Wit akriel 5T (940mm x 840mm) X 2

Deursigtige akriel 5T (940mm x 840mm) X 1

Deursigtige akriel 3T (940mm x 840mm) X 1

2. Vlak figuur drukwerk

Akriel druk

1. 도면 커팅

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

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

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

2. 도면 인쇄

인쇄

Stap 3: Kringdiagram

Stroombaandiagram
Stroombaandiagram
Stroombaandiagram
Stroombaandiagram
Stroombaandiagram
Stroombaandiagram

hardeware Bedryfsbeginsel

KRAG -> Arduino UNO -> Mikrofoon klankversterker sensor -> Motor Dirver -> Stappermotor

Stap 4: Kodering

Kodering
Kodering
Kodering
Kodering

Arduino kodering beskrywing

1. Stepper Motor Connection

Sodra ons die sein ontvang het, beheer ons die aantal stappe 180 grade, gekoppel aan die stapmotor. Stel die INT -nommer in om aan te sluit by die rotasiehoek van die stapmotor.

2. Afhangende van die waarde van die klankgrootte, beheer die stappermotorsnelheid

Die A0 -pen wat met die mikrofoonsensor verband hou, stel die seer waarde in op die seriële monitor, en as die sensor die sintaksis gebruik om die rotasiesnelheid van die stapmotor met 30 te verhoog wanneer die seer waarde 50 oorskry.

3. Spoed en draairigting van stapmotors wat op musiek reageer

As die snelheid 10 grade is en die konstante geraas verhoog word, draai dit teen 30 grade, wat veroorsaak dat die verskillende rotasiepatrone anders lyk.

ARDUINO CORDING

#include // stepper motor- Biblioteek

const int sampleWindow = 50; // Monstertyd 50 ms ongetekende int waarde; // Klankversterkingswaarnemingsensorwaarde ontvang veranderlikonst int stepsPerRevolution = 2048; // As u dit verlaag, sal dit u vertraag en vinniger verhoog

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

ongeldige opstelling () {

Serial.begin (9600); // Begin seriële monitor, snelheid 9600

}

leemte -lus () {

ongetekende lang startMillis = millis (); // Monstertyd ongeteken int peakToPeak = 0; // Amplitude van die stemsein

ongetekende int signalMax = 0; // Stel die maksimum grootte op nul aanvanklik ongetekende int signalMin = 1024; // Stel aanvanklik minimum grootte op 1024

terwyl (millis () - startMillis <sampleWindow) {waarde = analogRead (A0); // haal klanksensordata op as (waarde signalMax) // Maksimum grootte metings signalMax = waarde; // Maksimum grootte signalMax behalwe anders as (waarde <signalMin) // Minimum grootte metings signalMin = waarde; // Minimum grootte sigmalMin bespaar}}

peakToPeak = signalMax - signalMin; // Maksimum- Min = Amplitudewaarde dubbelvolt = (peakToPeak * 5.0) / 1024; // Skakel na volt = Skakel om na klankgrootte

int Speed = map (peakToPeak, 0, 600, 1, 30); // Beperk die peakToPeak -waarde van 0 tot 600 tot 1 tot 30.

// As peakToPeak meer as 600 is, gaan dit verlore // Behou die maksimum waarde.

myStepper.setSpeed (Spoed); // Draai die snelheid van die stapmotor na die waarde wat deur die kaartfunksie (1-30) myStepper.step (stepsPerRevolution / 100) gemaak word; // Bewegingshoek van die stapmotor (stepsPerRevolution = 2048) analogWrite (stepsPerRevolution, Speed*3);

Serial.println (spoed); // Kontroleer die snelheid van die motor met die seriële monitor

}

}

1. 스텝 모터 연결

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

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

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

mikrofoon 0 와 0 0 0 하고 하고 에 후 후 후 후 후 후 후 이 이 이 이 이 이 가 가 가 가 가 가 이 이 이 이 스텝 모터 의 속도 가 제어 되게 함.

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

10 만큼 의 속도 되다가 되다가 되다가 소리 되면 되면 되면 되면 되면 되면 되면 유도함 유도함 되면 되면 유도함 유도함.

ARDUINO CORDING

#sluit // stapmotor 의 라이브러리 in

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

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

oid -opstelling () {

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

}

leemte -lus () {

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

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

terwyl (millis () - startMillis <sampleWindow) {// 데이터 를 50ms 마다 모으는 terwyl 문 waarde = analogRead (A0); // 소리 감지 센서 에 더 데이터 받아 오기 if (value signalMax) // 최대 크기 측정 signalMax = value; // 최대 크기 signalMax 에 저장 anders as (waarde <signalMin) // 최소 크기 측정 signalMin = waarde; // 최소 크기 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); // 스텝 모터 의 스피드 를 위 kaart 함수 로 만들어 준 값 으로 1- 1- (1-30) myStepper.step (stepsPerRevolution / 100); // 스텝 모터 가 움직이는 각 (stepsPerRevolution = 2048) analogWrite (stepsPerRevolution, Speed*3);

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

}

Aanbeveel: